电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Docker 環境運行 Mysql 和開啟 Binlog 配置主從同步的設置方法

瀏覽:130日期:2023-10-24 11:57:09

同一服務器模擬利用 Docker 模擬 Mysql 設置的主從同步設置。

1、運行起來兩個 Mysql :masterMysql(主庫)、slaveMysql(從庫),數據庫版本 5.7。

#拉取鏡像docker pull mysql:5.7#y運行主、從容器docker run -p 13306:3306 --name slavemysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7docker run -p 13307:3306 --name mastermysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

運行完成后可以嘗試連接,注意此處的映射到主機的服務端口分別為 13306和13307,對外連接需要保證防火墻和網關設置都要放開。

2、查看容器的使用 IP(配置主從需要同一內網中的 IP 地址使用)

#查看主庫的所在 IPdocker inspect --format=’{{.NetworkSettings.IPAddress}}’ masterMysql#172.18.0.2

3、配置主從庫。

(1)進入主庫

docker exec -it masterMysql bash #masterMysql 為運行容器的名稱。

(2)進行配設置配置文件

cd /etc/mysql&&ls

Docker 環境運行 Mysql 和開啟 Binlog 配置主從同步的設置方法

可以看到,多份 *.cnf 文件,包括在 conf.d 和 mysql.conf.d 文件夾下都有。 這個是有加載順序的,此處配置就統在 my.cnf 上操作。

(3)設置配置文件

方式一:

正常操作是進入文件夾內編輯,如以下方式:

vim ./my.cnf不過這里遇到會報錯:bash: vi: command not found

先行安裝 vi

apt-get update#成功后運行apt-get install vim

方式二(建議):

在容器外編輯后拷貝到容器內,這里是直接覆蓋的方式。

復制主機到容器內。語法:docker cp [主機地址] [容器 ID 或容器名稱]:[容器文件地址]docker cp /home/mysql/my.cnf mysql:/etc/mysql/my.cnf

(4)打開 Binlog 配置。

相同的配置:進入主、從庫設置 my.cnf 配置文件。注意 server-id 需要不一致。

character_set_server=utf8init_connect=’SET NAMES utf8’#這兩條是設置utf-8字符格式,兩個主機配置相同## 同一局域網內注意要唯一(如果雙向主備庫,依賴這個去區分執行 Binlog 的 SQL 語句 )#可以取 Ip 的最后一個。主庫為 2,從庫為 3。server-id=2 ## 開啟二進制日志功能,可以隨便取(關鍵)#演示設置主庫設置為 master-bin,從庫為 slave-binlog-bin=master-binlog_bin_index = master-bin.index

其中不同的配置: 主庫:

#這里整理可以配置的內容,由于測試,先注釋。#要給從機同步的庫(如果不寫,默認全部同步)#binlog-do-db=test#不給從機同步的庫(多個寫多行)#binlog-ignore-db=mysql #設置復制的數據庫#binlog-ignore-db=information_schema #設置忽略復制的數據庫#自動清理 15 天前的log文件expire_logs_days=15#binlog_format=row #設置 Binlog 記錄的實際操作的 SQL。#max_binlog_size=100m #設置文件大小#replicate_do_table=test #進行復制的的數據表#replicate_ignore_table=igoreTest #忽略進行復制的的數據表#replicate_wild_ignore_db=test # 同 Replicate_Do_DB 可帶通配符#replicate_wild_ignore_db=igoreTest # 同 Replicate_Ignore_DB 可帶通配符

從庫:

#設置避免更新不及時或是重啟后導致主從庫復制出錯。read_only = 1master_info_repository=TABLErelay_log_info_repository=TABLErelay-log = slave-relay-bin#主庫的日志存放。relay-log-index = slave-relay-bin.index

配置是需要重啟容器后生效。

docker restart masterMysqldocker restart slaveMysql

查看容器的日志:

docker logs masterMysql

如果要是重啟失敗,可以用此操作檢查是否剛才的配置文件有出錯,利用(3)方式二,修改配置文件,再去啟動容器。

