2011-12-09 13 views

答えて

64

Mysqldump

#mysqldump --host=the.remotedatabase.com -u yourusername -p yourdatabasename > /User/backups/adump.sql 
45

でそれを試してみてください?

バックアップにシェルでデータベース全体を、このコマンドを使用することができます。

mysqldump -u [username] -p[password] [databasename] > [filename.sql] 

これは実際には前のコマンドの出力を取り、それを保存する」、と言う>オペレータ、続く一つのコマンドでありますこのファイル。"

注:-pとmysqlパスワードの間にスペースがない場合は、誤植ではありません。ただし、-pフラグは残しておいても、実際のパスワードは空白のままにしておくと、パスワードの入力が求められます。場合によってはパスワードをbashの履歴から削除することをお勧めします。

+6

man mysql:短いオプション形式(-p)を使用すると、 *オプションとパスワードの間に**スペース**があります。 –

+1

-pと実際のパスワードの間にスペースがないことを説明している –

+0

SSHを使用する場合、ダンプファイルをローカルPCに保管するためにSCPまたはSFTPの使用方法を記述する必要があります。質問では – imakin

31

- 単発取引オプションについて何も言及していません。データの一貫性を保証するために、デフォルトでInnoDBテーブルに使用するべきです。この場合:

mysqldump --single-transaction -h [remoteserver.com] -u [username] -p [password] [yourdatabase] > [dump_file.sql] 

これは、ダンプが部分的にトランザクションのバックアップを防止し、他の人から分離されています単一のトランザクションで実行されますを確認します。

たとえば、ギフトをアカウントクレジットで購入できるゲームサーバーがあるとします。あなたはダンプが、これらの操作の間に発生した場合、彼らのアーセナル今

に次回のギヤを追加

  1. 彼らのクレジット
  2. から金額を控除:データベースに対して2つの操作は基本的にあります。バックアップを復元すると、2番目の操作がSQLダンプファイルにダンプされないため、ユーザーは購入したアイテムを失います。

    オプションの間に、mysqldumpでこのオプションを使用しない理由は基本的にあまりありません。

+0

と尋ねられます。 !!! –

+0

いい加減!! –

18

このトピックは、Googleの検索結果の最初のページに表示されるので、ここでは新しいコーナーに役立つヒントです。

また、SQLをダンプし、1行でそれをgzipできます

mysqldump -u [username] -p[password] [database_name] | gzip > [filename.sql.gz] 
2
mysqldump -h [domain name/ip] -u [username] -p[password] [databasename] > [filename.sql] 
+3

本当に '-p [password]'ではなく '-p [password]'ですか? @ArtjomB。 –

+3

はい、パスワードに特殊文字がある場合は、引用符で囲みます: '-p'pa $$ w0rd !!!! '' –

-1

あなたは他の方法を選択することができます。

mysql -u [username] [databasename] 

をなど、あなたのsqlファイルを選択します。

source mydumpdatabase.sql 
+0

これはバックアップの作成方法ではなく、バックアップの復元方法です。 – Quentin

関連する問題