MySQLデータのバックアップと復元の2つの方法を紹介します.
2134 ワード
mysqldumpを使ってバックアップと復帰を行い、mysqldumpを使ってバックアップを行います.
Selinux(プロファイル/etc/selinux/config)を無効にすることができます.
タタコマンドで圧縮、解凍する際に以下のパラメータを追加することもできます.
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