Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menyelesaikan Ralat MySQL 1449: 'Pengguna Ditentukan sebagai Definer Tidak Wujud'?
Ralat MySQL 1449: Pengguna yang Ditentukan sebagai Definer Tidak Wujud
Ralat ini biasanya timbul apabila mengimport paparan, pencetus atau prosedur daripada pangkalan data lain di mana pencipta objek tidak lagi wujud.
Punca:
Penyelesaian:
Pilihan 1: Tukar Definer
Untuk Pandangan:
Jana penyataan ALTER menggunakan SQL ini:
SELECT CONCAT("ALTER DEFINER=youruser@host VIEW ", table_name, " AS ", view_definition, ";") FROM information_schema.views WHERE table_schema='your-database-name';
Untuk Prosedur Tersimpan:
Gunakan sintaks berikut, menggantikan 'yuruser' dengan pengguna yang dikehendaki:
UPDATE `mysql`.`proc` p SET definer = 'user@%' WHERE definer='root@%'
Pilihan 2: Buat yang Hilang Pengguna
Buat pengguna yang hilang dengan keistimewaan yang sesuai:
Untuk Pelayan Pembangun Setempat:
GRANT ALL ON *.* TO 'someuser'@'%' IDENTIFIED BY 'complex-password'; FLUSH PRIVILEGES;
Untuk MariaDB:
GRANT ALL PRIVILEGES ON *.* TO 'someuser'@'%' IDENTIFIED BY 'complex-password'; FLUSH PRIVILEGES;
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat MySQL 1449: 'Pengguna Ditentukan sebagai Definer Tidak Wujud'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!