mysql读写分离(maxscale + 主从同步 ) 首先要配置主从同步
把客户端访问数据库的读请求和写请求,分别请求不同数据库服务器去响应。
减轻单台数据库服务器的并发访问压力
1.使用代理机器运行读写分离功能的服务
2.装包
3.修改配置文件
4.启动服务
5.测试 在客户主机上访问服务器
1.下载包 wget https://downloads.mariadb.com/MaxScale/2.1.2/centos/7/x86_64/maxscale-2.1.2-1.centos.7.x86_64.rpm
2.rpm -ivh maxscale-------
3.修改配置 vi /etc/maxscale.cnf
4. 配置服务器
几台服务器,就配置几个,修改里面的端口
5.设定用户名称和密码,并在servers 中添加服务名称
6.到两台主机上面分别给这个用户进行授权
创建监控用户(检查服务状态和主从同步结构状态)
grant replication slave,replication client on *.* to scalemon@'%' identified by "123456";
创建路由用户(检查客户端访问数据库服务时,使用的连接用户是否在数据库上存在)
grant select on mysql.* to maxscale@'%' identified by "123456";
7.设置管理的端口
8. 启动服务 maxscale --config=/etc/maxscale.cnf
9.进入到maxscale 中maxadmin -uadmin -pmariadb -P4007 默认密码是 mariadb
10.查看服务 list servers
11、进行测试是否成功完成读写分离
①在服务器上面添加访问数据库授权用户
grant all on *.* to student@"%" identified by "123456";
②在maxscale 主机上面执行 mysql -ustudent -p -P4006 进入到mysql命令中
也就是说,访问数据的时候,访问的是插件的服务器,端口是4006
那么怎么测试,插件服务器的数据,就是从库的数据呢? 我们在从库中增加一条数据,看第三方插件库中有没有?结果是,有,但是宿主机上面没有。