返回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不多中止或重啓,由於絕大多數配置均可以在線修改。