MySQL读写分离
一、MySQL读写分离中间件
二、maxscale读写分离配置
2.1、配置主从+主从
rpm -ivh maxscale..rpm
2.2、改配置
[maxscale]
threads=1/auto
[server1]
type=server
address=192.168.168.60
port=3306
protocol=MySQLBackend
[server2]
type=server
address=192.168.168.61
port=3306
protocol=MySQLBackend
[MySQL Monitor]
type=monitor
module=mysqlmon
servers=server1, server2
user=scalemon
passwd=123456
monitor_interval=10000
[Read-Write Service]
type=service
router=readwritesplit
servers=server1, server2
user=maxscale
passwd=123456
max_slave_connections=100%
[MaxAdmin Service]
type=service
router=cli
[Read-Write Listener]
type=listener
service=Read-Write Service
protocol=MySQLClient
port=4006
[MaxAdmin Listener]
type=listener
service=MaxAdmin Service
protocol=maxscaled
socket=default
2.3、MySQL主库中添加授权用户
mysql> grant replication slave,replication client on *.* \
to scalemon@'%' identified by "123456";
添加路由用户:监控登录MySQL的用户和密码是否正确
mysql> grant select on mysql.* to maxscale@"%" identified by "123456";
2.4、启动maxscale服务
[root@maxscale ~]
[root@maxscale ~]
PID TTY TIME CMD
17930 ? 00:00:00 maxscale
[root@maxscale ~]
tcp6 0 0 :::4099 :::* LISTEN 17930/maxscale
tcp6 0 0 :::4006 :::* LISTEN 17930/maxscale
2.5、测试登录并查看监控状态
[root@62 ~]
MaxScale> list servers
Servers.
-------------------+-----------------+-------+-------------+--------------------
Server | Address | Port | Connections | Status
-------------------+-----------------+-------+-------------+--------------------
server1 | 192.168.168.60 | 3306 | 0 | Master, Running
server2 | 192.168.168.61 | 3306 | 0 | Slave, Running
2.6、客户端登录验证
client ~]
MySQL [(none)]> select @@hostname;
+------------+
| @@hostname |
+------------+
| 61 |
+------------+