使用MysqlProxy 实现读写分离
由于没有那么多主机,我只是大体捋顺一下思路-----
实现读写分离首先要有客户端,服务器(主库和从库)
大体配置如下—
主机类型 | 用途 |
---|---|
主机1 | 客户端 |
主机2 | 服务端主库 |
– | – |
主机3 | 服务端 从库 |
主机4 | 提供mysql proxy服务 |
– | – |
- 在主机4上安装proxy
cmd下命令 —sc create “Proxy” diasplayname= “MySQL Proxy” start=“auto” path= “C:/Program Files/MySQL/mysql-proxy-0.8.5/bin/mysql-proxy-svc.exe --proxy-backend-addresses=127.0.0.1:3306”
- 在主机4上配置代理参数,并设置与主机2 和主机3连接
若主机2 为主库,主机3 为从库,配置参数如下
先配置地址 --(要不然怎么连接!!!)
#配置主机3地址--
mysql-proxy --proxy-backend-addresses=****:3306 #****表示主机3地址,端口号一般都是3306
#配置主机2 的地址
mysql-proxy --proxy-read-only-backend-addresses=****:3306 #****表示主机2地址,端口号一般都是3306
- 配置完毕之后,在主机2,3 上创建用户,授予读写库的权限;
grant select ,insert on . to ‘用户名’@‘%’ - 服务端(主机1)连接从库(主机3)
#在主机1上 --4040为端口号
mysql -h 主机3地址 -u 用户名 -p 密码 4040
- 连接成功后,创建数据表 因为从库是可以读写的,主库是可以写的,所以在从库上不存在刚建的表。