mysql主從複製實現資料庫同步
1、Introduction
相信看過這篇文章的童鞋,都摩拳擦掌,躍躍一試了吧?
今天我們就來一次mysql主從同步實戰!
2、環境說明
os:ubuntu16.04
mysql:5.7.17
下面的實戰演練,都是基於上面的環境。當然,其他環境也大同小異。
3、進入實戰
工具
2臺機器:
master IP:192.168.33.22
slave IP:192.168.33.33
master機器上的操作
1、更改配置檔案
我們找到檔案 /etc/mysql/mysql.conf.d/mysqld.cnf
。
配置如下:
1 2 3 |
|
2、重啟mysql,以使配置檔案生效。
1 |
|
3、建立主從同步的mysql user。
1 2 3 4 5 6 7 8 9 10 |
ON *.* TO 'slave1' @ '192.168.33.33' ;
|
4、為MYSQL加讀鎖
為了主庫與從庫的資料保持一致,我們先為mysql加入讀鎖,使其變為只讀。
1 2 |
|
5、記錄下來MASTER REPLICATION LOG 的位置
該資訊稍後會用到。
1 2 3 4 5 6 7 |
|
6、將master DB中現有的資料資訊匯出
1 |
|
7、接觸master DB的讀鎖
1 |
|
8、將步驟6中的dbdump.sql檔案copy到slave
1 |
|
slave機器上的操作
1、更改配置檔案
我們找到檔案 /etc/mysql/mysql.conf.d/mysqld.cnf
。
更改配置如下:
1 2 3 |
|
2、重啟mysql,以使配置檔案生效
1 |
|
3、匯入從master DB。 匯出的dbdump.sql檔案,以使master-slave資料一致
1 |
|
4、使slave與master建立連線,從而同步
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
MASTER_LOG_FILE='mysql-bin.000001'與MASTER_LOG_POS=613的值,是從上面的 SHOW MASTER STATUS 得到的。
經過如此設定之後,就可以進行master-slave同步了~