Назад | Перейти на главную страницу

Как: mysqldump cron на godaddy

У меня есть база данных MySql, которую я хочу ежедневно выполнять резервное копирование в файл. (Который я позже скачаю для резервного копирования вне сервера).

Я установил следующую команду в своем crontab (запускается ежедневно):

mysqldump -–opt -Q -h [myhost] -u myusername -–password=***** ebooklibrary > /fullpath.../_db_backups/openelibrary.sql

Имя базы данных электронная библиотека.

Я постоянно получаю эту ошибку:

mysqldump: Got error: 1045: Access denied for user 'myusername'@'97.74.144.139' (using password: NO) when trying to connect

Как я могу это исправить или сделать правильно, чтобы mysqldump будет работать ежедневно?

Спасибо.


Используя оболочку, работала следующая команда:

 mysql -h myhost -u myusername -p"*****" ebooklibrary

Полагаю, дело в том, как вы указываете пароль. Пытаться

mysqldump –opt -Q -h [myhost] -u myusername –p"*****" ebooklibrary > /fullpath.../_db_backups/openelibrary.sql

При указании пароля в командной строке необходимо использовать

--password="xxx"

скорее, чем

-password="xxx"

Обратите внимание на двойное тире в первой команде.

РЕДАКТИРОВАТЬ: Вы знаете, является ли сервер БД тем же сервером, что и веб-сервер? Если да, то пробовали ли вы пропустить хост? С этой мыслью, пробовали ли вы также --host = 127.0.0.1 (только что попробовал это на моей машине - это кажется очень анальным относительно правильного имени хоста)

У этой ошибки есть 2 вероятные причины.

1) В вашем пароле есть специальные символы, например !%# и т.д., если это так, вы можете избежать символа, поставив перед ним обратную косую черту '\'.

2) Этот пользователь действительно не имеет разрешения на доступ с IP-адреса, указанного в ошибке. Решение состоит в том, чтобы либо предоставить этому пользователю права с указанного IP-адреса, либо не пытаться использовать этот хост для доступа к mysql.

Вы также можете использовать следующую команду, если у вас есть доступ к CLI сервера (если вы не укажете хост, mysql попытается подключиться к localhost):

mysqldump -uUSER -pPASS ebooklibrary > /fullpath.../_db_backups/openelibrary.sql

или вы можете использовать следующий синтаксис, если выполняете команду удаленно.

mysqldump -h IP -uUSER -pPASS ebooklibrary > /fullpath.../_db_backups/openelibrary.sql

Вы должны убедиться, что у вас есть необходимые права для выполнения дампа, как указано в mysqldump страница.