输入密码:mysqldump:获取错误:1045:尝试连接时拒绝用户“”@“localhost”(使用密码:否)的访问

8wigbo56  于 2021-07-24  发布在  Java
关注(0)|答案(2)|浏览(331)

我正在尝试编写一个php代码,每天备份我的sql数据库。但是,使用cron作业运行它会在标题中显示上述错误。我的服务器托管在hostgator上,它是一个共享服务器。
dbuser拥有被授予的所有特权。
这是我的密码:

$dbhost = 'localhost';
$dbuser = 'XXXX';
$dbpass = 'XXXX';

$backupFile = $dbname . date("Y-m-d-H-i-s") . '.gz';
$command = "mysqldump --opt -h $dbhost -u $dbuser -p $dbpass $dbname | gzip > $backupFile";
system($command);

任何帮助都将不胜感激!

xoefb8l8

xoefb8l81#

以下代码适用于我:

$DBUSER="XXX";
$DBPASSWD="XXXX";
$DATABASE="XXXXX";
$filename = "backup-" . date("d-m-Y") . ".sql.gz";
$cmd = "mysqldump -u $DBUSER --password=$DBPASSWD $DATABASE | gzip --best > $filename";
passthru( $cmd );

exit(0);
mw3dktmi

mw3dktmi2#

您的问题是“-p”和$dbpass之间的空格。mysqldump命令将“-ppassword”放在一起(对此的响应是“using password:no”)。
尝试:

$command = "mysqldump --opt -h $dbhost -u $dbuser -p$dbpass $dbname | gzip > $backupFile";

相关问题