(5)查看容器是否設置 Binlog 配置成功。

#進入容器docker exec -it masterMysql bash#進入 Mysqlmysql -uroot -p123456 #查看 Binlog 狀態。show variables like ’%log_bin%’;#可以看到 log_bin 是打開的狀態,bin_log 的位置在 /var/lib/mysql/master-bin![file](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/61e52585e4aa4200a8c27204ef690234~tplv-k3u1fbpfcp-zoom-1.image)

(6)查看主庫的 Matser 節點的 Binlog 狀態,拿到此處的配置的 position 值。

show master status;

若是之前開啟的 Binlog 沒有使用,需要新生成或是重置清空。

#生成新的 Binlog 日志文件flush logs; #重置清空 Binlog 日志文件reset master;

可以查看到此處的 日志配置文件是:master-bin.000001,Position 為 334。

Docker 環境運行 Mysql 和開啟 Binlog 配置主從同步的設置方法

4、主庫設置一個賬號提供從庫同步數據使用。此處賬號為 slaveMysql。

CREATE USER ’slaveMysql’@’%’ IDENTIFIED BY ’123456’;GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO ’slaveMysql’@’%’;

5、登錄從庫的 Mysql 執行,建議還是連接到 Navicat 上運行和查看,服務器上查看格式很亂。

(1)執行同步的主庫配置。注意這里的是結尾符號。

change master to master_host=’172.18.0.2’, master_user=’slaveMysql’, master_password=’123456’, master_port=3306, master_log_file=’mysql-bin.000001’, master_log_pos= 334, master_connect_retry=30;

參數詳解:

change master to master_host=${容器所用IP} 這里需要是同一局域網內,第 2 所得。master_port Master 的端口號,指的是容器的運行數據庫的端口號,不是映射到主機的端口號,第 1 所得。master_user 設置同步使用的賬號, 第 4 所得master_password 設置同步使用的賬密碼,第 4 所得master_log_file 指定了從主庫哪個配置文件讀取 Binlog 日志,第 3(6) 所得master_log_pos 從哪個 Position 開始讀,即上文中提到的 Position 字段的值,第 3(6) 所得master_connect_retry 如果連接失敗,重試的時間間隔,單位是秒,默認是60秒

(2)打開從庫的配置。

start slave;#停止 slave。#stop slave;

(3)查看主從同步的狀態。 檢查主從同步的狀態。

show slave status ;

Docker 環境運行 Mysql 和開啟 Binlog 配置主從同步的設置方法

(4)檢查錯誤。

可以通過查看 Last_Io_Error 查看到連接的錯誤。 排查以下出錯的可能。 1>網絡不通,端口和局域網 IP 2>用于同步的賬戶密碼正常 3> Master 的 Binlog 文件名稱和 Pos 位置錯誤。

6、測試主從是否正常。

Master 庫創建數據庫,查看 從庫是否也有同步創建成功即可,到此就結束啦。

Docker 環境運行 Mysql 和開啟 Binlog 配置主從同步的設置方法

