环境: 192.168.100.210
192.168.100.104
192.168.100.208
192.168.100.106
说明: 210,104作为mysql数据库.
208作为mysql-proxy.
106作为测试机器.
相关软件下载:
lua
www.lua.org
mysql-proxy
http://mysql.cdpa.nsysu.edu.tw/Downloads/MySQL-Proxy/
1. 在208上安装lua
#tar zxvf lua-5.1.4.tar.gz -C /usr/local
# cd /usr/local
#mv lua-5.1.4 lua
#cd lua
#make //make之后可以看到系统列表,下面的
命令要用到
#make linux //我这里是linux
#make install
2.安装mysql-proxy
# tar -zxvf mysql-proxy-0.6.0-linux-rhas4-x86.tar.gz -C /usr/local/
# cd /usr/local/
# mv mysql-proxy-0.6.0-linux-rhas4-x86 mysql-proxy
# export PATH=$PATH:/usr/local/mysql-proxy/sbin/
#mysql-proxy --proxy-read-only-backendaddresses=192.168.100.210:3306
--proxy-backend-addresses=192.168.100.104:3306
--proxy-lua-script=/home2/mysql-proxy-0.6.0-linux-rhas4-x86/share/mysql-proxy/rw-splitting.lua &
3.在210,104上设置权限
mysql> grant all privileges on backup.* to
[email=backup@'%']backup@'%'[/email]
identified by 'shenxun';
//这里给个账号backup,密码shenxun,读写操作的数据库是backup.
4.进行测试.
用106连接208的mysql-proxy:
/usr/bin/mysql -u backup -pshenxun –P4040 –h 192.168.100.208 –D backup
创建一个表
Create table haha(id int,name char(6));
然后我们到210和104上去看下数据库的情况,看到210是没有刚才
写入的数据库表,而104是有刚才写入的数据表的.
现在我们把上面的命令修改下
mysql-proxy --proxy-backend-addresses=192.168.100.210:3306 --proxy-backend- addresses=192.168.100.104:3306 --proxy-lua-script=/home2/mysql-proxy-0.6.0-linux-rhas4- x86/share/mysql-proxy/rw-splitting.lua &
然后我们在208上再重新建个表
Create table xixi(id int,name char(6));
这个时候再到210和104上去看下数据库的情况,发现2个数据库都有刚才写入的数据
库表.
可以充分说明我们的数据库读写分离已经实现了
通过mysql-proxy完成mysql读写分离
2020-03-28 13:43MYSQL教程网 Mysql
前不久做了下mysql读写分离的实验,也参考了很多的资料,谢谢哪些提供资料的兄弟
延伸 · 阅读
- 2022-03-11MySQL的索引你了解吗
- 2022-03-10面试中老生常谈的MySQL问答集锦夯实基础
- 2022-03-10浅谈如何保证Mysql主从一致
- 2022-03-10Ubuntu18.04(linux)安装MySQL的方法步骤
- 2022-03-09MySQL让人又爱又恨的多表查询
- 2022-03-09MySQL Server 层和存储引擎层是怎么交互数据的?
- Mysql
新建一个MySQL数据库的简单教程
这篇文章主要介绍了新建一个MySQL数据库的简单教程,是MySQL入门学习中的基础知识,需要的朋友可以参考下 ...
- Mysql
解决Linux下Tomcat向MySQL插入数据中文乱码问题
本文给大家介绍的是如何解决win平台下开发的项目移植到Linux平台后,向MySQL插入数据时中文出现乱码的问题,非常的简单实用,有需要的小伙伴可以参考下...
- Mysql
为什么MySQL选择Repeatable Read作为默认隔离级别
关于MySQL的事务隔离级别,相信很多读者都不陌生,那么,你知道为什么Oracle选择RC作为默认级别,而MySQL要选择RR作为默认的隔离级别吗...
- Mysql
图文详解MySQL中的主键与事务
这篇文章主要给大家介绍了关于MySQL中主键与事务的相关资料,主键与事务是我们使用mysql中经常遇到的,文中通过图文以及实例代码介绍的很详细,需要的...
- Mysql
MAC下修改mysql默认字符集为utf8的方法
本文主要介绍了如何修改MAC版mysql默认字符集为utf8,如果你的MAC版mysql字符乱码,可以参考一下这篇文章 ...
- Mysql
MySQL5.6解压版服务无法启动之系统错误1067问题
这篇文章主要介绍了MySQL5.6解压版服务无法启动—系统错误1067问题及解决方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考...
- Mysql
MySQL下的RAND()优化案例分析
这篇文章主要介绍了MySQL下的RAND()优化案例,包括对JOIN查询和子查询的优化,需要的朋友可以参考下 ...
- Mysql
mysql 8.0.16 winx64安装配置方法图文教程
这篇文章主要为大家分享了mysql 8.0.16 安装配置方法图文教程,具有一定的参考价值,感兴趣的朋友可以参考一下 ...