docker mysql日志_面试官问:了解Mysql主从复制原理么?我呵呵一笑
生活随笔
收集整理的這篇文章主要介紹了
docker mysql日志_面试官问:了解Mysql主从复制原理么?我呵呵一笑
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
搭建Mysql主從同步之前,我們先來說他們之間同步的過程與原理:
同步復制過程
獻上一張圖,這張圖詮釋了整個同步過程
主從復制過程:
- slave節(jié)點與主節(jié)點進行連接,建立主從關系,并把從哪開始同步,及哪個日志文件都一并發(fā)送到master
- master將修改的數(shù)據(jù)保存到binlog中
- master開啟binlog dump線程,將binlog日志推送到連接的slave中
- slave接受到推送的binlog,slave開啟IO線程將數(shù)據(jù)寫到中繼日志(relay log)中
- slave同時還會開啟一個SQL線程,對比中繼日志中新增的內容,并且解析SQL,回放數(shù)據(jù)到從數(shù)據(jù)庫中
好的,復制過程已經(jīng)說完了,我們現(xiàn)在實踐下,快速搭建一個mysql主從架構。
沒錯,我這里還是使用docker搭建,因為它很香啊!
搭建Mysql 主從
創(chuàng)建mysql網(wǎng)絡
docker network create mysqlNet安裝mysql
- 運行mysql主節(jié)點
- 修改配置文件
- 重啟mysql_master
- 在master節(jié)點上 創(chuàng)建給從節(jié)點進行復制的用戶
- 運行mysql從節(jié)點
- 編輯從節(jié)點配置文件
現(xiàn)在主從節(jié)點已經(jīng)安裝完成,我們接下來需要讓他們建立關系:
先查看master節(jié)點當前的狀態(tài),主要看下日志文件和當前的位置
docker exec -it mysql_master mysql -uroot -prootshow master status;exitexit結果如下:文件為mysql-bin.000001 位置為629
拿到這些信息之后,我們現(xiàn)在就可以讓從節(jié)點與主節(jié)點建立關系,并執(zhí)行同步了:
docker exec -it mysql_slave mysql -uroot -prootchange master to master_host='mysql_master', master_user='mysql_slave', master_password='111111', master_port=3306, master_log_file='mysql-bin.000001', master_log_pos= 629, master_connect_retry=30;我們繼續(xù)看下slave節(jié)點的狀態(tài)
show slave statusG;1我們看到我們在文首提到的兩個線程并沒有啟動,所以我們需要手動啟動著兩個線程,一個命令就好了
start slave;現(xiàn)在可以看到兩個線程已經(jīng)在運行了。
到此,已經(jīng)搭建完成了
測試
這個我就不演示了,大家可以在mysql_master上創(chuàng)建一個數(shù)據(jù)庫,看看是不是會同步到mysql_slave上。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結
以上是生活随笔為你收集整理的docker mysql日志_面试官问:了解Mysql主从复制原理么?我呵呵一笑的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java汉字如何通过字节传输,求助,ja
- 下一篇: 捷波朗STORM耳机设置中文_2020年