MySQLデータのバックアップと復元の2つの方法を紹介します.

2134 ワード

mysqldumpを使ってバックアップと復帰を行い、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