mysql注册slave_MySQL - 主从结构.添加新 Slave

主从结构下的 MySQL 备份

=======================

介绍了搭建基本的 MySQL 主从结构.

我们生产环境中会碰到这种情况:备份主机数据,或者添加一台主机。进行双主机的结构。

另外就是在线上中途添加更多的从机。

而我们知道,从机上设置 slave 时要指定 master_log_file 和 master_log_pos,

即指定binlog文件和偏移值。

这也就是说,从机是可以从任意位置的 binlog 文件中进行数据的同步。比如:我们将 binlog

文件备份到其它某处放置,某天,数据库出问题了,需要对某些数据进行数据恢复,这时候从该文件中进行恢复。

添加一个新的从机,可以有两种方式:从 master 机器复制; 另一种是直接从 slave 复制.

复制主库要步骤:

====================

1.将内存中的数据同步到表中.

2.锁定表,不让出现脏数据

3.备份

4.解锁

5.在另一台机器上同步数据,并且设置 master_log_file 和 master-log_pos

命令:

a.同步数据,并锁表: mysql> flush

tables with read lock;

b.记住当前 binlog 的偏移值,后面设置 slave 上的值. show

master status; 记下 file 和 position

命令: [root@li387-161 ~] mysqldump

--all-databases --host=master-1 >

backup.sql

d.解锁 mysql> unlock

tables;

e.同步从机.将 backup.sql 复制到从机上.[root@li387-161 ~] mysql --host=slave-1 <

backup.sql

设置从机:

mysql>change master to master_host =

'192.168.3.119',master_port = 3306,master_user =

'repl_user',master_password='root',master_log_file='master-bin.000005',master_log_pos=194244;

这里的 master_log_file 和 master_log_pos 就是前面第 2 步中记下来的两个值.

开启从机

start slave;

复制从库要步骤:

====================

可以看到,从主库复制会有段时间锁表,这段时间会影响主库的使用。如果我们能直接从从库进行复制,就不会对主库产生影响了。但是,从从库复制要保证的是复制过程中从库上的数据不会发生变化,所以要先停掉从库。

1.停止从库: mysql> stop slave;

2.看当前从库的状态。和前面的看主库状态一样。但现在是从从库复制,所以查看从库状态:mysql>

show slave status;

记下 Relay_Master_Log_file 和 Exec_Master_Log_Pos, 用处和前面一样.

3.备份从库数据.用 mysqldump

4.在新的从库上还原数据

5.设置新从库的 slave 参数.change master to master_host =

'192.168.3.119',master_port = 3306,master_user =

'repl_user',master_password='root',master_log_file='master-bin.000005',master_log_pos=194244;

可以看到,虽然新从库是从从库复制的数据,但实际上 binlog 的 master 还是指向的主库。

另外,这里将 master_log_file 和 master_log_pos 设置成第 2 步中的

Relay_Master_Log_file 和 Exec_Master_Log_Pos

start slave;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值