ОШИБКА 1044 (42000): доступ запрещен для пользователя '' @ 'localhost' - PullRequest
0 голосов
/ 02 апреля 2019

Я работаю над сценарием Perl, который использует mysqldiff для сравнения двух баз данных, а затем применяет изменения к первой базе данных.Я использую команду:

mysqldiff --host=$dbHost --user=$dbUser -A $dbName1 $dbName2

Я получаю разницу, но после этого всегда возникает следующая ошибка:

ERROR 1044 (42000): Access denied for user ''@'localhost' to database <NAME OF THE DATABASE>

Как я могу решить эту проблему?

1 Ответ

0 голосов
/ 02 апреля 2019

Правильно ли я понимаю, что вы получаете по крайней мере следующее сообщение?

nПрименить вышеуказанные изменения к $ db0 [y / N]?

Если да, похоже, что auth_args из MySQL :: Diff не работает. Вы можете попробовать использовать альтернативные заявления:

GetOptions (\% opts, "help |?", "Debug | d: i", "apply | A", "batch-apply | B", "keep-old-tables | k", "keep-old-columns | c", "no-old-defs | n", "only-both | o", "table-re | t = s", "host | h = s", "port | P = s", "socket | s = s", "user | u = s", "password | p: s", "host1 = s", "port1 = s", "socket1 = s", "user1 = s", "password1: s", "host2 = s", "port2 = s", "socket2 = s", "user2 = s", "password2: s", "толерантный | i", "одиночная транзакция | S", "списки таблиц | l" )

(см. Исходный код)

Если это не работает, попробуйте запустить его в режиме отладки с помощью

-d, --debug

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...