mysql架构 三级主从同步_MySQL主从架构之Master-Slave主从同步

MySQL复制

MySQL复制是指将主库上的DDL和DML操作通过二进制日志传到从库上,使主库和从库上的数据保持同步

复制原理:

主服务器将更新写入二进制日志文件,并维护文件的一个索引来跟踪日志循环。这些日志可以记录发送到从服务器的更新。当一个从服务器连接主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置。从服务器接受从那时起发生的任何更新,然后封锁并等待主服务器通知新的更新。

MySQL主从架构:优点:故障时候可以切库;读写分离;从库执行其他业务例如备份。

1:Master-Slave    主从同步

2:Master-Slave-Slave……级联

3:Master-Master   互为主备

【主从同步】Master-Slave

fea44b6b3b47505ca2e1d6162efa6db3.png

注:需要主库打开log-bin ;设置server-id

#mysqldump -uroot -p --all-databases --master-data=2 --routines --events --quick>

--master-data=2 表示需要记录导出数据当时主库的binlog位置

--routines 表示导出存储过程

--events 表示导出事件

--quick 表示让服务端不将结果集一次发送,而是分批发送,可减轻压力

注:--master-data后默认是锁库的,可确保数据一致性,即导出数据和binlog位置的一致。

对于Innodb引擎,可增加--single-transaction取消锁库并利用Innodb事务特性确保数据一致

#创建同步账号

#grant replication slave, replication client on *.* to replication@'%' identified by 'gechong';

#确定主库同步点

可以在Master上执行 SHOW MASTER STATUS; 也可以查看刚才导出的文件

#从库同步数据

#mysql -uroot -p < Master_data_20140920.sql

#从库CHANGE

#CHANGE MASTER TO MASTER_LOG_FILE='mysql.000002', MASTER_LOG_POS=525, master_host='10.1.29.10', master_port=3306, master_user='replication', master_password='gechong';

#查看从库状态

#SHOW SLAVE STATUS \G

如果Slave_IO_Running 和 Slave_SQL_Running都为yes时,则Master-Slave搭建成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值