Я пытаюсь написать скрипт для резервного копирования базы данных MySQL: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);
Когда я запускаю его из терминала оболочки, я получаю это:
[stingray]$ php /[ABSOLUTE PATH]/db_backup.php
Enter password: [I INPUT PASSWORD]
mysqldump: Got error: 1044: Access denied for user '[USERNAME]'@'208.113.128.0/255.255.128.0' to database '[PASSWORD]' when selecting the database
Хорошо, теперь я действительно не понимаю, почему он вызывает базу данных в качестве моего пароля. Если я укажу свой веб-браузер на файл, он будет работать нормально. Кто-нибудь знает, что я должен делать? Лично мне все равно, если это PHP, Python, CGI и т. Д., Только если он может работать на сервере Apache.
Спасибо.
Спасибо, что сделал трюк! –
Я так много раз бил головой о стену :) –