如何:godaddy 上的 mysqldump cron

如何:godaddy 上的 mysqldump cron

我有一个 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每天运行吗?

谢谢。


使用 shell 时,以下命令有效:

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

答案1

我认为问题在于您指定密码的方式。尝试

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

答案2

在命令行上指定密码时,需要使用

--password="xxx"

而不是

-password="xxx"

注意第一个命令上的双破折号。

编辑:您知道数据库服务器是否与 Web 服务器是同一台服务器吗?如果是,您是否尝试过省略主机?考虑到这一点,您是否也尝试过 --host=127.0.0.1(我刚刚在我的计算机上尝试过 - 它似乎对正确的主机名非常挑剔)

答案3

此错误可能有两个原因。

1) 您的密码包含诸如!%#等特殊字符,如果是这种情况,您可以在密码前放置反斜杠“\”来转义该字符。

2) 此用户确实没有错误中提到的 IP 地址的访问权限。解决方案是从指定的 IP 向该用户提供权限,或者不要尝试使用该主机进行 mysql 访问。

如果您有权访问服务器 CLI,您还可以使用以下命令(如果您未指定主机,mysql 将尝试连接到本地主机):

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

或者如果您正在远程执行该命令,则可以使用以下语法。

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

您应该确定您具有执行转储所需的权限,如mysqldump页。

相关内容