mysqldump: Got Fehler: 1449: Der als Definierer angegebene Benutzer ('root' @ '192.200.1.16') ist bei Verwendung von LOCK TABLES nicht vorhanden
gib bitte die Lösung für den obigen Fehler.
Es ist besser, zuerst mysqldump mit --single-transaction
zu verwenden, wie:
mysqldump --single-transaction -u root -p mydb > mydb.sql
Wenn oben nicht funktioniert, versuche es unter einem.
Sie müssen die Definitionen für diese Prozeduren/Methoden ersetzen, und Sie können den Speicherauszug ohne Fehler generieren.
Sie können dies wie folgt tun:
UPDATE `mysql`.`proc` p SET definer = '[email protected]' WHERE definer='[email protected]'
ich hatte das gleiche Problem, als ich alle Ansichten und Tabellen von einem anderen Host kopierte
schließlich habe ich diese Abfrage verwendet, um alle Definitionen in meiner Datenbank zu ändern
SELECT CONCAT("ALTER DEFINER=`youruser`@`Host` VIEW ", table_name, " AS ",view_definition, ";") FROM information_schema.views WHERE table_schema='your-database-name';
Ich hatte ein ähnliches Problem. Das Problem bestand darin, dass eine Datenbank von einer Instanz zu einer anderen migriert werden sollte. In der Sicherungskopie befanden sich jedoch auch Prozeduren, die auf andere Datenbanken verwiesen.