我正在尝试编写一个 PHP 脚本来备份 MySQL 数据库:
if ( $db_resource = mysql_connect($db_server, $db_username, $db_password, $db_newlink) )
{
if ( mysql_select_db( $db_name, $db_resource ) )
{
$backupFile = $db_name."_".date( "Y-m-d-H-i-s" ).".gz";
$command = "mysqldump --opt -h ".$db_server." -u ".$db_username." -p ".$db_password." ".$db_name." | gzip > ".$db_save_dir."/".$backupFile;
system( $command );
}
}
mysql_close( $db_resource );
当我从 shell 终端运行它时,我得到了这个:
[黄貂鱼]$ php /[绝对路径]/db_backup.php
输入密码:[我输入密码]
mysqldump:出现错误:1044:选择数据库时,用户 '[ USERNAME ]'@'208.113.128.0/255.255.128.0' 对数据库 '[ PASSWORD ]' 的访问被拒绝
好的,现在我真的不明白为什么它将数据库称为我的密码。如果我将网络浏览器指向该文件,它运行得很好。有谁知道我应该做什么?就个人而言,我真的不在乎它是 PHP、Python、CGI 等,只要它可以在 Apache 服务器上运行即可。
谢谢。