到此這篇關于Docker 環境運行 Mysql 和開啟 Binlog 配置主從同步的文章就介紹到這了,更多相關Docker Binlog mysql主從同步內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: MySQL 數據庫
相關文章:
主站蜘蛛池模板: 碎石机设备-欧版反击破-欧版颚式破碎机(站)厂家_山东奥凯诺机械 高低温试验箱-模拟高低温试验箱订制-北京普桑达仪器科技有限公司【官网】 | 茅茅虫AI论文写作助手-免费AIGC论文查重_写毕业论文降重 | 大流量卧式砂磨机_强力分散机_双行星双动力混合机_同心双轴搅拌机-莱州市龙跃化工机械有限公司 | 石家庄律师_石家庄刑事辩护律师_石家庄取保候审-河北万垚律师事务所 | 阴离子聚丙烯酰胺价格_PAM_高分子聚丙烯酰胺厂家-河南泰航净水材料有限公司 | 淬火设备-钎焊机-熔炼炉-中频炉-锻造炉-感应加热电源-退火机-热处理设备-优造节能 | 打造全球沸石生态圈 - 国投盛世| 磁棒电感生产厂家-电感器厂家-电感定制-贴片功率电感供应商-棒形电感生产厂家-苏州谷景电子有限公司 | 玻璃钢罐_玻璃钢储罐_盐酸罐厂家-河北华盛节能设备有限公司 | 铸铝门厂家,别墅大门庭院大门,别墅铸铝门铜门[十大品牌厂家]军强门业 | 厌氧工作站-通用型厌氧工作站-上海胜秋科学仪器有限公司 | 全自动在线分板机_铣刀式在线分板机_曲线分板机_PCB分板机-东莞市亿协自动化设备有限公司 | 首页_中夏易经起名网 | 一体化污水处理设备_生活污水处理设备_全自动加药装置厂家-明基环保 | 云南标线|昆明划线|道路标线|交通标线-就选云南云路施工公司-云南云路科技有限公司 | 湖州织里童装_女童男童中大童装_款式多尺码全_织里儿童网【官网】-嘉兴嘉乐网络科技有限公司 | 韦伯电梯有限公司| 广州活动策划公司-15+年专业大型公关活动策划执行管理经验-睿阳广告 | 体感VRAR全息沉浸式3D投影多媒体展厅展会游戏互动-万展互动 | 世界箱包品牌十大排名,女包小众轻奢品牌推荐200元左右,男包十大奢侈品牌排行榜双肩,学生拉杆箱什么品牌好质量好 - Gouwu3.com | 交流伺服电机|直流伺服|伺服驱动器|伺服电机-深圳市华科星电气有限公司 | 不锈钢散热器,冷却翅片管散热器厂家-无锡市烨晟化工装备科技有限公司 | 动力配电箱-不锈钢配电箱-高压开关柜-重庆宇轩机电设备有限公司 聚天冬氨酸,亚氨基二琥珀酸四钠,PASP,IDS - 远联化工 | 高铝矾土熟料_细粉_骨料_消失模_铸造用铝矾土_铝酸钙粉—嵩峰厂家 | 涡轮流量计_LWGY智能气体液体电池供电计量表-金湖凯铭仪表有限公司 | 广东健伦体育发展有限公司-体育工程配套及销售运动器材的体育用品服务商 | 稳尚教育加盟-打造高考志愿填报平台_新高考志愿填报加盟_学业生涯规划加盟 | 不干胶标签-不干胶贴纸-不干胶标签定制-不干胶标签印刷厂-弗雷曼纸业(苏州)有限公司 | 阿里巴巴诚信通温州、台州、宁波、嘉兴授权渠道商-浙江联欣科技提供阿里会员办理 | 对辊破碎机_四辊破碎机_双齿辊破碎机_华盛铭重工 | 联系我们老街华纳娱乐公司官网19989979996(客服) | 防渗土工膜|污水处理防渗膜|垃圾填埋场防渗膜-泰安佳路通工程材料有限公司 | 科昊仪器超纯水机系统-可成气相液氮罐-美菱超低温冰箱-西安昊兴生物科技有限公司 | 吉祥新世纪铝塑板_生产铝塑板厂家_铝塑板生产厂家_临沂市兴达铝塑装饰材料有限公司 | 合金ICP光谱仪(磁性材料,工业废水)-百科 | 电梯乘运质量测试仪_电梯安全评估测试仪-武汉懿之刻 | 哈尔滨京科脑康神经内科医院-哈尔滨治疗头痛医院-哈尔滨治疗癫痫康复医院 | 贵州科比特-防雷公司厂家提供贵州防雷工程,防雷检测,防雷接地,防雷设备价格,防雷产品报价服务-贵州防雷检测公司 | ETFE膜结构_PTFE膜结构_空间钢结构_膜结构_张拉膜_浙江萬豪空间结构集团有限公司 | 安徽净化板_合肥岩棉板厂家_玻镁板厂家_安徽科艺美洁净科技有限公司 | 魔方网-培训咨询服务平台|