新聞中心
實現目標
10年的大田網站建設經驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。網絡營銷推廣的優(yōu)勢是能夠根據用戶設備顯示端的尺寸不同,自動調整大田建站的顯示方式,使網站能夠適用不同顯示終端,在瀏覽器中調整網站的寬度,無論在任何一種瀏覽器上瀏覽網站,都能展現優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)從事“大田網站設計”,“大田網站推廣”以來,每個客戶項目都認真落實執(zhí)行。
現在需要搭建兩臺MySQL服務器(一主一從),一臺作為主服務器,一臺作為從服務器,主服務器進行寫操作,從服務器進行讀操作。
工作流程
主服務器:
開啟二進制日志
配置唯一的server-id
獲得master二進制日志文件名及位置
創(chuàng)建一個用于slave和master通信的用戶賬號。
從服務器:
配置唯一的server-id
使用master分配的用戶賬號讀取master二進制日志
啟用slave服務。
準備工作
主從數據庫版本最好一樣
主從數據庫內數據保持一致
主數據庫:192.168.244.201 : 3306
從數據庫:192.168.244.202 : 3306
開始配置
配置 Master 主服務器
找到主數據庫的配置文件my.cnf(Windows中是my.ini),我的在/etc/my.cnf
在[mysqld]部分插入如下兩行:
[mysqld] log-bin=mysql-bin #開啟二進制日志 server-id=201 #設置server-id,唯一值,標識主機
重啟mysql服務
systemctl restart mysqld
創(chuàng)建用于主從同步的賬號/密碼
進入MySQL : mysql -u root -p 回車輸入密碼。
我創(chuàng)建的用戶名叫“master_root”密碼是“MySql@6688”
【注意:由于之前把密碼改成支持簡單密碼123456的了,導致這里新建用戶出現一些問題,說密碼不符合策略等,后來干脆我重裝mysql,使用默認復雜密碼了,就沒有這么多問題了。習慣就好其實。】
下面我都用的%,沒有寫具體ip,你可以自行決定。
#創(chuàng)建用戶(IP為可訪問該master的IP,任意IP就寫'%') mysql> CREATE USER 'master_root'@'192.168.244.202' IDENTIFIED BY 'MySql@6688'; #分配權限(IP為可訪問該 master的IP,任意IP就寫'%') mysql> GRANT REPLICATION SLAVE ON *.* TO 'master_root'@'192.168.244.202'; #刷新權限 mysql>flush privileges;
查看master狀態(tài),記錄二進制文件名(mysql-bin.000001)和位置(154).后面配從庫要用。
show master status;
配置 Slave 主服務器
修改my.cnf 文件
vim /etc/my.cnf
[mysqld] server-id=202 #設置server-id,唯一值,唯一標識從庫
重啟mysql服務
systemctl restart mysqld
登錄進入mysql,執(zhí)行同步sql語句(主服務器名,用于主從的用戶名,密碼,二進制文件名,位置)
mysql> CHANGE MASTER TO -> MASTER_HOST='192.168.244.201', -> MASTER_USER='master_root', -> MASTER_PASSWORD='MySql@6688', -> MASTER_LOG_FILE='mysql-bin.000001', -> MASTER_LOG_POS=154;
啟動slave同步進程
mysql>start slave;
查看slave狀態(tài)
show slave status\G
注意后面不要分號;否則最后一行顯示報錯如下:
ERROR: No query specified
當Slave_IO_Running和Slave_SQL_Running都為YES的時候就表示主從同步設置成功了。
接下來就可以進行一些驗證了,比如在主master數據庫的test數據庫的一張表中插入一條數據,在slave的test庫的相同數據表中查看是否有新增的數據即可驗證主從復制功能是否有效,還可以關閉slave(mysql>stop slave;),然后再修改master,看slave是否也相應修改(停止slave后,master的修改不會同步到slave),就可以完成主從復制功能的驗證了。
其他相關參數:
master開啟二進制日志后默認記錄所有庫所有表的操作,可以通過配置來指定只記錄指定的數據庫甚至指定的表的操作,具體在mysql配置文件的[mysqld]可添加修改如下選項:
不同步哪些數據庫
binlog-ignore-db = mysql binlog-ignore-db = test binlog-ignore-db = information_schema
只同步哪些數據庫,除此之外,其他不同步
binlog-do-db = game
如之前查看master狀態(tài)時就可以看到只記錄了test庫,忽略了manual和mysql庫。
以上就是linux下搭建mysql主從服務器的詳細內容,更多請關注創(chuàng)新互聯(lián)其它相關文章!
新聞標題:如何在linux系統(tǒng)中搭建mysql主從服務器?
網頁URL:http://www.ef60e0e.cn/article/gpijcd.html