mysql读写分离笔记

主数据库执行命令:

show master status;

得到结果
mysql-bin.000009
2123

从数据库执行命令

stop slave;

change master to
master_host='47.95.247.135',
master_port=3306,
master_user='root',
master_password='root',
master_log_file='mysql-bin.000009',
master_log_pos=4353;

start slave;

show slave status;

--回滚

set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;

从数据库更改,或者主数据库删除更改了从数据库没有的记录,则会引起Slave_SQL_Running  为:NO

重复执行以上操作,设置master_log_file和master_log_pos

主数据库my.ini

server-id=1

log-bin=mysql-bin
#从库会基于此log-bin来做复制,多个就在下面再写一个
binlog-do-db=hsf
binlog-do-db=smarthome
#用于读写分离的具体数据库,这里我创建了mytest作测试
binlog_ignore_db=mysql
#不用于读写分离的具体数据库
binlog_ignore_db=information_schema
#和binlog-do-db一样,可以设置多个

从数据库my.ini

server-id=2

log-bin=mysql-bin
#从库会基于此log-bin来做复制
replicate-do-db=hsf
replicate-do-db=smarthome
#用于读写分离的具体数据库,这里我创建了mytest作测试

中间件

mysql-proxy.conf

[mysql-proxy]
admin-username=root
admin-password=root
admin-lua-script=C:/soft/mysql-proxy-0.8.5-windows-x86-32bit/lib/mysql-proxy/lua/admin.lua
proxy-backend-addresses=47.95.247.135:3306
proxy-read-only-backend-addresses=47.93.253.194:3306
proxy-lua-script=C:/soft/mysql-proxy-0.8.5-windows-x86-32bit/share/doc/mysql-proxy/rw-splitting.lua
log-file=C:/soft/mysql-proxy-0.8.5-windows-x86-32bit/log/mysql-proxy.log
log-level=debug
daemon=true
keepalive=true

bat启动文件install.bat

mysql-proxy -P 172.17.118.190:6217 --defaults-file=C:softmysql-proxy-0.8.5-windows-x86-32bitinmysql-proxy.conf

原文地址:https://www.cnblogs.com/blogzys/p/10118077.html