innobackupex 在线热备份 从库创建过程 (最新)
kevin.Zhu 发布于:2013-1-16 12:34 分类:Mysql 有 10 人浏览,获得评论 0 条
1. 安装
debian/ubuntu安装 :
在/etc/apt/source.lst中添加 以 下
#mysql热备份工具 xtrabackup
deb http://repo.percona.com/apt precise main
deb-src http://repo.percona.com/apt precise main
sudo apt-key adv --keyserver keys.gnupg.net --recv-keys 1C4CBDCDCD2EFD2A
apt-get install percona-xtrabackup
2. 测试环境:
主DB:192.168.1.101
从DB1:192.168.1.102
从DB2:192.168.1.103(准备在线添加做为从机的mysql数据库)
数据库版本:mysql 5.1.61(select version())
3. 部署: 主DB,线上数据正常写入的同时实施备份
innobackupex --user=root --password=teach327 --defaults-file=/etc/my.cnf --port=3306 --database=login /tmp/backup/ >/tmp/backup/innoback.log 2>&1
备份全库可以用
innobackupex --user=root --password=teach327 --defaults-file=/etc/my.cnf /tmp/backup/ >/tmp/backup/innoback.log 2>&1
# 备份完成后,可以查看备份文件目录下, xtrabackup_binlog_info 此文件会记录主上的日志和position号
4. 将备份生成的文件 在从机还原备份
innobackupex --apply-log /tmp/backup/2014-02-22_07-43-36/
5. 关闭从机mysql
6. 备份从机mysql目录 mv /var/lib/mysql /var/lib/mysql_bak
7. 还源 innobackupex --copy-back /tmp/backup/2014-02-22_07-43-36/
8. 修正文件所属 chown mysql:mysql /mysql目录
9. cp 原数据库备份 cp /var/lib/mysql_bak/* /var/lib/mysql
10. 删除 ib_logfile*
11. cp /tmp/backup/2014-02-22_07-43-36/ibdata1 /var/lib/mysql
12. cat /cat /tmp/backup/2014-02-22_07-43-36/xtrabackup_binlog_info 找到binlog的同步位置
13. 设置从库
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;
14. 查看从库状态 show slave status\G;