MySQL兩臺服務(wù)器冗余指的是在應(yīng)用程序中使用兩臺MySQL服務(wù)器進(jìn)行數(shù)據(jù)存儲和操作,以確保在服務(wù)器一臺故障的情況下,另一臺服務(wù)器可以進(jìn)行替代,并且數(shù)據(jù)不會丟失。
為了實(shí)現(xiàn)MySQL兩臺服務(wù)器冗余,我們需要使用主從復(fù)制的機(jī)制。
主從復(fù)制的機(jī)制指的是一個MySQL服務(wù)器將數(shù)據(jù)同步到另一個MySQL服務(wù)器的過程,其中一個服務(wù)器作為主服務(wù)器(Master),負(fù)責(zé)寫入數(shù)據(jù)和更新數(shù)據(jù),而另一個服務(wù)器作為從服務(wù)器(Slave),負(fù)責(zé)讀取數(shù)據(jù)和備份數(shù)據(jù)。
#在Master上進(jìn)行操作,開啟binlog功能
vi /etc/my.cnf
[mysqld]
log_bin=mysql-bin
server-id=1
#重啟MySQL服務(wù)
service mysql restart
#在Master上創(chuàng)建用戶并授權(quán)
mysql -uroot -p
CREATE USER 'slave'@'%' IDENTIFIED BY 'slave';
GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%';
#查看Master狀態(tài)
mysql>SHOW MASTER STATUS;
#在Slave上進(jìn)行操作,設(shè)置同步
vi /etc/my.cnf
[mysqld]
server-id=2
#重啟MySQL服務(wù)
service mysql restart
#同步數(shù)據(jù)
CHANGE MASTER TO MASTER_HOST='Master的IP',MASTER_USER='slave',MASTER_PASSWORD='slave',MASTER_LOG_FILE='Master的binlog文件名',MASTER_LOG_POS=Master的binlog位置;
START SLAVE;
#查看Slave狀態(tài)
SHOW SLAVE STATUS;
通過上述操作,兩臺MySQL服務(wù)器之間實(shí)現(xiàn)了冗余,確保在一臺服務(wù)器故障的情況下,另一臺服務(wù)器可以繼續(xù)工作,并且數(shù)據(jù)不會丟失。