在MySQL中,我們可以使用一種被稱為“主-從復(fù)制(Master-Slave Replication)”的技術(shù)來創(chuàng)建一個主表和從表的關(guān)系。這是一種廣泛用于數(shù)據(jù)庫的高可用性解決方案,它允許將一個數(shù)據(jù)庫服務(wù)器復(fù)制到另一個服務(wù)器,從而實現(xiàn)在多個地方運行相同數(shù)據(jù)的能力。
在 MySQL 中,我們可以通過以下步驟設(shè)置主表和從表:
1. 首先,在主服務(wù)器上創(chuàng)建一個新的數(shù)據(jù)庫用戶,用于從服務(wù)器與主服務(wù)器之間進行身份驗證和通信。
CREATE USER 'replica_user'@'%' IDENTIFIED BY 'replica_password';
2. 然后,為該用戶分配為副本(從)服務(wù)器的訪問權(quán)限:
GRANT REPLICATION SLAVE ON *.* TO 'replica_user'@'%';
3. 接著,配置主服務(wù)器,確保其可以接受從服務(wù)器的連接請求。主服務(wù)器的my.cnf文件中應(yīng)包括以下幾行:
[mysqld]
log-bin=mysql-bin
server-id=1
4. 然后重啟 MySQL 以激活最新的配置更改。
5. 現(xiàn)在,在副本服務(wù)器上,可以通過以下命令將其連接到主服務(wù)器:
CHANGE MASTER TO
MASTER_HOST='master_server_ip',
MASTER_USER='replica_user',
MASTER_PASSWORD='replica_pass',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=12345;
其中,“master_server_ip”是主服務(wù)器的IP地址,“replica_user”和“replica_pass”是在步驟1中創(chuàng)建的用戶名和密碼,“mysql-bin.000001”是主服務(wù)器上的二進制日志文件,而“12345”是要開始復(fù)制的位置。
6. 最后一步是啟動副本服務(wù)器的復(fù)制進程:
START SLAVE;
至此,你已經(jīng)成功地將 MySQL 數(shù)據(jù)庫的主表和從表設(shè)置好了。