Подтвердить что ты не робот

Доступ к mysqldump запрещен

Когда я пытаюсь выполнить резервное копирование с помощью mysqldump из ssh, Я запустил следующую команду на машине 10.64.1.1. Он дает следующую ошибку.

mysqldump --user=test -p=password --host=10.64.1.2 --tab=. databasename tablename

mysqldump: Got error: 1045: Access denied for user 'test'@'10.64.1.1' (using password: YES) при попытке подключения

Однако я могу получить доступ к mysql с использованием того же пользователя и пароля.

mysql --user=test -p[password]

Текущий пользователь: [email protected]

SSL: Not in use

Текущий пейджер: stdout

Использование outfile: ''

Использование разделителя: ;

Версия сервера: 5.0.91-50-log Percona SQL Server, Revision 73 (GPL)

Версия протокола: 10

Соединение: 10.64.1.2 via TCP/IP

Обновление:

Если я следую за документом mysql: --password[=password] или -p[password].

Поскольку мой пароль содержит специальный символ @, Mysql не может правильно определить пользователя. Он жалуется:

mysqldump: Got error: 1044: Access denied for user 'test'@'%' to database

4b9b3361

Ответ 1

Я думаю, что вам придется потерять = при использовании -p или сделать это с помощью пароля:

- пароль [= пароль], -p [пароль]

Пароль, используемый при подключении к сервер. Если вы используете короткий (-p), вы не можете иметь пространство между опцией и пароль. Если вы опустите пароль значение после пароля -password или -p в командной строке, вы подсказал один. Указание пароль в командной строке должен быть считается небезопасным. См. Раздел 6.6, "Сохранение пароля".

Ответ 2

Вы должны запустить CMD.EXE в качестве администратора:

Щелкните правой кнопкой мыши на cmd.exe → Запуск от имени администратора и введите команду:

mysqldump -u [имя_пользователя] -p [пароль] -h [ip или имя] yourdatabasename > c:\sqlfile.sql

Он должен работать нормально.

Ответ 3

Я знаю, что тема очень старая, но у меня была такая же проблема. Я понял, что проблема была только специальным символом, используемым в пароле. На самом деле они должны быть экранированы с помощью анти-косой черты: --password=123\@456 или с использованием кодовых слов --password='[email protected]'

Ответ 4

У меня была такая же проблема с пользователем БД, созданным через Plesk. У пользователя есть разрешения для одной базы данных. Если я укажу имя базы данных, я получаю указанную выше ошибку. Если я укажу -A для всех баз данных, дамп будет работать.

Ответ 5

В Windows я разрешил его, создав каталог, а затем сбросив файл *.sql в каталог резервных копий.

C:\backup

Нет проблем с командами:
 Удалите квадратные скобки []

mysqldump -u[username] -p[password] -h[ip] yourdb > C:\backup\sqlfile.sql

Это сработало для меня:)

Ответ 6

Еще одна возможная причина может быть местом, в котором вы пытаетесь создать дамп. Написание mysqldump -u[username] -p yourdb > D:\backup\sqlfile.sql вместо mysqldump -u[username] -p yourdb > sqlfile.sql разрешило мою проблему.

Ответ 7

Для параметров подключения нет = (знак равенства). Вы хотите следующее.

mysqldump -u test -ppassword -h 10.64.1.2 ...

Обратитесь к документам для получения более подробной информации о других параметрах.

Ответ 8

Вот что работает для моей командной строки как admin. не помещайте пароль после -p, вам автоматически предлагается ввести пароль, и он работает.

Ответ 9

Если ошибка отказа в доступе произошла, просто запустите CMD как администратор. Он должен работать правильно!

Ответ 10

Попытка с этой командой

mysqldump --user=root -p --host=127.0.0.1 --databases database_name [database_name_2,...] > dump.sql