MySQLデータのバックアップと復元の2つの方法を紹介します。
2169 ワード
Msqldumpを使ってバックアップと復元を行います。
mysqldumpを使ってバックアップします。
mysqldumpを使って復元します。
データベースファイルのバックアップ
データベースファイルを復元
故障チェック
エラーメッセージ
Selinux(プロファイル/etc/selinux/config)を無効にすることができます。
タタコマンドで圧縮、解凍する際に以下のパラメータを追加することもできます。
mysqldumpを使ってバックアップします。
mysqladmin stop-slave -uroot -p
mysqldump --all-databases > fulldb.dump
mysqladmin start-slave -uroot -p
tar -czf /tmp/dbdump.tar.gz ./fulldb.dump ./mysql-relay-log.info
私たちはデータベース全体のdumpをバックアップする以外に、relay-logs.infoファイルをバックアップする必要があります。このファイルには以下のような情報が含まれています。
/var/lib/mysql/mysql-relay-bin.000002
720
mysql-bin.0000023968
赤色のハイライトは、現在のMySQLホストサーバ上のバイナリログの実行状態を指定します。このデータはサーバから復元する際に重要です。mysqldumpを使って復元します。
mysql -uroot -p < /root/dbdump.db
stop slave;
CHANGE MASTER TO MASTER_HOST='192.168.10.201', MASTER_USER='slave_user', MASTER_PASSWORD='abc@DEF', MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=3968;
start slave;
show slave status\G
状態において、次の2行があれば、サーバーから正常に動作していることを示します。
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
データベースファイル(Raw Data)を使ってバックアップと復元を行います。データベースファイルのバックアップ
service mariadb stop
tar --selinux --acls --xattrs -czPf /root/dbbackup.tar.gz /var/lib/mysql/
service mariadb start
注意:赤いパラメータは、ターゲットサーバに還元されてから使えなくなるのを防ぐために、selinux属性と他のACL属性をtarに同時にバックアップさせます。データベースファイルを復元
service mariadb stop
tar --selinux --acls --xattrs -xzPf /root/dbbackup.tar.gz -C /
service mariadb start
また、データファイルを復元する場合も、これらのパラメータを指定する必要があります。故障チェック
エラーメッセージ
150401 9:58:06 [ERROR] mysqld: File '/var/lib/mysql/mysql-bin.index' not found (Errcode: 13)
150401 9:58:06 [ERROR] Aborting
Selinux設定をチェックする
ll -Z mysql-bin.index
-rw-rw----. mysql mysql unconfined_u :o bject_r:var_lib_t:s0 mysql-bin.index
解決方法Selinux(プロファイル/etc/selinux/config)を無効にすることができます。
SELINUX=disabled
修正後は再起動が必要です。タタコマンドで圧縮、解凍する際に以下のパラメータを追加することもできます。
tar --selinux --acls --xattrs