MySQL 5.7是一個功能強大的關系型數據庫管理系統,支持主從同步。主從同步可以提高數據安全性和可用性,同時提供了水平擴展的能力。本文將介紹在MySQL 5.7中如何配置主從同步。
首先,我們需要在主服務器上創建主從同步賬戶??梢允褂靡韵旅顒摻ㄙ~戶:
CREATE USER 'repl'@'%' IDENTIFIED BY 'password'; GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
其中,'repl'是用戶名,'%'代表可以從任意IP訪問,'password'則是密碼。GRANT語句授權從服務器在所有數據庫和所有表上操作。
接下來,我們需要在主服務器上開啟二進制日志,并設置需要同步的信息??梢栽趍y.cnf文件中添加如下配置:
[mysqld] server-id=1 log-bin=mysql-bin binlog-do-db=test binlog-ignore-db=mysql
其中,server-id用于唯一標識主服務器,log-bin用于開啟二進制日志,binlog-do-db參數指定需要同步的數據庫,binlog-ignore-db參數指定需要忽略的數據庫。
然后,我們需要在從服務器上配置主從同步。可以在my.cnf文件中添加如下配置:
[mysqld] server-id=2 replicate-do-db=test replicate-ignore-db=mysql
其中,server-id用于唯一標識從服務器,replicate-do-db參數指定需要同步到從服務器的數據庫,replicate-ignore-db參數指定需要忽略的數據庫。
最后,我們需要在從服務器上啟動主從同步進程??梢允褂靡韵旅顔舆M程:
CHANGE MASTER TO MASTER_HOST='master_ip', MASTER_USER='repl', MASTER_PASSWORD='password', MASTER_LOG_FILE='mysql-bin.xxx', MASTER_LOG_POS=xxx; START SLAVE;
其中,master_ip是主服務器的IP地址,'repl'和'password'分別是主從同步賬戶的用戶名和密碼,'mysql-bin.xxx'是主服務器上的二進制日志文件,xxx則是主服務器上的二進制日志位置。以上命令將從服務器連接到主服務器,并開始同步數據。