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

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

DDD
DDDasal
2024-12-03 17:09:18845semak imbas

MySQL Error 1449: How to Fix

Ralat MySQL 1449: Pengguna Ditentukan sebagai Pentakrif

Ralat MySQL 1449, "Pengguna ditentukan sebagai penentu ('web2vi' @'%') tidak wujud," menunjukkan bahawa pengguna yang mencipta objek pangkalan data (seperti paparan, pencetus, atau prosedur) tidak lagi wujud dalam pangkalan data. Ini biasanya berlaku apabila mengeksport dan mengimport objek pangkalan data antara pangkalan data atau pelayan yang berbeza.

Menyelesaikan Ralat

Terdapat dua penyelesaian yang mungkin untuk ralat ini:

1. Tukar DEFINER

  • Untuk paparan: Buat pernyataan ALTER untuk mengemas kini definisi paparan, alih keluar sebarang pernyataan DEFINER.
  • Untuk prosedur tersimpan : Gunakan pernyataan KEMASKINI untuk menukar penentu bagi prosedur tersimpan. Walau bagaimanapun, ini akan menjejaskan semua pangkalan data pada pelayan.

2. Cipta Pengguna Hilang

  • Buat pengguna yang hilang dengan keistimewaan yang sama seperti pengguna asal yang mencipta objek.
  • Berikan kebenaran yang diperlukan kepada pengguna baharu.
  • Gunakan perintah FLUSH PRIVILEGES untuk memuat semula kebenaran cache.

Contoh Menggunakan Pilihan 2

Jika pengguna yang hilang ialah "root", gunakan arahan berikut:

GRANT ALL ON *.* TO 'root'@'%' IDENTIFIED BY 'complex-password';
FLUSH PRIVILEGES;

Sebagai alternatif, untuk MariaDB:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'complex-password';
FLUSH PRIVILEGES;

Selepas mencipta pengguna yang hilang, ralat seharusnya tidak lagi muncul semasa melaksanakan pertanyaan.

Atas ialah kandungan terperinci Ralat MySQL 1449: Bagaimana untuk Membetulkan 'Pengguna yang Ditentukan sebagai Definer Tidak Wujud'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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