Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menyelesaikan Ralat MySQL 1449: 'Pengguna Ditentukan sebagai Definer Tidak Wujud'?

Bagaimana untuk Menyelesaikan Ralat MySQL 1449: 'Pengguna Ditentukan sebagai Definer Tidak Wujud'?

DDD
Lepaskan: 2024-12-10 11:18:11
asal
850 orang telah melayarinya

How to Resolve MySQL Error 1449:

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:

  • Pengguna yang menentukan objek dalam pangkalan data asal tidak wujud pada pangkalan data atau pelayan semasa.

Penyelesaian:

Pilihan 1: Tukar Definer

Untuk Pandangan:

  1. 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';
    Salin selepas log masuk
  2. Salin dan laksanakan ALTER pernyataan.

Untuk Prosedur Tersimpan:

Gunakan sintaks berikut, menggantikan 'yuruser' dengan pengguna yang dikehendaki:

UPDATE `mysql`.`proc` p SET definer = 'user@%' WHERE definer='root@%'
Salin selepas log masuk

Pilihan 2: Buat yang Hilang Pengguna

  1. Buat pengguna yang hilang dengan keistimewaan yang sesuai:

    • Untuk Pelayan Pembangun Setempat:

      GRANT ALL ON *.* TO 'someuser'@'%' IDENTIFIED BY 'complex-password';
      FLUSH PRIVILEGES;
      Salin selepas log masuk
    • Untuk MariaDB:

      GRANT ALL PRIVILEGES ON *.* TO 'someuser'@'%' IDENTIFIED BY 'complex-password';
      FLUSH PRIVILEGES;
      Salin selepas log masuk
  2. Berikan hanya keistimewaan yang diperlukan.

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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan