好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > docker實現mysql主從復制的示例代碼

docker實現mysql主從復制的示例代碼

熱門標簽:寧夏房產智能外呼系統要多少錢 貴陽教育行業電話外呼系統 藍點外呼系統 撫順移動400電話申請 烏海智能電話機器人 400電話申請方案 威海人工外呼系統供應商 做外呼系統的公司違法嗎 在百度地圖標注車輛

一、概述

1、原理

  • master服務器將數據的改變記錄二進制binlog日志,當master上的數據發生改變時,則將其改變寫入二進制日志中;
  • slave服務器會在一定時間間隔內對master二進制日志進行探測其是否發生改變,如果發生改變,則開始一個I/OThread請求master二進制事件
  • 同時主節點為每個I/O線程啟動一個dump線程,用于向其發送二進制事件,并保存至從節點本地的中繼日志中,從節點將啟動SQL線程從中繼日志中讀取二進制日志,在本地重放,使得其數據和主節點的保持一致,最后I/OThread和SQLThread將進入睡眠狀態,等待下一次被喚醒。

主從流程圖

2、實現

主庫:192.168.3.13:3310從庫:192.168.3.14:3310二、創建master主庫進入服務器192.168.3.13

1、安裝鏡像

docker pull mysql:8.0.26

2、新建目錄

mkdir -p /home/apps/mysql-master/{config,log,data}

3、創建并啟動

docker run -d --name mysql-master \

--restart=always \

--privileged=true \

-p 3310:3306 \

-v /home/apps/mysql-master/config:/etc/mysql/conf.d \

-v /home/apps/mysql-master/log:/var/log/mysql \

-v /home/apps/mysql-master/data:/var/lib/mysql \

-e MYSQL_ROOT_PASSWORD=123456 \

mysql:8.0.26

4、新增/修改master基本配置

vim /home/apps/mysql-master/config/my.cnf

添加以下內容

[client]
default-character-set=utf8
 
[mysql]
default-character-set=utf8
 
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve

三、創建Slave實例

進入服務器192.168.3.14

1、同上面操作一樣

# 創建目錄
mkdir -p /home/apps/mysql-slave-01/{config,log,data}

# 啟動容器
docker run -d --name mysql-slave-01 \

--restart=always \

--privileged=true \

-p 3310:3306 \

-v /home/apps/mysql-slave-01/config:/etc/mysql/conf.d \

-v /home/apps/mysql-slave-01/log:/var/log/mysql \

-v /home/apps/mysql-slave-01/data:/var/lib/mysql \

-e MYSQL_ROOT_PASSWORD=123456 \

mysql:8.0.26


# 修改Slave基本配置
vim /home/apps/mysql-slave-01/config/my.cnf

# 添加以下內容
[client]
default-character-set=utf8
 
[mysql]
default-character-set=utf8
 
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve

四、主從配置

1、添加master配置

vim /home/apps/mysql-master/config/my.cnf
server_id=1

# 開啟二進制日志
log-bin=mysql-bin
read-only=0

# 需要同步的數據庫
binlog-do-db=rapid-cloud
binlog-do-db=rapid-cloud-test

# 需要忽略的數據庫
replicate-ignore-db=mysql
replicate-ignore-db=sys
replicate-ignore-db=information_schema
replicate-ignore-db=performance_schema

2、重啟容器

docker restart mysql-master

3、添加Slave配置

vim /home/apps/mysql-slave-01/config/my.cnf

server_id=2
log-bin=mysql-bin
read-only=1
binlog-do-db=rapid-cloud
binlog-do-db=rapid-cloud-test

replicate-ignore-db=mysql
replicate-ignore-db=sys
replicate-ignore-db=information_schema
replicate-ignore-db=performance_schema

4、重啟容器

docker restart mysql-slave-01

5、master添加帳號,用來同步的用戶

# 進入容器
docker exec -it mysql-master /bin/bash

# 進入主庫mysql數據庫
mysql -u root -p

# 授權root可以遠程訪問( 主從無關,為了方便我們遠程連接mysql)

# 授權遠程
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

# 刷新
flush privileges;


# 創建backup用戶

# 應先創建新用戶
create user 'backup'@'%' identified by '123456';

# 執行授權
grant all privileges on *.* to 'backup'@'%';

# 刷新
flush privileges;

# 授權遠程
ALTER USER 'backup'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

# 刷新
flush privileges;

# 查看主庫狀態
show master status;

6、在從庫里設置主庫連接

# 進入容器
docker exec -it mysql-slave-01 /bin/bash

# 進入主庫mysql數據庫
mysql -u root -p

change master to master_host='192.168.3.13',master_user='backup',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=0,master_port=3310;

7、啟動從庫同步

先將主庫的數據復制一份到從庫,包含表結構及數據

將主庫binlog清除一下,這樣它的位置就從0開始了

purge master logs to'mysql-bin.000001';

開啟同步

# 開始同步
start slave;

# 停止同步
# stop slave;

# 查看同步狀態
show slave status\G;

8、錯誤排查

如果無法實現主從同步,可以通過以下排查

總結:

主從數據庫在自己配置文件中聲明需要同步哪個數據庫,忽略哪個數據庫等信息。并且server-id不能一樣主庫授權某個賬號密碼來同步自己的數據從庫使用這個賬號密碼連接主庫來同步數據

五、參考

https://www.cnblogs.com/heian99/p/12104189.html

https://blog.csdn.net/lilygg/article/details/98187015

binlog清除:https://www.cnblogs.com/kiko2014551511/p/11532426.html

到此這篇關于docker實現mysql主從復制的示例代碼的文章就介紹到這了,更多相關docker mysql主從復制內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

標簽:松原 泰州 那曲 蕪湖 朝陽 銅川 慶陽 周口

巨人網絡通訊聲明:本文標題《docker實現mysql主從復制的示例代碼》,本文關鍵詞  docker,實現,mysql,主從,復制,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《docker實現mysql主從復制的示例代碼》相關的同類信息!
  • 本頁收集關于docker實現mysql主從復制的示例代碼的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 午夜三级做爰视频在线看| 成人乱码一区二区三区| 罗志祥多人运动在线观看| 韩国午夜理伦三级在线观看88| 一级特色大黄美女播放 | 国产在线拍偷自揄观看视频网站| 欧美洋妞大白屁股撅起来 | 高潮呻吟整个身体都颤抖| 97亚洲成a人无码亚洲成a无码| 波多野结衣电梯| 无尽?裸体?白丝?3D森林世界| 成人做爰www看视频软件| 99任你躁精品视频| 国产成人精品怡红院| 一级做a爰片久久毛片蜜桃| 天天躁日日躁狠狠躁张津瑜| 婷婷综合丁香| 国产无套免费网站| 久久精品国产亚洲妲己影院| 全色 图片区小说区偷拍区| 欧美人成网站免费大全| 么公好大好硬好深好爽想要| 日本19xxxx撤尿| 妺妺窝人体色www聚色窝仙踪| 亚洲春色综合另类校园电影 | 上门服务24小时接单网站| 人妻斩り56歳佳子AV| 久青草国产视频| 香蕉成人福利片视频在线观看| 国产在线操| 国产精品一区一区三区免费视频| 做爰爽全过程免费的看| 黄文免费| 国产亚洲精品hd网站| 亚洲 欧美 日韩 国产 高清| 美剧《欲情第一季》| 美女被视频网站免费看| 我被两个男的cao尿了| 你的奶好大让我边揉边做| 近親相姦中出し親子本庄瞳 | 男人边吃奶边做|