MySQL主从介绍
MySQL主从又叫做Replication、AB复制。 简单讲就是A和B两台机器做主从后,在A上写数据,另外一台B也会跟着写数据,两者数据实时同步的 MySQL主从是基于binlog的,主上须开启binlog才能进行主从。 binlog就是记录的MySQL的写入操作,主要就是创建,插入,修改,删除等等操作 binlog文件是一个二进制文件,无法直接cat查看。 主从过程大致有3个步骤 1)主将更改操作记录到binlog里 2)从将主的binlog事件(sql语句)同步到从本机上并记录在relaylog里,relaylog又称为中继日志 3)从根据relaylog里面的sql语句按顺序执行 主上有一个log dump线程,用来和从的I/O线程传递binlog 从上有两个线程,其中I/O线程用来同步主的binlog并生成relaylog,另外一个SQL线程用来把relaylog里面的sql语句落地。
主从配置
实验环境说明:
主服务器配置:
1:修改/etc/my.cnf配置文件
# 在/etc/my.cnf文件内容中添加下面两行配置
server-id=1028
log_bin=abcopy
2:修改完配置文件后,启动或者重启mysqld服务
3:备份mysql库,然后恢复为 testbase 库,用于后面的测试
4:创建用于同步数据的用户
5:锁表,备份所有需要同步的库
6:查看主服务器的状态
从服务器配置
1:修改/etc/my.cnf 文件
# 在 /etc/my.cnf文件内容中添加下面的这一行配置就OK了。
server-id=1030 # 注:server-id 不能和主服务器相同
2:修改完后重启mysql服务
3:将主服务器备份数据库的文件拷贝到从服务器上
4:创建对应的数据库,恢复数据
5:配置从服务器参数
6:查看主从同步状态是否正常
测试主从同步:
*千万不要在从服务器上做任何有关写入的操作,
在从服务器做写入操作会导致主从数据不一致,严重的需要重新做主从
扩展连接
mysql-proxy类似的产品有:
mycat 基于阿里的开源软件cobar,官网 www.mycat.io
MYCAT功能解析