兩臺電腦如何實現MySQL的數據同步呢?這是一件非常實用的事情,因為很多時候我們需要在不同的電腦上使用同一個數據庫。接下來,我們就來講解一下如何實現這個過程。
首先需要明確的是,MySQL的數據同步可以采用多種方案,例如使用主從復制,使用Galera Cluster,使用MySQL Cluster等等。不同的方案適用不同的場景和需求,這里我們將以主從復制為例。主從復制是MySQL內置的一個復制方式,它可以實現將一臺MySQL服務器的數據復制到另一臺MySQL服務器上。
下面是具體步驟:
1、在主服務器上創建一個用于備份的賬號,并賦予REPLICATION SLAVE權限;
CREATE USER 'backup'@'%' IDENTIFIED BY '123456'; GRANT REPLICATION SLAVE ON *.* TO 'backup'@'%'; FLUSH PRIVILEGES;2、在主服務器上查看當前的二進制日志文件和位置,以便在從服務器上執行同步操作時使用;
SHOW MASTER STATUS;3、在從服務器上創建一個用于同步數據的賬號,并賦予REPLICATION CLIENT權限;
CREATE USER 'sync'@'%' IDENTIFIED BY '123456'; GRANT REPLICATION CLIENT ON *.* TO 'sync'@'%'; FLUSH PRIVILEGES;4、在從服務器上執行同步操作,將主服務器上的數據復制到從服務器上;
CHANGE MASTER TO MASTER_HOST='192.168.1.2', MASTER_USER='backup', MASTER_PASSWORD='123456', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=107; START SLAVE;上述代碼中,MASTER_HOST為主服務器IP地址,MASTER_USER和MASTER_PASSWORD為之前在主服務器上創建的備份賬號信息,MASTER_LOG_FILE和MASTER_LOG_POS分別為之前在主服務器上查看到的二進制日志文件和位置。 5、同步操作完成后,我們還需要在從服務器上開啟binlog,以便將更改同步回主服務器;
vim /etc/my.cnf 在[mysqld]段中加入: log-bin=mysql-bin server-id=2 重啟MySQL服務。 在主服務器上創建用于同步的從服務器賬號,賦予REPLICATION SLAVE權限; CREATE USER 'sync'@'%' IDENTIFIED BY '123456'; GRANT REPLICATION SLAVE ON *.* TO 'sync'@'%'; FLUSH PRIVILEGES;至此,兩臺電腦MySQL數據同步就完成了。當主服務器的數據有更改時,從服務器會自動將數據同步回來,保持兩臺服務器的數據同步。
下一篇mysql 分組鏈接