在Debian系統上實現MySQL的讀寫分離,通常需要以下幾個步驟:
安裝MySQL主從復制:
/etc/mysql/my.cnf
(或/etc/my.cnf
)文件,并設置server-id
、log_bin
、auto_increment_increment
、auto_increment_offset
等參數。配置主服務器:
配置從服務器:
驗證復制狀態:
SHOW MASTER STATUS;
和SHOW SLAVE STATUS\G
命令,檢查復制是否正常工作。設置讀寫分離:
測試讀寫分離:
以下是一個簡單的示例,使用ProxySQL作為MySQL代理:
sudo apt-get update
sudo apt-get install proxysql
編輯ProxySQL的配置文件(通常是/etc/proxysql.cnf
),添加主服務器和從服務器的信息:
[mysqld]
mysql_servers =
(
{
"address": "master_ip",
"port": 3306,
"hostgroup": 1,
"weight": 1
},
{
"address": "slave_ip",
"port": 3306,
"hostgroup": 2,
"weight": 1
}
)
mysql_query_rules =
(
{
"rule_id": 1,
"active": 1,
"match_pattern": "^SELECT",
"destination_hostgroup": 2,
"apply": ""
},
{
"rule_id": 2,
"active": 1,
"match_pattern": "^INSERT|UPDATE|DELETE",
"destination_hostgroup": 1,
"apply": ""
}
)
sudo systemctl start proxysql
sudo systemctl enable proxysql
在應用程序中配置數據庫連接,指向ProxySQL的地址和端口(默認是6032)。然后進行測試,確保寫操作發送到主服務器,讀操作發送到從服務器。
通過以上步驟,你可以在Debian系統上實現MySQL的讀寫分離。請根據你的具體需求和環境進行調整和優化。