之前的文章里,介绍了一个MySQL的中间件:MySQL Router。详细内容参见:。
这里准备用一个系列来详细介绍一个能实实在在用在生产环境的MySQL中间件:ProxySQL。它有两个版本:官方版和percona版,percona版是在官方版的基础上修改的,添加了几个比较实用的工具。在我这个系列文章中,我使用的是官方版。
官方站点:
官方github:
官方手册:
percona ProxySQL手册:
我已经将ProxySQL的官方手册进行了翻译,请参见我的github wiki: 。我也将翻译版的markdown文件导出为了pdf,各位可下载: 。
ProxySQL是用C++语言开发的,虽然也是一个轻量级产品,但性能很好(据测试,能处理千亿级的数据),功能也足够,能满足中间件所需的绝大多数功能,包括:
以 CentOS 的 rpm 包为例。
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包或源码包:
默认情况下,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很少停止或重启,因为绝大多数配置都可以在线修改。
如对本文有疑问, 点击进行留言回复!!
服务器Centos部署MySql并连接Navicat过程详解
网友评论