- 主机配置与用途
| 主机名(ip) | 用途 |
|---|---|
| server1(172.25.42.1) | 主库(master) |
| server2(172.25.42.2) | 从库(slave) |
| server4(172.25.42.4) | proxy |
-
读写分离的实现
-
建立mysql的主从复制
主从复制查看该片博客:https://mp.youkuaiyun.com/mdeditor/97509351#

-
主库授予用户权限并测试连通性
mysql> grant select,insert,update on . to ‘repl’@‘172.25.42.%’;

主库建立数据库westos并建立表usertb,然后插入数据
mysql> create database westos;
mysql> use westos;
mysql> create table usertb(username varchar(10) not null, passwd varchar(15) not null);

在从库上查看是否可以查看到数据库与插入数据

从库可以查看到主库插入的数据,证明连通性没有问题。 -
配置proxy
- 解压
[root@server4 ~]# tar zxf mysql-proxy-0.8.5-linux-el6-x86-64bit.tar.gz -C /usr/local
[root@server4 ~]# cd /usr/local
[root@server4 local]# ls
bin etc games include lib lib64 libexec mysql-proxy-0.8.5-linux-el6-x86-64bit sbin share src
[root@server4 local]# mv mysql-proxy-0.8.5-linux-el6-x86-64bit/ mysql-proxy

2.进入mysql-proxy并创建配置目录,日志目录与配置文件
[root@server4 mysql-proxy]# ls
bin include lib libexec licenses share
[root@server4 mysql-proxy]# mkdir logs conf
[root@server4 mysql-proxy]# cd conf/
[root@server4 conf]# vim mysql-proxy.conf

[mysql-proxy]
user=root
proxy-address=172.25.42.4:3306
proxy-read-only-backend-addresses=172.25.42.2:3306##从库只能读取数据
proxy-backend-addresses=172.25.42.1:3306##写只能在主数据库
proxy-lua-script=/usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua##指定分离参数脚本
log-file=/usr/local/mysql-proxy/logs/mysql-proxy.log##日志文件
pid-file=/usr/local/mysql-proxy/logs/mysql-proxy.pid##PID文件
log-level=debug##日志级别
plugins=proxy##插件运行方式
daemon=true##以daemon方式运行
keepalive=true##实时检测
3.修改脚本参数

- 测试
1.从机关闭备份(不然会一直进行数据同步,无法查看现象)

2.远程登陆数据库执行写操作
登陆数据库

插入数据

- 查看数据情况
主库查看

从库查看

本文详细介绍MySQL数据库的读写分离配置过程,包括主从复制的设置、用户权限的授予及测试,以及通过mysql-proxy实现读写分离的具体步骤。文章还提供了从库数据同步、proxy配置与测试的实操指南。
316

被折叠的 条评论
为什么被折叠?



