在Debian系統上搭建MySQL集群可以通過多種方式實現,包括使用MySQL Replication(主從復制)、MySQL Cluster等。以下是使用MySQL Replication實現高可用性MySQL集群的步驟:
首先,在每臺Debian服務器上安裝MySQL服務器。
sudo apt update
sudo apt install mysql-server
在安裝過程中,系統會提示設置MySQL的root賬戶密碼,請記住該密碼,它將用于后續訪問和管理數據庫時的身份驗證。
安裝完成后,需要對MySQL進行一些基本的配置??梢酝ㄟ^修改MySQL的配置文件來進行配置。
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
找到以下行并刪除其前面的注釋符號(#):
bind-address = 0.0.0.0
保存并退出配置文件。接下來,重啟MySQL服務以使配置更改生效:
sudo systemctl restart mysql
在主服務器上,需要配置二進制日志(binlog)和復制線程。
[mysqld]
log-bin=mysql-bin
server-id=1
在從服務器上,需要配置復制線程并啟動復制。
[mysqld]
server-id=2
relay-log=relay-bin
read-only=1
然后,在從服務器上執行以下命令來配置復制:
CHANGE MASTER TO
MASTER_HOST='主服務器IP',
MASTER_USER='replication_user',
MASTER_PASSWORD='replication_password',
MASTER_LOG_FILE='主服務器二進制日志文件名',
MASTER_LOG_POS=主服務器二進制日志位置;
START SLAVE;
在主服務器上插入一些數據,然后在從服務器上檢查是否同步。
-- 在主服務器上插入數據
INSERT INTO test_table (name, value) VALUES ('test', 'value');
-- 在從服務器上檢查數據
SHOW SLAVE STATUS\G;
可以使用MHA(Master High Availability)等工具來實現MySQL的高可用性。MHA可以在主服務器故障時自動進行故障切換。
在每臺服務器上安裝MHA Manager和MHA Node。
wget https://www.mysql.com/get/Downloads/MHA/mha4mysql-node-0.56-1.el7.noarch.rpm
wget https://www.mysql.com/get/Downloads/MHA/mha4mysql-manager-0.56-1.el7.noarch.rpm
sudo rpm -ivh mha4mysql-node-0.56-1.el7.noarch.rpm
sudo rpm -ivh mha4mysql-manager-0.56-1.el7.noarch.rpm
配置MHA Manager和Node,并設置免密登錄。
# 編輯MHA配置文件
sudo nano /etc/mha/mha.cfg
添加以下內容:
[server default]
manager_address = manager_ip
manager_user = mha_user
manager_password = mha_password
[server1]
hostname = master_ip
port = 3306
peer_address = slave1_ip
peer_password = slave1_password
[server2]
hostname = slave2_ip
port = 3306
peer_address = slave3_ip
peer_password = slave3_password
然后,啟動MHA Manager和Node:
sudo mha_manager -f /etc/mha/mha.cfg
sudo mha_node -f /etc/mha/mha.cfg start
以上步驟展示了如何在Debian系統上搭建一個基本的MySQL集群。對于更復雜的高可用性和負載均衡需求,可能需要進一步配置和優化。