MySQLは、最も広く使用されているデータベースシステムの1つであり、多数の効果的なコマンドラインユーティリティが付属しています。たとえば、MySQLデータベースのバックアップを取り、それを復元することは、mysqldumpコマンドを使用して簡単になります。今日は、参考のために10個の効果的なmysqldumpコマンドの例を紹介します。
1。 MySQLデータベースのバックアップを取る
Mysqldumpを使用すると、要求されたときにパスワードを入力したり、コマンドと一緒にパスワードを指定したりできます。以下は、両方の方法のコマンド例です。
$ mysqldump -u root -p [root_password] [database_name]> save_mydb.sqlor $ mysqldump -u root --password =[root_password] [database_name]> save_mydb.sql
2。単一データベースのバックアップ
次の例では、単一のデータベースのバックアップを取ることができます。データベース名を「RequestTracker」と仮定します。
$ mysqldump -u root --password =mydbpassword RequestTracker> RT_dump.sql
3。複数のデータベースを一度にバックアップする
複数のデータベースのバックアップを同時に取得する場合は、以下に示すように、データベースを識別してmysqldumpコマンドに渡します。この例では、データベースはRequestTracker、RequestTracker_2、RequestTracker_3です。
$ mysqldump -u root –-password =mydbpassword RequestTracker RequestTracker_2 RequestTracker_3> db_dump.sql
4。すべてのデータベースを一度にバックアップする
興味深いことに、1つのコマンドですべてのデータベースをバックアップできます。
$ mysqldump -u root --password =mydbpassword --all-databases> all_database.sql
5。データベースの特定のテーブルのみをバックアップする
データベース全体をバックアップしたくないので、特定のテーブルだけが必要ですか? RequestTrackerデータベースのuser_tableと言います。これがコマンドです
$ mysqldump -u root --password =mydbpassword RequestTracker user_table> user_table_rt.sql
6。データベースの復元
MySQLにログイン
$ mysql -u root -p
データベースの作成
mysql> create database RequestTracker; Query OK、1行が影響を受ける(0.02秒)
データベースを復元します
source RequestTracker.sql;
注:mysqlは RequestTracker.sqlを検索します 現在のディレクトリ内のファイル。そうでない場合は、ファイルの絶対パスを指定する必要があります。
source /tmp/RequestTracker.sql;
7。データベースを復元する別の方法
mysql -u root --password =mydbpassword RequestTracker8。リモートサーバー上のデータベースを一度にバックアップおよび復元する
1台のサーバーにデータベースをバックアップし、それをリモートサーバーに復元するために送信する場合は、以下のコマンドを実行します。次の例では、「RequestTracker」という名前のデータベースを現在のサーバーにバックアップし、リモートサーバーに「RequestTracker1」として復元します。
mysqldump -u root --password =mydbpassword RequestTracker | mysql -u root --password =myremotepass --host =remote_hostname -C RequestTracker1注意:上記のコマンドは、データベース「RequestTracker1」がリモートサーバーにすでに存在していることを前提としています。
9。 Cronを使用して定期的なバックアップを実行します
定期的にバックアップを取るための簡単なシェルスクリプトを書いてみましょう。以下のコードをコピーして、「 backup.sh」というファイルに貼り付けます。 「。
#!/ bin / shtoday_date =$(date + "%Y%m%d")mysqldump -u root --password =mydbpassword RequestTracker> /backup/RT_dump_$today_date.sqlそれに応じて、ユーザー名、パスワード、データベースを変更することを忘れないでください。
以下のようにcronを作成します
0 0 * * * /bin/sh /backup/backup.sh上記のcronは、毎日12mignightに実行されます。
10。その他のmysqldumpオプション
以下のコマンドを使用して、より多くのmysqldumpオプションを取得します
$ mysqldump --help
Linux