上篇文章和大家聊了 CentOS7 安裝 MySQL5.7 ,這個大家一般裝在虛拟機裡邊,裝好了,把虛拟拷貝一份,這樣我們就有兩個 MySQL ,就可以開始今天的主從搭建了。
我這裡有一張簡單的圖向大夥展示 MySQL 主從的工作方式:
這裡,我們準備兩台機器:
主機:192.168.248.128
從機:192.168.248.139
主機的配置就三個步驟,比較容易:
1.授權給從機伺服器
這裡表示配置從機登入使用者名為 rep1,密碼為 123,并且必須從 192.168.248.139這個位址登入,登入成功之後可以操作任意庫中的任意表。其中,如果不需要限制登入位址,可以将 IP 位址更換為一個 <code>%</code>。
2.修改主庫配置檔案,開啟 binlog ,并設定 server-id ,每次修改配置檔案後都要重新開機 MySQL 服務才會生效
修改的檔案内容如下:
如下圖:
log-bin:同步的日志路徑及檔案名,一定注意這個目錄要是 MySQL 有權限寫入的(我這裡是偷懶了,直接放在了下面那個datadir下面)。
binlog-do-db:要同步的資料庫名,當從機連上主機後,隻有這裡配置的資料庫才會被同步,其他的不會被同步。
server-id: MySQL 在主從環境下的唯一标志符,給個任意數字,注意不能和從機重複。
配置完成後重新開機 MySQL 服務端:
3.檢視主伺服器目前二進制日志名和偏移量,這個操作的目的是為了在從資料庫啟動後,從這個點開始進行資料的恢複:
至此,主機配置完成。
從機的配置也比較簡單,我們一步一步來看:
1.在/etc/my.cnf 添加下面配置:
注意從機這裡隻需要配置一下 server-id 即可。
注意:如果從機是從主機複制來的,即我們通過複制 CentOS 虛拟機擷取了 MySQL 執行個體 ,此時兩個 MySQL 的 uuid 一樣(正常安裝是不會相同的),這時需要手動修改,修改位置在 <code>/var/lib/mysql/auto.cnf</code> ,注意随便修改這裡幾個字元即可,但也不可太過于随意,例如修改了 uuid 的長度。
2.使用指令來配置從機:
這裡配置了主機位址、端口以及從機登入主機的使用者名和密碼,注意最後兩個參數要和 master 中的保持一緻。
3.啟動 slave 程序
啟動之後檢視從機狀态:
4.檢視 slave 的狀态
主要是下面兩項值都要為為 YES,則表示配置正确:
至此,配置完成,主機建立庫,添加資料,從機會自動同步。
如果這兩個有一個不為 YES ,表示主從環境搭建失敗,此時可以閱讀日志,檢視出錯的原因,再具體問題具體解決。
本文主要和大夥說了 MySQL 主從環境搭建,這幾個步驟松哥反反複複操作過很多遍,小夥伴隻要按照松哥的步驟一般來說都能成功,有問題歡迎留言讨論。
關注公衆号【江南一點雨】,專注于 Spring Boot+微服務以及前後端分離等全棧技術,定期視訊教程分享,關注後回複 Java ,領取松哥為你精心準備的 Java 幹貨!