返回ProxySQL系列文章:http://www.cnblogs.com/f-ck-need-u/p/7586194.htmlhtml
以前的文章里,介绍了一个MySQL的中间件:MySQL Router。详细内容参见:MySQL Router实现MySQL的读写分离。mysql
这里准备用一个系列来详细介绍一个能实实在在用在生产环境的MySQL中间件:ProxySQL。它有两个版本:官方版和percona版,percona版是在官方版的基础上修改的,添加了几个比较实用的工具。在我这个系列文章中,我使用的是官方版。git
官方站点:官方站点
官方github:官方github
官方手册:官方手册
percona ProxySQL手册:percona ProxySQL手册github
我已经将ProxySQL的官方手册进行了翻译,请参见个人github wiki:ProxySQL中文手册 。我也将翻译版的markdown文件导出为了pdf,各位可下载:ProxySQL中文手册.pdf 。sql
ProxySQL是用C++语言开发的,虽然也是一个轻量级产品,但性能很好(据测试,能处理千亿级的数据),功能也足够,能知足中间件所需的绝大多数功能,包括:shell
以 CentOS 的 rpm 包为例。vim
cat <<EOF | tee /etc/yum.repos.d/proxysql.repo [proxysql_repo] name= ProxySQL baseurl=http://repo.proxysql.com/ProxySQL/proxysql-1.4.x/centos/\$releasever gpgcheck=1 gpgkey=http://repo.proxysql.com/ProxySQL/repo_pub_key EOF
而后直接安装便可。后端
yum -y install proxysql
或者直接去github上下载rpm包或源码包: https://github.com/sysown/proxysql/releases/tag/v1.4.9centos
默认状况下,rpm安装的ProxySQL只提供了SysV风格的服务脚本/etc/init.d/proxysql
。因此,可经过该脚本管理ProxySQL的启动、中止等功能。缓存
[root@xuexi ~]# /etc/init.d/proxysql --help Usage: ProxySQL {start|stop|status|reload|restart|initial}
例如:
service proxysql start # 启动proxysql service proxysql stop # 中止proxysql service proxysql status # 查看proxysql状态
若是想要经过systemd管理ProxySQL,可在/usr/lib/systemd/system/proxysql.service
中写入以下内容:
[root@xuexi ~]# vim /usr/lib/systemd/system/proxysql.service [Unit] Description=High Performance Advanced Proxy for MySQL After=network.target [Service] Type=simple User=mysql Group=mysql PermissionsStartOnly=true LimitNOFILE=102400 LimitCORE=1073741824 ExecStartPre=/bin/mkdir -p /var/lib/proxysql ExecStartPre=/bin/chown mysql:mysql -R /var/lib/proxysql /etc/proxysql.cnf ExecStart=/usr/bin/proxysql -f Restart=always
通常来讲,ProxySQL不多中止或重启,由于绝大多数配置均可以在线修改。