六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

詳細說明MySQL完成主從復制過程_Mysql案例詳細說明

[摘要]本文主要為大家詳細介紹了MySQL主從復制的實現過程,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能幫助到大家。一、什么是主從復制將主數據庫中的DDL和DML操作通過二進制日志(BINLO...
本文主要為大家詳細介紹了MySQL主從復制的實現過程,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能幫助到大家。

一、什么是主從復制

將主數據庫中的DDL和DML操作通過二進制日志(BINLOG)傳輸到從數據庫上,然后將這些日志重新執行(重做);從而使得從數據庫的數據與主數據庫保持一致。

二、主從復制的作用

1、主數據庫出現問題,可以切換到從數據庫。

2、可以進行數據庫層面的讀寫分離,

3、可以在從數據庫上進行日常備份

三、復制過程

詳解MySQL實現主從復制過程_Mysql實例詳解

Binary log:主數據庫的二進制日志

Relay log:從服務器的中繼日志

第一步:master在每個事務更新數據完成之前,將該操作記錄串行地寫入到binlog文件中。

第二步:salve開啟一個I/O Thread,該線程在master打開一個普通連接,主要工作是binlog dump process。如果讀取的進度已經跟上了master,就進入睡眠狀態并等待master產生新的事件。I/O線程最終的目的是將這些事件寫入到中繼日志中。

第三步:SQL Thread會讀取中繼日志,并順序執行該日志中的SQL事件,從而與主數據庫中的數據保持一致。

四、主從復制的具體操作

我是在同一個windows上不同的路徑下安裝兩個msyql實例。建議這里主從兩個mysql的安裝版本一致,盡管我自己的是不一致的。

詳解MySQL實現主從復制過程_Mysql實例詳解詳解MySQL實現主從復制過程_Mysql實例詳解

1、分別修改主從數據庫的配置文件my.ini

master

詳解MySQL實現主從復制過程_Mysql實例詳解

3306是mysql默認端口號,這里master實例中可以不用修改;server-id用來指定唯一id,不同的mysql實例不重復即可;binlog-do-db指定需要復制的數據庫;log-bin用來開啟二進制日志文件。

salve

詳解MySQL實現主從復制過程_Mysql實例詳解

由于主從數據庫待會都是在通一臺電腦上運行,所以端口需要設置成不一樣,這里是3307

replicate-do-db:需要同步的數據庫名稱,與master上的配置保持一致。

2、在master上創建一個專門用于復制的賬戶:weidai/123456

詳解MySQL實現主從復制過程_Mysql實例詳解

這個新增的賬戶可以在表mysql.user中進行查詢:

詳解MySQL實現主從復制過程_Mysql實例詳解

我第一次操作的時候,到這里就完成了這個賬號的創建,但是到真正復制的時候,卻發現復制沒有成功,排查錯誤的時候發現master生成的binlong沒有問題,然后查看slave的狀態:

詳解MySQL實現主從復制過程_Mysql實例詳解

在結尾處有這樣一行錯誤:

詳解MySQL實現主從復制過程_Mysql實例詳解

使用weidai這個賬號無法連接到master,所以應該是沒有獲取到master的binlog,導致中繼日志無法生成。

我反復檢查了賬號和密碼都沒有發現問題,然后查找相關資料,才發現是因為在master創建新用戶的時候少了一步操作:

新設置用戶或更改密碼后需用flush privileges刷新MySQL的系統權限相關表,否則會出現拒絕訪問。這就是出現前面錯誤的原因。另外還有一種辦法是重新啟動mysql服務器,來使新設置生效。

詳解MySQL實現主從復制過程_Mysql實例詳解

3、獲取主數據庫中此刻數據的位置,主要用于從數據啟動后,復制數據的起始位置,但是在獲取這個狀態值之前,主數據庫就不能再有數據的修改操作,所以需要先設置讀鎖定有效

詳解MySQL實現主從復制過程_Mysql實例詳解

詳解MySQL實現主從復制過程_Mysql實例詳解

4、主庫進行數據備份,備份的手段有很多種,這里不展開介紹,可以參考我上一篇文章,備份結束后可以釋放讀鎖,主庫就可以進行寫操作

詳解MySQL實現主從復制過程_Mysql實例詳解

5、啟動從數據庫,對剛才備份的數據進行還原,這個時候主從數據庫在備份那個時間點的數據是一致的。

6、在從數據庫上進行復制行為的相關配置

詳解MySQL實現主從復制過程_Mysql實例詳解

7、這個時候配置完成,但是從數據庫還不能進行同步,需要啟動slave線程

詳解MySQL實現主從復制過程_Mysql實例詳解

8、在master中創建表和新增數據,在slave中觀察:

詳解MySQL實現主從復制過程_Mysql實例詳解

可以看出,我在master中進行的操作,都能在slave中體現出來,這個時候slave就如同是master的鏡子一樣。

五、主從同步狀態解讀

在slave上使用命令進行查看:

詳解MySQL實現主從復制過程_Mysql實例詳解

由于排版太過于難看,我整理如下:

Slave_IO_STATE:Waiting for master to send event

Master_host:127.0.0.1

Master_user:weidai

Master_port:3306

connnect_retry:60

Master_log_file:mysql-bin.000005

Read_Master_log_pos:1662

Relay_log_file:AE6Z*****-relay-bin.000002

Relay_log_pos:1415

Slave_IO_Running:yes

Slave_SQL_Running:yes

----------------------------------------------------------華麗麗分割線-------------------------------------------

Slave_IO_Running:yes

Slave_SQL_Running:yes

這兩個線程前面有提到,是slave上參與復制過程中兩個很重要的線程。YES表示正常,NO表示異常。

Slave_IO線程主要是將master上的binlong日志內容復制到slave的中繼日志中(Relay_log),一般出現問題的概率不大, 出現問題大多數是因為權限或者網絡等問題,導致連接不上master。如同前面提到的那個錯誤。

Slave_SQL線程負責將中繼日志中的SQL執行一遍,相對來說出錯的概率大些。如有人手動的在從庫中插入一些記錄,導致主從同步的時候出現主鍵沖突。

Slave_IO_STATE:Waiting for master to send event

這個狀態表示中繼日志同步完成,等待master有新的事件產生。

相關推薦:

關于MySQL5.7.18主從復制搭建一主一從實例詳解

Mycat讀寫分離在MySQL主從復制基礎上實現的實例

MySQL如何實現主從復制過程的示例詳解(圖)

以上就是詳解MySQL實現主從復制過程_Mysql實例詳解的詳細內容,更多請關注php中文網其它相關文章!


學習教程快速掌握從入門到精通的SQL知識。




主站蜘蛛池模板: 亚洲动作片 | 日韩精品一区在线观看 | 午夜视频福利在线 | 日本另类αv欧美另类aⅴ | 欧美视频在线第一页 | 色噜噜亚洲男人的天堂 | 日韩精品亚洲精品485页 | 午夜视频在线观看完整版 | 天天摸日日摸人人看 | 欧美行性性性o00x | 日韩免费专区 | 天天添天天射 | 三级黄色免费 | 深夜国产福利 | 日日影视 | 亚洲乱亚洲23p女 | 色色就色色 | 夜夜综合网 | 最好免费高清视频观看韩国 | 五月综合激情 | 欧美整片在线 | 午夜老司机永久免费看片 | 日本免费乱理伦片在线观看2018 | 亚欧洲精品bb | 日本黄又粗暴一进一出抽搐文 | 日韩精品成人 | 一级做a爰片性色毛片小说 一级做a爰片性色毛片思念网 | 天天干夜操 | 色哟哟色院91精品网站 | 最新日韩精品 | 欧美中日韩在线 | 五月天婷婷基地 | 五月花综合网 | 日本爱爱视频 | 日本美女久久 | 日韩福利网 | 亚洲欧美日韩精品久久亚洲区 | 中文字幕福利视频 | 亚洲综合精品一二三区在线 | 天堂中文在线网 | 亚洲视频在线一区 |