MySQL復(fù)制是在多個數(shù)據(jù)庫服務(wù)器之間同步數(shù)據(jù)的過程,它使數(shù)據(jù)在主服務(wù)器上的修改可以在從服務(wù)器上自動更新。下面是一份簡單的MySQL從服務(wù)器復(fù)制配置:
# 停止從服務(wù)器上的MySQL服務(wù) sudo systemctl stop mysql # 以root用戶身份編輯/etc/mysql/mysql.conf.d/mysqld.cnf文件 sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf # 在[mysqld]部分下添加以下內(nèi)容,其中192.168.0.1是主服務(wù)器的IP地址 server-id=2 relay-log=mysql-relay-bin log-slave-updates=1 replicate-do-db=my_database replicate-ignore-table=my_database.my_table replicate-wild-do-table=my_database.% # 保存并退出文件 # 啟動MySQL服務(wù) sudo systemctl start mysql
以上配置假設(shè)主服務(wù)器上已經(jīng)啟用了二進制日志。由于MySQL復(fù)制過程中會向本地MySQL實例寫入數(shù)據(jù),因此需要在從服務(wù)器上開啟binlog和relay-log,以保留從服務(wù)器上的數(shù)據(jù)更新歷史。replicate-do-db和replicate-wild-do-table指定了需要復(fù)制的數(shù)據(jù)庫和表,而replicate-ignore-table則指定了不需要復(fù)制的表。
完成上述配置后,從服務(wù)器將自動連接到主服務(wù)器并開始復(fù)制,以便在主服務(wù)器上進行任何更改時也同步更新從服務(wù)器上的數(shù)據(jù)。