$ mysqldump -h localhost -u username -p database_name > backup_db.sql
上記の行を使用できますが、サーバー内の1つのデータベースのみです。すべてのデータベースを1つのバックアップファイルに完全にバックアップできますか?
または、このプロセスをシリアル化するコマンドはありますか?
以下のようなもの(私は追加しました-すべてがおそらく間違っています):
$ mysqldump -u username -h localhost -p -all | gzip -9 > backup_db.sql.gz
ありがとう。
--all-databasesオプションを使用すると、すべてのデータベースのすべてのテーブルがダンプされます。
mysqldump -u username -h localhost -p --all-databases > all_databases.sql
さらに、パスワードがプロセスリストに表示されないようにmy.cnfファイルを設定することをお勧めします。 これをチェックしてください 。それはあなたを助け、あなたのシステムにアクセスするかもしれない他の誰かによってあなたのSQLDBがハッキングされるのを防ぎます。
ロック時間が長くなる可能性があるため、「すべてのデータベース」のバックアップ用のLVMスナップショットをお勧めします。ただし、使用法の文字列または「man mysql<^M>/all
"そのような提案をするのは無責任かもしれないと私は感じます。
~$ mysqldump
Usage: mysqldump [OPTIONS] database [tables]
OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR mysqldump [OPTIONS] --all-databases [OPTIONS]
For more options, use mysqldump --help