Linux MySQL 數(shù)據(jù)同步
在使用多臺服務(wù)器進(jìn)行負(fù)載均衡的情況下,數(shù)據(jù)同步是一個非常關(guān)鍵的問題。下面將介紹在 Linux 環(huán)境下如何實(shí)現(xiàn) MySQL 數(shù)據(jù)的同步。
環(huán)境準(zhǔn)備
本文以兩臺 CentOS 7 服務(wù)器為例,IP 分別為 192.168.1.101 和 192.168.1.102。其中一臺作為主服務(wù)器,另一臺為從服務(wù)器。
安裝 MySQL
在主服務(wù)器和從服務(wù)器上都需要安裝 MySQL。可以使用以下命令進(jìn)行安裝:
sudo yum install mysql-server
安裝完成后,分別啟動 MySQL 服務(wù):
sudo systemctl start mysqld
配置主服務(wù)器
在主服務(wù)器上,需要對 MySQL 進(jìn)行以下配置:
- 創(chuàng)建用于同步的賬號
- 修改配置文件
- 重啟 MySQL 服務(wù)
mysql>CREATE USER 'replication'@'%' IDENTIFIED BY 'password'; mysql>GRANT REPLICATION SLAVE ON *.* TO 'replication'@'%';
打開 MySQL 配置文件 /etc/my.cnf,找到以下字段:
server-id=1 log-bin=mysql-bin
其中 server-id 代表服務(wù)器的唯一標(biāo)識,log-bin 用于開啟二進(jìn)制日志。
sudo systemctl restart mysqld
配置從服務(wù)器
在從服務(wù)器上,需要對 MySQL 進(jìn)行以下配置:
- 修改配置文件
- 連接主服務(wù)器
- 啟動同步
打開 MySQL 配置文件 /etc/my.cnf,找到以下字段:
server-id=2
注意:在從服務(wù)器上配置時一定不要開啟 log-bin,否則會與主服務(wù)器產(chǎn)生沖突。
查看主服務(wù)器的二進(jìn)制日志信息:
mysql>SHOW MASTER STATUS;
將主服務(wù)器的二進(jìn)制日志及位置信息輸入到從服務(wù)器中:
mysql>CHANGE MASTER TO ->MASTER_HOST = '192.168.1.101', ->MASTER_USER = 'replication', ->MASTER_PASSWORD = 'password', ->MASTER_LOG_FILE = 'mysql-bin.000001', ->MASTER_LOG_POS = 107;
其中 MASTER_HOST 為主服務(wù)器的 IP,MASTER_USER 和 MASTER_PASSWORD 分別為用于同步的賬號和密碼,MASTER_LOG_FILE 和 MASTER_LOG_POS 分別為主服務(wù)器的二進(jìn)制日志及位置信息。
mysql>START SLAVE;
查看同步狀態(tài):
mysql>SHOW SLAVE STATUS;
至此,MySQL 數(shù)據(jù)同步完成,主服務(wù)器上的數(shù)據(jù)更改將自動同步到從服務(wù)器中。