MySQLサーバーのバックアップ

MySQLサーバーのバックアップ

MySQLサーバー上のすべてのデータベース、ユーザーなどをバックアップしたいと思います。

このコマンドに触れましたが、mysqldumpこのように使用できると思いますか? (リモートサーバーをローカルシステムにバックアップしようとしています)

mysqldump -h web-server.com -u root -p root --all-databases > "/backups/mysql/`date +%Y%m%d`.sql"

しかし:

  1. 何が起こっているのかほとんど知らずに実行するのは怖いです。 (私たちはMySQLデータベースに多くのデータを持っており、これを失うべきではありません!)したがって、最初の質問はこれが私が望む効果を得ることができるということです。リモートサーバー(場所など)にログインし、すべてのmysqlデータベースをローカルシステムのパスにバックアップしますかweb-server.com/backups/mysql

  2. 私はこれがMySQLサーバーの障害が発生した場合、各データベースのすべてのユーザー情報をそのまま維持するとは信じていません。ユーザー情報はMySQLデータベースに別のデータベースとして保存されていますか?それともサーバー自体の機能ですか?この場合、ユーザーデータを含むようにデータベースをバックアップする他の方法はありますか?

答え1

1)はい、これはすべてのデータベースの内容を一連のINSERT SQLコマンドにダンプすることによってmysql < backup.sql--all-databasesそして簡単に検索することはできません。

mysqldump使用する他のオプションがあるかどうかを確認するには、マニュアルページを確認することをお勧めします。

2)ユーザー情報とアクセス制御はそれを含むmysqlデータベースに保存されます。--all-databases

答え2

リモートで実行していて、各データベースに対して別々のダンプファイルが必要な場合は、mysqldumpバックアップするデータベースのリストを維持する必要があります。データベースサーバーでローカルで実行している場合は、データディレクトリ(たとえば)mysqldumpにあるデータベースを繰り返すことができます。リモートで実行する必要がある場合は、SSHを介して接続し、データベースのリストを取得してから、切断してデータベース名で実行するスクリプトを作成できます。mysql/var/lib/mysqlmysqldumpmysqldump

--all-databases単一のデータベース名を指定せずにそれを使用せず、そのオプションをさらに使用します--add-drop-database。これには、データベースが存在しない場合はデータベースを作成するか、存在する場合はデータベースを削除して再生成するためのSQL文がダンプファイルに含まれます。からman 1 mysqldump

--add-drop-database
  Add a DROP DATABASE statement before each CREATE DATABASE statement.      
  This option is typically used in conjunction with the --all-databases 
  or --databases option because no CREATE DATABASE statements are written
  unless one of those options is specified.

これはデータベースサーバー上でローカルに実行するように設計された高速で汚れたスクリプトで、変数で指定されたデータベースをバックアップして$DB各データベースのダンプファイルを生成します。また、15日以上前のダンプファイルも削除します。

#!/bin/sh

PATH=/bin:/usr/bin
DATE="`date +%Y%m%d`"
DB="mysql drupal drupaldev"
DUMP_DIR="/u01/mysql_dump"

for db in `echo $DB`
 do
  mysqldump -u root --password=password --databases --add-drop-database $db > $DUMP_DIR/$db.$DATE.dmp
  gzip -9 $DUMP_DIR/$db.$DATE.dmp
  find $DUMP_DIR/* -mtime +14 -exec rm -f '{}' \;
done

関連情報