Rumah >pangkalan data >tutorial mysql >Bagaimana untuk mengalih keluar Klausa DEFINER daripada MySQL Dumps?
Mengalih keluar Klausa DEFINER daripada MySQL Dumps
Lambakan MySQL selalunya termasuk klausa DEFINER dalam kenyataan CREATE VIEW dan CREATE PROCEDURE, seperti "DEFINER=root @localhost". Klausa ini boleh menjadi tidak diingini dalam senario tertentu. Artikel ini meneroka kaedah untuk mengalih keluar klausa ini daripada fail dump MySQL.
Penyelesaian:
Buka fail dump dalam editor teks dan lakukan carian global dan ganti. Cari semua kejadian "DEFINER=
Edit fail dump menggunakan Perl dengan arahan berikut:
perl -p -i.bak -e "s/DEFINER=\`\w.*\`@\`\d[0-3].*[0-3]\`//g" mydatabase.sql
Ini akan mengalih keluar semua klausa DEFINER daripada fail dump dan membuat sandaran dengan sambungan ".bak".
Paipkan output mysqldump melalui sed untuk mengalih keluar klausa DEFINER:
mysqldump ... | sed -e 's/DEFINER[ ]*=[ ]*[^*]*\*/\*/' > triggers_backup.sql
Arahan ini akan mencipta fail dump baharu bernama "triggers_backup.sql" dengan klausa DEFINER dialih keluar.
Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar Klausa DEFINER daripada MySQL Dumps?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!