更多博文请关注:没有伞的孩子必须努力奔跑 (www.xuchanggang.cn)mysql
在上一篇博文中,提到使用xtrabackup工具来实现热备,这篇我经过mysqldump来实如今线添加从机linux
# 使用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;