一:mysql 同步原理
二:mysql同步方案
三:读写分离方案
四:mysql配置:
master my.cnf 配置
#binlog 格式
binlog-format=ROW
log-bin=mysql-master-bin
#slave更新时是否记录到日志中;
log-slave-updates=true
#开启半同步
rpl_semi_sync_master_enabled=ON
#需要同步的二进制数据库名;
binlog-do-db=wolong
#不同步的二进制数据库名,如果不设置可以将其注释掉;
binlog-ignore-db=information_schema
binlog-ignore-db=mysql
binlog-ignore-db=personalsite
binlog-ignore-db=test
创建用户用于主从同步的数据库
grant replication slave,super,reload on *.* to slave1@192.168.17.201 identified by '123456';
查看主节点状态
mysql> show master status
#在主库上查看已连接的slave主机
mysql> show slave hosts;
#查看所有binlog日志
mysql> show binary logs;
#查看所有binlog 事件
mysql> show binlog events in 'mysql-bin.000003';
slave my.cnf 配置-----
server-id = 2
log-bin=mysql-slave-bin
binlog-do-db=wolong //需要同步的数据库
binlog-ignore-db=information_schema
binlog-ignore-db=mysql
binlog-ignore-db=personalsite
binlog-ignore-db=test
slave 节点修改master 配置
mysql>change master to master_host='192.168.0.101', master_user='slave1', master_password='123456' ,MASTER_AUTO_POSITION = 2887;
Slave 相关操作
#启动slave
mysql>start slave;
mysql>stop slave;
#查看 slave 状态
show slave status\G;
五:读写分离实现 360 Atlas 插件
安装与卸载Atlas
#安装
shell> rpm -i Atlas-2.2.1.el6.x86_64.rpm
#卸载
shell> rpm -e Atlas-2.2.1.el6.x86_64.rpm
安装目录在 /usr/local/mysql-proxy/ 当中
Atlass配置
#Atlas后端连接的MySQL主库的IP和端口,可设置多项,用逗号分隔
proxy-backend-addresses = 127.0.0.1:3306
#Atlas后端连接的MySQL从库的IP和端口,@后面的数字代表权重,用来作负载均衡,若省略则默认为1,可设置多项,用逗号分隔
#proxy-read-only-backend-addresses = 127.0.0.1:3305@1
#用户名与其对应的加密过的MySQL密码,密码使用PREFIX/bin目录下的加密程序encrypt加密。用户密码所有主库和从库都必须一至
pwds = root:/iZxz+0GRoA=
#Atlas监听的工作接口IP和端口
proxy-address = 0.0.0.0:1234
启动与关闭Atlas
./mysql-proxyd test start
./mysql-proxyd test stop
以代理方式进行管理员登录
mysql -h127.0.0.1 -P2345 -uroot -proot
部署方案
name |
ip |
port |
描述 |
master |
192.168.0.101 |
3306 |
主节点 |
slave |
192.168.0.102 |
3306 |
从节点 |
proxy |
192.168.0.101 |
1234 |
代理节点 |
Atlas在线下载地址:
https://dn-shimo-attachment.qbox.me/YwmNO439KX4czxqU/Atlas-2.2.1.el6.x86_64.rpm