MySQL中間件之ProxySQL(1):簡介和安裝


返回ProxySQL系列文章:http://www.cnblogs.com/f-ck-need-u/p/7586194.html

 

1.ProxySQL簡介

之前的文章里,介紹了一個MySQL的中間件:MySQL Router。詳細內容參見:MySQL Router實現MySQL的讀寫分離

這里准備用一個系列來詳細介紹一個能實實在在用在生產環境的MySQL中間件:ProxySQL。它有兩個版本:官方版和percona版,percona版是在官方版的基礎上修改的,添加了幾個比較實用的工具。在我這個系列文章中,我使用的是官方版。

官方站點:官方站點
官方github:官方github
官方手冊:官方手冊
percona ProxySQL手冊:percona ProxySQL手冊

我已經將ProxySQL的官方手冊進行了翻譯,請參見我的github wiki:ProxySQL中文手冊 。我也將翻譯版的markdown文件導出為了pdf,各位可下載:ProxySQL中文手冊.pdf

ProxySQL是用C++語言開發的,雖然也是一個輕量級產品,但性能很好(據測試,能處理千億級的數據),功能也足夠,能滿足中間件所需的絕大多數功能,包括:

  • 最基本的讀/寫分離,且方式有多種。
  • 可定制基於用戶、基於schema、基於語句的規則對SQL語句進行路由。換句話說,規則很靈活。基於schema和與語句級的規則,可以實現簡單的sharding。
  • 可緩存查詢結果。雖然ProxySQL的緩存策略比較簡陋,但實現了基本的緩存功能,絕大多數時候也夠用了。此外,作者已經打算實現更豐富的緩存策略。
  • 監控后端節點。ProxySQL可以監控后端節點的多個指標,包括:ProxySQL和后端的心跳信息,后端節點的read-only/read-write,slave和master的數據同步延遲性(replication lag)。

2.安裝ProxySQL

以 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包或源碼包: https://github.com/sysown/proxysql/releases/tag/v1.4.9

默認情況下,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很少停止或重啟,因為絕大多數配置都可以在線修改。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM