ProxySQL:簡介和安裝(1)
阿新 • • 發佈:2020-10-12
1.ProxySQL簡介
ProxySQL 是一款可以實際用於生產環境的 MySQL 中介軟體,它有官方版和 percona 版兩種。percona版是在官方版的基礎上修改的,添加了幾個比較實用的工具。本文以官方版本為例。
ProxySQL是用C++語言開發的,雖然也是一個輕量級產品,但效能很好(據測試,能處理千億級的資料),功能也足夠,能滿足中介軟體所需的絕大多數功能,包括:
- 最基本的讀/寫分離,且方式有多種。
- 可定製基於使用者、基於schema、基於語句的規則對SQL語句進行路由。換句話說,規則很靈活。基於schema和與語句級的規則,可以實現簡單的sharding。
- 可快取查詢結果。雖然ProxySQL的快取策略比較簡陋,但實現了基本的快取功能,絕大多數時候也夠用了。此外,作者已經打算實現更豐富的快取策略。
- 監控後端節點。ProxySQL可以監控後端節點的多個指標,包括:ProxySQL和後端的心跳資訊,後端節點的read-only/read-write,slave和master的資料同步延遲性(replication lag)。
2.ProxySQL安裝
方法一:直接下載rpm包安裝
- 軟體包下載地址:https://github.com/sysown/proxysql/releases
- 本次下載版本:
proxysql-2.0.14-1-centos7.x86_64.rpm
- 下載好所需的軟體包後,直接安裝即可
yum -y localinstall proxysql-2.0.14-1-centos7.x86_64.rpm
方法二:儲存庫安裝
1.新增yum源配置
cat <<EOF | tee /etc/yum.repos.d/proxysql.repo
[proxysql_repo]
name= ProxySQL YUM repository
baseurl=https://repo.proxysql.com/ProxySQL/proxysql-2.0.x/centos/\$releasever
gpgcheck=1
gpgkey=https://repo.proxysql.com/ProxySQL/repo_pub_key
EOF
2.安裝ProxySQL:
yum install proxysql 或者指定想要的版本 yum install proxysql-version
3.安裝後檢查
[root@mysql8 ~]# proxysql -V
ProxySQL version 2.0.14-70-g7b02b19, codename Truls
[root@mysql8 ~]# proxysql --help
High Performance Advanced Proxy for MySQL
USAGE: proxysql [OPTIONS]
OPTIONS:
-c, --config ARG Configuration file
-D, --datadir ARG Datadir
-e, --exit-on-error Do not restart ProxySQL if crashes
-f, --foreground Run in foreground
-h, -help, --help, --usage Display usage instructions.
-M, --no-monitor Do not start Monitor Module
-n, --no-start Starts only the admin service
-r, --reuseport Use SO_REUSEPORT
-S, --admin-socket ARG Administration Unix Socket
-V, --version Print version
--clickhouse-server Enable ClickHouse Server
--idle-threads Create auxiliary threads to handle idle connections
--initial Rename/empty database file
--no-version-check Do not check for the latest version of ProxySQL
--reload Merge config file into database file
--sqlite3-server Enable SQLite3 Server
ProxySQL rev. 2.0.14-70-g7b02b19 -- Mon Sep 7 18:43:56 2020
Copyright (C) 2013-2020 ProxySQL LLC
This program is free and without warranty
4.通過systemd管理ProxySQL
systemctl start proxysql.service # 啟動proxysql
systemctl stop proxysql.service # 停止proxysql
systemctl status proxysql.service # 檢視proxysql狀態
systemctl restart proxysql.service # 重啟proxysql