MySQL/MariaDB数据库的PROXY实现读写分离
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
一.ProxySQL概述
1>.各家互联网公司读写分离的解决方案
mysql-proxy:Oracle
https://downloads.mysql.com/archives/proxy/
Atlas:Qihoo
https://github.com/Qihoo360/Atlas/blob/master/README_ZH.md
dbproxy:美团
https://github.com/Meituan-Dianping/DBProxy
Cetus:网易乐得
https://github.com/Lede-Inc/cetus
Amoeba:
https://sourceforge.net/projects/amoeba/
Cobar:阿里巴巴,
Amoeba的升级版
Mycat:基于Cobar
http://www.mycat.io/
ProxySQL:
https://proxysql.com/
2>.什么是ProxySQL
MySQL中间件,两个版本:官方版和percona版。 percona版是基于官方版基础上修改,C++语言开发,轻量级但性能优异(支持处理千亿级数据),具有中间件所需的绝大多数功能,包括: 多种方式的的读/写分离 定制基于用户、基于schema、基于语句的规则对SQL语句进行路由 缓存查询结果 后端节点监控 官方站点: https://proxysql.com/
官方手册: https://github.com/sysown/proxysql/wiki
二.ProxySQL安装
1>.基于yum仓库安装
[[email protected] ~]# 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_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 [[email protected] ~]# [[email protected] ~]# cat /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 [[email protected] ~]# [[email protected] ~]#
2>.基于RPM下载安装
3>.ProxySQL组成
三.ProxySQL实现读写分离