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; |