mysq通过ProxySQL实现读写分离
常见的读写分离应用
Oracle:mysql-proxy
qihoo:Atlas
美团:dbproxy
网易:cetus
amoeba
阿里巴巴:cobar 基于amoeba研发
Mycat:基于cobar实现
ProxySQL
ProxySQL:MySQL中间件
- 版本:
- 官方版
- percona版:percona公司基于官方版本用C++语言开发,性能更优
- 特点:具有中间件所需的绝大多数功能,包括:
- 多种方式的读/写分离
- 定制基于用户、基于schema、基于语句的规则对SQL语句进行路由
- 缓存查询结果
- 后端节点监控
ProxySQL安装:
-
准备:
- 实现读写分离前,先实现主从复制
注:slave服务器 配置文件中必须为 read_only=1,ProxySQL通过read_only=1参数,确定哪个是salve服务器
- 实现读写分离前,先实现主从复制
-
基于YUM仓库安装:
[ root@centos ~]# cat <<EOF | tee /etc/yum.repos.d/proxysql.repo
[proxysql_repo]
name= ProxySQL YUM repository
baseurl=http://repo.proxysql.com/ProxySQL/proxysql-1.4.x/centos/\$releasever
gpgcheck=1
gpgkey=http://repo.proxysql.com/ProxySQL/repo_pub_key
EOF
-
ProxySQL的组成:
- 服务脚本:/etc/init.d/proxysql
- 配置文件:/etc/proxysql.cnf
- 主程序:/usr/bin/proxysql
- 基于SQLITE的数据库文件:/var/lib/proxysql/
-
启动ProxySQL:service proxysql start
- 启动后会监听两个默认端口:
- 6032:ProxySQL的管理端口
- 6033:ProxySQL对外提供服务的端口
- 启动后会监听两个默认端口:
-
使用mysql客户端连接到ProxySQL的管理端口6032,默认管理员用户和密码都是admin
[ root@weiying ~]# mysql -uadmin -padmin -p6032 -hhost
- ProxySQL实现读写分离:
内置了SQLite小型数据库,里面存储了proxysql的设置
- 内置的数据库说

本文介绍了如何通过ProxySQL实现MySQL的读写分离。首先,讲解了ProxySQL作为MySQL中间件的角色及其特性,包括其读/写分离、监控和缓存等功能。接着,详细阐述了ProxySQL的安装步骤,强调了在实现读写分离前需确保主从复制配置正确。在配置ProxySQL时,重点讨论了如何添加和管理后端节点,设置读写组,并创建路由规则以确保SELECT语句被正确路由到读组,而写操作则路由到写组。最后,通过测试验证了读写分离的正确性。
最低0.47元/天 解锁文章
237

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



