Hello. I'm trying to write a PHP script to backup a MySQL database:
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 );
When I run it from the shell terminal, I get this:
[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
Okay, now what I really don't understand is why it is calling the database as my password. If I point my web browser at the file, it runs just fine. Does anyone know what I should be doing? Personally, I really don't care if it's PHP, Python, CGI, etc., just so long as it can run on an Apache server.
Thanks.