MySQL データベースをバックアップするための PHP スクリプトを作成しようとしています。
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 );
シェルターミナルから実行すると、次のようになります。
[スティングレイ]$ php /[絶対パス]/db_backup.php
パスワードを入力してください: [ I INPUT PASSWORD ]
mysqldump: エラーが発生しました: 1044:データベースの選択時に、データベース '[ PASSWORD ]' へのユーザー '[ USERNAME ]'@'208.113.128.0/255.255.128.0' のアクセスが拒否されました
さて、私が本当に理解できないのは、データベースをパスワードとして呼び出す理由です。Web ブラウザーでファイルを指定すると、問題なく動作します。私が何をすべきか知っている人はいますか?個人的には、Apache サーバーで実行できる限り、PHP、Python、CGI などのいずれであってもかまいません。
ありがとう。