2011-12-20 10 views
7

こんにちは私はmysqlコマンドラインクライアントからバックアップを取ろうとしています。 mysqldumpを使ってユーザ名とパスワードでバックアップを取っています。 以下は、私がデータベースをバックアップするために使用しているコマンドです。コマンドが正しいように思えるけどmysqlコマンドラインでmysqldumpを使ってバックアップを取っているときのエラー

mysql> mysqldump -u username -p password databasename > backup.sql; 

私はまだ、私はエラーを取得しています、次のエラーに

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that 
corresponds to your MySQL server version for the right syntax to use near 'mysql 
dump -u username -p password fms > backup.sql' at line 1 

を取得しています。 mysqlコマンドラインからバックアップを取る方法は他にありますか教えてください。

ありがとうございます。

答えて

16

mysqldumpはMySQLコマンドではありませんが、コマンドラインユーティリティです。シェルコマンドラインから呼び出す必要があります。

+0

シェルコマンドラインにアクセスするにはどうすればよいですか? – harshakasireddy

+0

SSH経由で 'mysql -u username -ppassword'コマンドを実行するのと同じ方法です。 – Timur

+0

おかげで再生しました。 – harshakasireddy

3

問題は、Linuxシェルの代わりにMySQLプロンプトからコマンドを実行していることです。 mysqlコマンドラインを終了し、OSシェルからコマンドを実行します(最後にセミコロンを削除してください)

+0

再生していただきありがとうございます。 – harshakasireddy

2

コマンドでは、-ppasswordの間にスペースを入れることはできません。また、mysqldumpはmysqlシェルではなくコマンドラインで実行する必要があります。

mysqldump -u username -ppassword databasename > backup.sql 
+0

私もそれを試しましたが、使用していない同じエラーが表示されています。コマンドラインでmysqldumpを実行するには?私にお知らせください。再生していただきありがとうございます。 – harshakasireddy

+0

ああ!ラメの質問ラメの答え –

2

あなたのコマンドラインでこれを試してみてください、私は他の人が私がthis questionを見るまで言うしようとしていたものを理解していませんでした。

問題は、「mysql.exe」にアクセスしてmysqldumpを入れることができないことです。 "mysqldump.exe"は別のファイルなので、OSのコマンドラインからパラメータを渡して実行する必要があります。

ので、(Windows上で、もちろん)DOSで、あなたがディレクトリにいることをsupose: "C:\ xamppの\ mysqlの\ binに"、そしてあなたは、次のコマンドを呼び出すことができます。

mysqldump -u root -p test > test.sql 

あなたは明示的にファイルを実行していることがわかりますので、あなたはまた、このようにそれを呼び出すことができます。

:それはより多くのクリスタルクリーンであることができれば、あなたはDOSでその行を見ることが

.\mysqldump.exe -u root -p test > test.sql 

c:\xampp\mysql\bin>.\mysqldump.exe -u root -p test > test.sql 

Ps:そのコードでは、実行後にパスワードを知らせるように求められます。つまり、ダンプ行にパスワードを直接入力すると、「mysqldump.exe」というメッセージが表示されます。

Ps 2:ルートユーザーのデフォルト設定(空のパスワード)を使用している場合は、パスワードの入力を求められたら「Enter」を押すだけで済みます。

Ps 3: "test.sql"は "mysqldump.exe"と同じディレクトリに作成されます。この例では、 "C:\ xampp \ mysql \ bin"にあります。

1

タイプこれはあなたのコマンドラインインターフェースでMySQLにはありませんコマンドライン:それから、例えば

mysqldump -u username -ppassword databasename > backup.sql 

、ユーザ名が「ルート」である場合は、パスワードが「ABCDEFG」で、データベース名が「MyDatabaseという」です構文は次のとおりです。

mysqldump -u root -pabcdefg mydatabase > backup.sql 

backup.sqlあなたは任意の名前を持つことができますので、バックアップが格納されるファイルの名前です。

+0

は、既存の回答に何も追加しません。 – hawk

関連する問題