Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Hapus klausa DEFINER dari MySQL Dumps

Saya rasa tidak ada cara untuk mengabaikan penambahan DEFINER s ke tempat pembuangan. Tetapi ada cara untuk menghapusnya setelah file dump dibuat.

  1. Buka file dump di editor teks dan ganti semua kemunculan [email protected] dengan string kosong ""

  2. Edit dump (atau pipa output) menggunakan perl :

    perl -p -i.bak -e "s/DEFINER=\`\w.*\`@\`\d[0-3].*[0-3]\`//g" mydatabase.sql
    
  3. Pipakan output melalui 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. Bagaimana cara saya meminta bantuan untuk mengoptimalkan &memperbaiki kueri di MySQL?

  2. Bagaimana cara menghapus semua tabel MySQL dari baris perintah tanpa izin basis data DROP?

  3. Bagaimana cara menghapus karakter emoji dari string?

  4. Bagaimana cara membuat file CSV dari database dengan Python?

  5. Nilai integer salah:'' untuk kolom 'id' di baris 1