欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

docker搭建mysql主從同步的全過程

 更新時間:2024年04月15日 10:22:24   作者:紫金丨小飛俠  
這篇文章主要介紹了docker搭建mysql主從同步的全過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

引言

以前在centos上裝一個mysql redis 能搞兩三天,各種編譯問題,自從用了docker做開發(fā)環(huán)境之后是真的香,真正體會了一把什么叫一鍵啟動。

最近開發(fā)環(huán)境自己搭個主從的結(jié)構(gòu)使用,mark一下,順便分享一下中間可能遇到的問題

搭建流程

docker容器準(zhǔn)備

這里以mysql 8.0為例

# 拉取鏡像,自己配一下docker鏡像源,幾十秒就下完了
docker pull mysql:8.0
# 創(chuàng)建容器之間的通信網(wǎng)絡(luò)
docker network create mysql_db
### 啟動主庫
docker run -p 3340:3306 --name mysql-m --network mysql_db -e MYSQL_ROOT_PASSWORD=主庫root密碼 -d mysql:8.0
### 啟動從庫
docker run -p 3341:3306 --name mysql-s --network mysql_db -e MYSQL_ROOT_PASSWORD=從庫root密碼 -d mysql:8.0

接下來就是進(jìn)入容器開始配置mysql主從信息了

這里記得提前創(chuàng)建一個用來同步的用戶,記得賦權(quán)

CREATE USER `slave`@`%` IDENTIFIED WITH mysql_native_password BY '123456';
# 授權(quán)
GRANT REPLICATION SLAVE ON *.* TO  'slave'@'%' identified by '123456';
# 檢查一下
show grants for 'slave'@'%';
# 沒有的話刷新一下
flush PRIVILEGES;

# 修改主庫配置
docker exec -it mysql-m   /bin/bash
# 這里需要安裝一下vim
apt-get update
apt-get install vim
vim /etc/mysql/my.cnf

#1.配置server-id 保證同一網(wǎng)絡(luò)中不重復(fù),其實(shí)就普通的主從配置一樣了
#2.開啟logbin 主從同步其實(shí)就是讀取binlog的過程
[mysqld]
server-id=101
log-bin=mysql-bin

# 修改從庫配置
docker exec -it mysql-s /bin/bash
vim /etc/mysql/my.cnf
# 配置server-id log-bin和relay-log 
# mysql會將變化寫入relaylog 從庫來讀取relaylog做同步
[mysqld]
server-id=102
log-bin=mysql-slave-bin
relay-log=mysql-relay-bin

執(zhí)行同步

重啟主從服務(wù),進(jìn)入主庫查看主庫狀態(tài) show master status;

記錄binlog文件和position ,比如 mysql-bin.000002 1894;

進(jìn)入從庫,執(zhí)行以下命令

CHANGE MASTER TO master_host = '172.17.0.2', master_user = 'slave', master_password = '123456', master_port = 3306, master_log_file = 'mysql-bin.000002', master_log_pos = 1894, master_connect_retry = 30;

查看從庫狀態(tài) SHOW SLAVE STATUS; 這里應(yīng)該可以看到配置的主庫host和端口,日志文件及位置信息,但是此時IO是關(guān)閉的,還沒有線程開始對主庫binlog進(jìn)行同步和對relaylog進(jìn)行讀取。

這里要提一下,上面docker啟動容器時我們把端口映射到了3340 和3341 ,但是對于docker容器內(nèi)部訪問時,端口還是3306,主庫ip地址可以執(zhí)行 docker inspect mysql-m 查看自己配置的網(wǎng)絡(luò)組或者bridge 的IPAddress

然后就是在從庫開啟slave了,start slave;

關(guān)閉同步 stop slave;

接下來就可以愉快地測試?yán)?/p>

總結(jié)

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 一文搞清楚MySQL count(*)、count(1)、count(col)區(qū)別

    一文搞清楚MySQL count(*)、count(1)、count(col)區(qū)別

    本文主要介紹了MySQL count(*)、count(1)、count(col)區(qū)別,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 簡單整理MySQL的日志操作命令

    簡單整理MySQL的日志操作命令

    這篇文章主要介紹了MySQL的日志操作命令,其中重點(diǎn)講述了MySQL的日志刪除方法,需要的朋友可以參考下
    2015-12-12
  • Sysbench多線程性能測試工具

    Sysbench多線程性能測試工具

    sysbench是一個多線程性能測試工具,可以進(jìn)行CPU/內(nèi)存/IO/數(shù)據(jù)庫等性能測試,不過我絕大多數(shù)的時候都是用它來對數(shù)據(jù)庫(MySQL)進(jìn)行oltp測試
    2012-11-11
  • 解決Navicat for MySQL 連接 MySQL 報2005錯誤的問題

    解決Navicat for MySQL 連接 MySQL 報2005錯誤的問題

    在本地MySQL的服務(wù)啟動后,由于Navicat的一些功能需要聯(lián)網(wǎng)才可以使用,今天重點(diǎn)給大家介紹Navicat for MySQL 連接 MySQL 報2005 -Unknown MySQL server host ‘localhost’(0)錯誤的情況與解決方法,感興趣的朋友一起看看吧
    2021-05-05
  • mysql 詳解隔離級別操作過程(cmd)

    mysql 詳解隔離級別操作過程(cmd)

    這篇文章主要介紹了mysql 詳解隔離級別操作過程(cmd)的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • mysql存儲過程多層游標(biāo)循環(huán)嵌套的寫法分享

    mysql存儲過程多層游標(biāo)循環(huán)嵌套的寫法分享

    這篇文章主要介紹了mysql存儲過程多層游標(biāo)循環(huán)嵌套的寫法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • MySQL中g(shù)roup_concat函數(shù)用法小結(jié)

    MySQL中g(shù)roup_concat函數(shù)用法小結(jié)

    MySQL中g(shù)roup_concat函數(shù)用于將groupby產(chǎn)生的同一個分組中的值連接成一個字符串,支持去重、排序和自定義分隔符,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-11-11
  • linux下改良版本mysqldump來備份MYSQL數(shù)據(jù)庫

    linux下改良版本mysqldump來備份MYSQL數(shù)據(jù)庫

    我的備份腳本都是在凌晨執(zhí)行的,經(jīng)常在慢查詢?nèi)罩纠锩婵吹竭@樣的信息:select * from table1; 之前一直很納悶,最后才了解到原來是MYSQLDUMP搞的鬼。
    2008-07-07
  • MySQL?count(*),count(id),count(1),count(字段)區(qū)別

    MySQL?count(*),count(id),count(1),count(字段)區(qū)別

    本文主要介紹了MySQL?count(*),count(id),count(1),count(字段)區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • MySQL主從復(fù)制與讀寫分離的使用示例

    MySQL主從復(fù)制與讀寫分離的使用示例

    在企業(yè)應(yīng)用中,成熟的業(yè)務(wù)通常數(shù)據(jù)量都比較大,所以需要配置多臺主從數(shù)據(jù)服務(wù)器以實(shí)現(xiàn)讀寫分離,本文主要介紹了MySQL主從復(fù)制與讀寫分離的使用示例,感興趣的可以了解一下
    2023-09-09

最新評論