MySQL主從集群是一種常見的數據庫高可用方案。主從集群可以通過主服務器將數據同步到從服務器,從而提高數據庫的讀寫性能和可用性,同時也減少了單點故障的風險。
在進行MySQL主從集群配置之前,需要確保已經安裝了MySQL數據庫,并且已經進行了基本的數據庫配置。
# 安裝MySQL sudo apt-get update sudo apt-get install mysql-server # 編輯MySQL配置文件 sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf # 在配置文件中添加以下內容 [mysqld] datadir=/var/lib/mysql server-id=1 log-bin=mysql-bin binlog-do-db=my_db binlog-ignore-db=mysql # 重啟MySQL服務 sudo systemctl restart mysql
以上步驟為在主服務器中進行的配置。接下來需要在從服務器中進行配置。從服務器的配置和主服務器類似,只需要將server-id設為不同的值即可,其他配置與主服務器相同。
# 編輯從服務器的MySQL配置文件 sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf # 在配置文件中添加以下內容 [mysqld] datadir=/var/lib/mysql server-id=2 log-bin=mysql-bin binlog-do-db=my_db binlog-ignore-db=mysql # 重啟MySQL服務 sudo systemctl restart mysql
配置完成后,在主服務器中創建一個專門的用于主從復制的用戶,并授權從服務器訪問主服務器的權限:
# 登錄MySQL mysql -u root -p # 創建名為repl的用戶 CREATE USER 'repl'@'%' IDENTIFIED BY 'password'; # 授予從服務器的訪問權限 GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%'; # 查看主服務器的狀態 SHOW MASTER STATUS\G;
在從服務器中進行主從同步,需要先連接主服務器,然后在從服務器中指定主服務器的連接信息并開始同步。同時需要在從服務器中將主服務器的binlog文件名和位置相關信息告訴MySQL:
# 登錄MySQL,連接到主服務器 mysql -u root -p -h 主服務器IP地址 # 在從服務器中指定主服務器的連接信息 CHANGE MASTER TO MASTER_HOST='主服務器IP地址', MASTER_USER='repl', MASTER_PASSWORD='password', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=501; # 開始主從同步 START SLAVE;
至此,MySQL主從集群配置完成。通過主從集群,數據庫的性能和可用性得到了顯著提升,同時也提高了數據庫的安全性。