2016-12-20 2 views
0

良い日、mysqldumpはローカルホストから空のダンプを生成します

私はbashを使ってmysql dbのダンプを生成しようとしています。

私はそれが私のbashのどの部分0キロバイト(空)

でダンプファイルが作成され、このlink

#!/bin/bash 
# Database credentials 
user="root" 
password="" 
host="localhost" 
db_name="sampledb" 
# Other options 
backup_path="C:\_backup" 
date=$(date +"%d-%b-%Y") 
# Set default file permissions 
umask 177 
# Dump database into SQL file 
mysqldump --user=$user --password= --host=$host $db_name > $backup_path/$db_name-$date.sql 

を使用しますが.SHサンプルを作成したが、問題ありますか? (私の、このようなものを作成するための最初の時間を)

更新されたコード

UPDATE

私がそれを実行しています 以来、私は私の環境変数でのmysqldumpのパスを追加する必要があると思われますwin7。

ありがとうございます。

+0

実際にエラーメッセージが表示される環境でスクリプトを実行していますか?どこに保存したり送信したりするように設定されていないcronジョブですか? –

+0

git bashを使って実行します。 –

+0

まあ...文字通り 'user =" doesnotexist "'を使用するとどうなりますか? –

答えて

0

多分、問題はあなたのパスワードから来ていますか? $ password = ""に保存しようとするべきだと思います。

0

bashスクリプト(おそらくlinux/unixの味)を使用していますが、Windowsのパスはcygwinにありますか? cygwinでも、スクリプトの先頭にシバンが必要です(#!/ bin/bash)。とにかくあなたは、コマンドラインにパスワード変数を追加(またはそれを埋め、私はそれは意図的だと思う)していない、試してみてください。

mysqldump --user=$user --password=$password --host=$host $db_name > $backup_path/$db_name-$date.sql 

あなたのumask変数は何もしていません。このようなファイルでパスワードを使用することは安全ではない可能性があります。適切なユーザーにファイルへのアクセスを制限してください。

+0

私はgit bashを使用しています。 私が読んだ記事の1つは、null/noneとしてlocalhostのパスワードに関するものです。 –

+0

rootユーザーのパスワードを設定していない場合は、mysqldump呼び出しで '--password'は必要ありません。しかし、あなたは**本当に**あなたのrootパスワードを設定し、このインスタンスでroot以外のユーザを使うべきです。 – siloko

関連する問題