使用mysqldump备份来实现在线添加新的从机
更多博文请关注:没有伞的孩子必须努力奔跑 (www.xuchanggang.cn)
在上一篇博文中,提到使用xtrabackup工具来实现热备,这篇我通过mysqldump来实现在线添加从机
# 使用mysqldump进行备份,使用--master-data参数:此值有1和2,大家可以自己google以下 [root@client101 ~]# mysqldump -uroot -pkongzhong --opt --hex-blob --single_transaction -R --default-character-set=utf8 --master-data=2 login>/tmp/login.sql # 再开一个端口,插入数据 mysql> insert into a select * from a; # 备份完毕后,我们查看刚才的备份发现,master的日志文件和pos号 [root@client101 ~]# grep -i "change master" /tmp/login.sql -- CHANGE MASTER TO MASTER_LOG_FILE=‘mysql-101-bin.000007‘, MASTER_LOG_POS=107; # 我刚才在备份的时候也插入数据的,我再看看主上实际的日志文件和pos号 mysql> show master status; +----------------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +----------------------+----------+--------------+------------------+ | mysql-101-bin.000007 | 532 | | | +----------------------+----------+--------------+------------------+ # 现在我们利用备份还原,利用备份的里的pos号,看能否追上主
[root@client101 ~]# scp /tmp/login.sql 192.168.1.100:/tmp
[root@client100 tmp]# mysql -uroot -pkongzhong login </tmp/login.sql # 修改配置文件:/etc/my.cnf replicate-wild-do-table=login.% innodb_file_per_table=1 report-host=192.168.1.100 innodb_lock_wait_timeout=1 expire_logs_days= 3 max_binlog_size= 100M server-id=100 # 重新启动数据库 [root@client103 mysql]# /etc/init.d/mysqld restart
# 备份文件里有备份时的master日志文件和pos号 [root@client100 ~]# grep -i "change master" /tmp/login.sql -- CHANGE MASTER TO MASTER_LOG_FILE=‘mysql-101-bin.000007‘, MASTER_LOG_POS=107; # 建立主从关系 mysql> change master to master_host=‘192.168.1.101‘, -> master_user=‘slave‘, -> master_password=‘slave‘, -> master_log_file=‘mysql-101-bin.000007‘, -> master_log_pos=107; # 开启同步 mysql> start slave; # 查看同步状态 mysql> show slave status\G;
本文出自 “没有伞的孩子必须努力奔跑” 博客,请务必保留此出处http://634871.blog.51cto.com/624871/1364141
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。