Mengalih keluar Klausa DEFINER daripada MySQL Dumps
MySQL dump mengandungi klausa DEFINER, yang menentukan pengguna dan hos yang mencipta objek pangkalan data. Walau bagaimanapun, anda mungkin ingin mengalih keluar klausa ini untuk keselamatan atau sebab lain.
Mengalih keluar Klausa DEFINER Menggunakan Penyuntingan Teks
Satu kaedah ialah mengedit fail dump secara manual menggunakan penyunting teks. Cari baris yang mengandungi klausa DEFINER (cth., "DEFINER=root@localhost") dan gantikannya dengan rentetan kosong ("") atau sebarang nilai yang dikehendaki.
Menggunakan Perl untuk Mengalih Keluar Klausa DEFINER
Perl boleh digunakan untuk mengalih keluar klausa daripada tempat pembuangan. Gunakan arahan berikut, menggantikan "mydatabase.sql" dengan nama fail dump:
perl -p -i.bak -e "s/DEFINER=\`\w.*\`@\`\d[0-3].*[0-3]\`//g" mydatabase.sql
Output Paip untuk Mengalih Keluar Klausa DEFINER
Anda juga boleh mengalih keluar klausa dengan menyalurkan output dump melalui arahan seperti sed:
mysqldump ... | sed -e 's/DEFINER[ ]*=[ ]*[^*]*\*/\*/' > triggers_backup.sql
Arahan ini akan menggantikan klausa DEFINER dengan asterisk (*). Anda boleh memperibadikan corak penggantian selanjutnya mengikut keperluan anda.
Nota:
Atas ialah kandungan terperinci Berikut ialah beberapa tajuk berdasarkan artikel yang disediakan, diformatkan sebagai gaya soal-jawab: Pilihan 1 (Langsung dan Berfokus): * Bagaimana untuk mengalih keluar Klausa DEFINER daripada MySQL Dumps? Pilihan 2 (Lebih Spesifik):. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!