1、MySql主從同步是基於二進位日誌實現的,二進位日誌記錄了主伺服器資料庫的所有變動,從伺服器通過讀取和執行該日誌文件保持和主資料庫的數據一致; 2、配置主伺服器 a、開啟二進位日誌,找到MySql配置文件 my.cnf 在[mysqld]模塊下加入如下代碼; b、登錄MySql,創建只能進行主從 ...
1、MySql主從同步是基於二進位日誌實現的,二進位日誌記錄了主伺服器資料庫的所有變動,從伺服器通過讀取和執行該日誌文件保持和主資料庫的數據一致;
2、配置主伺服器
a、開啟二進位日誌,找到MySql配置文件 my.cnf 在[mysqld]模塊下加入如下代碼;
server-id=30 // 唯一id log-bin = "D:/mysqllog/ddt_binlog.log" // 日誌保存位置
b、登錄MySql,創建只能進行主從同步的用戶;
mysql > grant replication slave on *.* to 'zzw'@'192.168.1.1' identified by '123456'; // zzw 用戶名 123456 密碼 192.168.1.1 從伺服器IP
c、刷新表,鎖表,阻止寫入數據;
mysql > flush tables with read lock; // 鎖表防止所有寫操作
d、獲取二進位日誌信息,記錄 File 和 Position 值;
e、導入數據(將主庫現有數據導入從庫,主庫無數據此步略):Navicat 連接主伺服器的資料庫,在菜單欄選擇工具----->數據傳輸,選擇主、從庫伺服器IP和同步的表或庫,同步數據;還可以將主庫資料庫備份到sql文件還原到從庫;
f、解鎖表,恢復主庫操作;
mysql > unlock tables;
3、配置從伺服器
a、開啟二進位日誌,找到MySql配置文件 my.cnf 在[mysqld]模塊下加入如下代碼;
server-id = 192 // 唯一id
log-bin = "D:/mysqllog/ddt_binlog.log" // 日誌保存位置
b、配置同步參數;
mysql> CHANGE MASTER TO MASTER_HOST='192.168.1.1', // 主庫伺服器IP master_port = 3306, MASTER_USER='zzw', // 用戶名 MASTER_PASSWORD='123456', // 密碼 MASTER_LOG_FILE='ddt_binlog.000019', // 上面記錄主庫的File值 MASTER_LOG_POS = 572109; // 上面記錄主庫的Position值
c、啟動主從同步進程;
mysql > start slave;
d、檢查主從同步是否成功 Slave_IO_Running: Yes Slave_SQL_Running: Yes 即表示同步配置成功;
mysql > show slave status \G