Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Usuń klauzulę DEFINER ze zrzutów MySQL

Nie sądzę, aby można było zignorować dodanie DEFINER s do wysypiska. Istnieją jednak sposoby na ich usunięcie po utworzeniu pliku zrzutu.

  1. Otwórz plik zrzutu w edytorze tekstu i zastąp wszystkie wystąpienia [email protected] z pustym ciągiem ""

  2. Edytuj zrzut (lub potokuj dane wyjściowe) za pomocą perl :

    perl -p -i.bak -e "s/DEFINER=\`\w.*\`@\`\d[0-3].*[0-3]\`//g" mydatabase.sql
    
  3. Prześlij dane wyjściowe przez sed :

    mysqldump ... | sed -e 's/DEFINER[ ]*=[ ]*[^*]*\*/\*/' > triggers_backup.sql
    


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. jqGrid - Unikalny identyfikator dla nowego wiersza

  2. Jak mogę uzyskać pełną listę wszystkich zapytań aktualnie uruchomionych na moim serwerze MySQL?

  3. Problemy ze składnią zapytania mysql Node.js UPDATE WHERE

  4. czy istnieje funkcja mysql do dekodowania jednostek html?

  5. Jak mam poradzić sobie z --secure-file-priv w MySQL?