1 2 3 4 | mysql> insert into a select * from a; [root @client101 backup] # innobackupex --user=root --password=kongzhong --defaults-file=/etc/my.cnf --port=3306 --database=login /tmp/backup/ >/tmp/backup/innoback.log 2>&1 # 備份完成后,可以查看備份文件目錄下, xtrabackup_binlog_info 此文件會記錄主上的日志和position號 [root @client101 2014-02-22_07-43-36] # cat xtrabackup_binlog_info |
1 2 | [root @client101 backup] # tar zcvf login.tar 2014-02-22_07-43-36 [root @client101 backup] # scp login.tar 192.168.1.103:/tmp/ |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | [root @client103 tmp] # tar -xf login.tar # 應用日志,保證數據一致 [root @client103 tmp] # innobackupex --apply-log /tmp/2014-02-22_07-43-36/ # 停mysql [root @client103 mysql] # /etc/init.d/mysqld stop # mysql數據目錄下的所有文件移到/tmp/mysqlbackup/下,不然,恢復有問題 # [這里建議只復制數據文件,不建議復制(日志,索引,innodb共享表空間,innodb日志文件,慢日志等)] [root @client103 mysql] # mv /var/lib/mysql/* /tmp/mysqlback # 恢復數據 [root @client103 mysql] # innobackupex --copy-back /tmp/2014-02-22_07-43-36/ # 將原數據庫的內容復制mysql數據目錄(這里就是我認為這個軟件不好的地方,大家也可以給點建議) [root @client103 mysqlback] # mv /tmp/mysqlbac k/* /var/lib/mysql/ # 將數據目錄的權限修改為mysql權限 [root @client103 mysql] # chown mysql. /var/lib/mysql/ # 啟動數據庫 [root @client103 mysql] # /etc/init.d/mysqld start # 驗證數據的一致性:5418272(主上的行) mysql> select count(*) from a; +----------+ | count(*) | +----------+ | 5418272 | +----------+ |
1 2 3 4 5 6 7 8 9 10 11 12 13 | # 剛才回復后,會有個文件:xtrabackup_binlog_pos_innodb --> 此文件記錄了備份時日志文件和pos號 [root @client103 mysql] # cat xtrabackup_binlog_pos_innodb /var/lib/mysql/mysql-101-bin.000008 2423 # 建立主從關系 mysql> change master to master_host= '192.168.1.101' , -> master_user= 'slave' , -> master_password= 'slave' , -> master_log_file= 'mysql-101-bin.000008' , -> master_log_pos=2423; # 開啟同步 mysql> start slave; # 查看同步狀態 mysql> show slave status\G; |