本文主要介紹了MySQL5.7.18主從複製搭建(一主一從)教程詳解,需要的朋友可以參考下,希望能幫助到大家。 MySQL使用3個執行緒來執行複製功能(其中1個在主伺服器上,另兩個在從伺服器上,下面我們來詳細介紹本文內容。
一、複製原理
#主伺服器將更新寫入二進位日誌文件,並維護文件的一個索引以追蹤日誌循環。讀取的最後一次成功更新的位置。 1個在主伺服器上,另兩個在從伺服器上。一個執行緒將二進位日誌中的內容傳送到從伺服器。拷貝到從伺服器資料目錄中的本機檔案中,即中繼日誌。二、伺服器準備
作業系統版本:Red Hat Enterprise Linux Server release 6.7 (Santiago)
Master(主) ip:172.16.115.245 ip:172.16.115.245 ip:172.16.115.245 主機名稱:my21 ##Slave(從) ip:172.16.115.247 主機名稱:mysql3 server_id:247
主從伺服器上都已執行安裝程式設定18821832472
主從伺服器上都已從伺服器上都已重複181818,018.
1.主伺服器上為伺服器設定一個連線帳戶並授予REPLICATION SLAVE權限。設定好之後,重啟MySQL。的Binlog位置和Position--single-transaction意思是取得一致性快照
-R意思是備份預存程序和函數--triggres的意思是備份觸發器
-A代表備份所有的庫4.查看主庫備份時的binlog名稱和位置GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%' IDENTIFIED BY 'repl@20170509';或到剛才備份的資料庫檔案中看:vi all.sql5.修改slave函式庫設定檔my.cnf
server-id = 245 log_bin = /data/mysqllog/3306/bin_log/binlogread_only=ON (唯讀模式)#設定完畢後,重新啟動MySQL。 6.在slave伺服器上還原master備份
mysqldump -uroot -p'密码' --master-data=2 --single-transaction -R --triggers -A > /backup/all.sql7.停止從庫,並設定主從參數,開啟從庫。
SHOW MASTER STATUS; mysql> SHOW MASTER STATUS; +---------------+----------+--------------+------------------+-------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +---------------+----------+--------------+------------------+-------------------+ | binlog.000004 | 79394496 | | | | +---------------+----------+--------------+------------------+-------------------+
server-id = 247 (唯一,不能与主库一样,一般设为服务器IP后3位) log_bin = /data/mysql/logdir/3306/bin_log/binlog innodb_file_per_table = ON skip_name_resolve = ON relay_log = /data/mysql/logdir/3306/relay_log/relay.log binlog-format = row log-slave-updates = trueslave IO/SQL執行緒:
mysql -u root -p'密码' < all.sql9.至此,主從設定已經完成,可以到master伺服器建立資料庫、表格等操作,看看slave資料庫是否同步!
相關推薦:
Mysql主從複製建構_MySQL
MySQL如何實作主從複製過程的範例詳解(圖)
解析MySQL 主從複製的原理與設定
以上是關於MySQL5.7.18主從複製搭建一主一從實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!