日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

docker mysql.sock,Docker mysql主从配置

發(fā)布時間:2023/12/9 数据库 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 docker mysql.sock,Docker mysql主从配置 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Docker mysql主從配置

一:Mysql基于Docker的主從復(fù)制搭建

1:安裝docker,安裝步驟可見我之前的文章:Docker-常用基建的安裝與部署

docker ps 命令查詢當(dāng)前的容器狀態(tài),這就是我們最后要達到的效果。

2:首先拉取mysql官方鏡像

bash docker pull mysql:5.7

演示環(huán)境是在同一臺服務(wù)器上部署。因為docker創(chuàng)建容器時默認(rèn)采用bridge網(wǎng)絡(luò),會自行分配ip,不允許指定,重啟容器會導(dǎo)致ip變更。

所以我們需要創(chuàng)建自定義的bridge網(wǎng)絡(luò),這樣創(chuàng)建容器的時候才能指定ip。

bash docker network create --subnet=172.18.0.0/16 mynetwork

3:創(chuàng)建三個mysql(一主兩從)容器:

docker run -p 3306:3306 --name mysql_master --net mynetwork --ip 172.18.0.36 -e TZ=Asia/Shanghai -v /home/data/docker/mysql/mysql1/logs:/logs -v /home/data/docker/mysql/mysql1/data:/var/lib/mysql -v /home/data/docker/mysql/mysql1/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=Abcd12345 -d --restart=always mysql:5.7

docker run -p 3307:3306 --name mysql_slave1 --net mynetwork --ip 172.18.0.37 -e TZ=Asia/Shanghai -v /home/data/docker/mysql/mysql2/logs:/logs -v /home/data/docker/mysql/mysql2/data:/var/lib/mysql -v /home/data/docker/mysql/mysql2/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=Abcd12345 -d --restart=always mysql:5.7

docker run -p 3308:3306 --name mysql_slave2 --net mynetwork --ip 172.18.0.38 -e TZ=Asia/Shanghai -v /home/data/docker/mysql/mysql3/logs:/logs -v /home/data/docker/mysql/mysql3/data:/var/lib/mysql -v /home/data/docker/mysql/mysql3/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=Abcd12345 -d --restart=always mysql:5.7

上面的docker run命令中的參數(shù)都有其獨特的含義,比如 -p 3307:3306 表示當(dāng)前環(huán)境主鍵的端口(3307):docker容器內(nèi)的端口(3306)

-v /home/data/docker/mysql/mysql1/conf:/etc/mysql 這個配置的是mysql的配置文件路徑,

對于mysql_master 需要在當(dāng)前系統(tǒng)/home/data/docker/mysql/mysql1/conf目錄下創(chuàng)建 my.cnf文件,內(nèi)容如下:

[mysqld]

pid-file = /var/run/mysqld/mysqld.pid

socket = /var/run/mysqld/mysqld.sock

datadir = /var/lib/mysql

#log-error = /var/log/mysql/error.log

# By default we only accept connections from localhost

#bind-address = 127.0.0.1

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

log-bin=/var/lib/mysql/mysql-bin

server-id=36

## 主從復(fù)制的格式(mixed,statement,row,默認(rèn)格式是statement)

binlog_format=mixed

## 二進制日志自動刪除/過期的天數(shù)。默認(rèn)值為0,表示不自動刪除。

expire_logs_days=7

max_allowed_packet=20M

剩余的兩個從庫配置,/home/data/docker/mysql/mysql2/conf目錄下創(chuàng)建 my.cnf文件

[mysqld]

server-id=37

log-bin=/var/lib/mysql/mysql-slave1-bin

/home/data/docker/mysql/mysql3/conf目錄下創(chuàng)建 my.cnf文件

[mysqld]

server-id=38

log-bin=/var/lib/mysql/mysql-slave2-bin

配置修改完成后,重啟容器:

docker restart mysql_master

docker restart mysql_slave1

docker restart mysql_slave2

二:主從配置

1:進入主庫:docker exec -it mysql_master /bin/bash

bash mysql -uroot -p

mysql SHOW MASTER STATUS;

File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |

+------------------+----------+--------------+------------------+-------------------+

| mysql-bin.000001 | 154|

2:同步mysql_slave1 和 mysql_slave2

# 進入mysql_salve1

bash docker exec -it mysql_slave1 /bin/bash

# 執(zhí)行同步

mysql change master to master_host='172.18.0.36', master_user='root',master_password='Abcd12345',master_port=3306,master_log_file='mysql-bin.000001',master_log_pos=154,master_connect_retry=30;

mysql start slave;

# 進入mysql_salve2

bash docker exec -it mysql_slave2 /bin/bash

# 執(zhí)行同步

mysql change master to master_host='172.18.0.36', master_user='root',master_password='Abcd12345',master_port=3306,master_log_file='mysql-bin.000001',master_log_pos=154,master_connect_retry=30;

mysql start slave;

master_port:Master的端口號,指的是容器的端口號

master_user:用于數(shù)據(jù)同步的用戶

master_password:用于同步的用戶的密碼

master_log_file:指定 Slave 從哪個日志文件開始復(fù)制數(shù)據(jù),即主庫中提到的 File 字段的值

master_log_pos:從哪個 Position 開始讀,即主庫中提到的 Position 字段的值

master_connect_retry:如果連接失敗,重試的時間間隔,單位是秒,默認(rèn)是60秒

最后,可以自己驗證下同步的效果了。

Docker mysql主從配置 相關(guān)文章

MongoDB主從復(fù)制和副本集

MongoDB有主從復(fù)制和副本集兩種主從復(fù)制模式,主從復(fù)制最大的問題就是無法自動故障轉(zhuǎn)移,MongoDB副本集解決了主從模式無法自動故障轉(zhuǎn)義的特點,因此是復(fù)制的首

Visual Studio Code 配合php-debug在Docker環(huán)境調(diào)試

1、本地安裝環(huán)境為docker作為PHP Web環(huán)境 2、php72 容器已經(jīng)安裝好了xdebug擴展 3、php.ini 配置文件(PHP7.2映射配置) [XDebug]xdebug.remote_enable = 1xdebug.remote_handler = "dbgp"; Set to host.docker.internal on Mac and Windows, otherwise, set

SSM框架整合

一、使用環(huán)境 jdk 11mysql 8maven 3.6.3 二、pom.xml 依賴導(dǎo)入 dependencies !--junit單元測試-- dependency groupIdjunit/groupId artifactIdjunit/artifactId version4.12/version /dependency !--數(shù)據(jù)庫驅(qū)動-- dependency groupIdmysql/groupId artifactI

spring 項目 本地正常,打入docker容器就拋出bean找不到的錯誤

錯誤信息如下: Error creating bean with name 'messageServiceImpl': Lookup method resolution failed; nested exception is java.lang.IllegalStateException: Failed to introspect Class [com.qianxiao.blogwebscoket.service.impl.MessageServiceImpl

MySQL-SQL優(yōu)化

前言 在應(yīng)用開發(fā)的早期,數(shù)據(jù)量少,開發(fā)人員開發(fā)功能時更重視功能上的實現(xiàn),隨著生產(chǎn)數(shù)據(jù)的增長,很多SQL語句開始暴露出性能問題,對生產(chǎn)的影響也越來越大,有時可能這些有問題的SQL就是整個系統(tǒng)性能的瓶頸。 SQL優(yōu)化一般步驟 1、通過慢查日志等定位那些執(zhí)行

MySQL索引

一、介紹 1、什么是索引 ①索引是對數(shù)據(jù)庫表中一列或多列的值進行排序的一種結(jié)構(gòu),使用索引可快速訪問數(shù)據(jù)庫表中的特定信息。索引時一種特殊的文件(InnoDB數(shù)據(jù)表上的索引是表空間的一個組成部分),它們包含著對數(shù)據(jù)表里所有記錄的引用指針。 ②通俗的講,

Docker 安裝nginx和tomcat

前一篇文章已經(jīng)介紹過如何安裝和使用 Docker。今天來實際操作下,安裝tomcat和nginx。 拉取第一個docker鏡像 docker pull hello-world 拉取一個鏡像 可以配置國內(nèi)的一些鏡像源,這樣速度快多了。 https://hub-mirror.c.163.com https://docker.mirrors.ustc.

docker部署 springboot 多模塊項目+vue

之前學(xué)習(xí)了docker,今天就來試試將這個項目打包成docker鏡像并通過運行一個鏡像來運行項目。這里使用的項目是el-admin。是一個開源的springboot后端管理框架(前端vue),有興趣的小伙伴可以去看看。 網(wǎng)址:https://el-admin.vip 關(guān)于docker的入門可以查看我

mysql學(xué)習(xí)筆記:九.排序和分頁(order by、limit)

排序和分頁(order by、limit) 排序查詢(order by) 排序語法: select 字段名 from 表名 order by 字段1 [asc|desc],字段2 [asc|desc]; 需要排序的字段跟在 order by 之后; asc|desc表示排序的規(guī)則,asc:升序,desc:降序,默認(rèn)為asc; 支持多個字段進

Mysql筆記(二)

SQL優(yōu)化 原因:性能低、執(zhí)行時間太長了、等待時間太長、SQL語句欠佳(連接查詢)、索引失效、服務(wù)器參數(shù)設(shè)置不合理(緩沖) 查詢執(zhí)行流程 下面再向前走一些,容我根據(jù)自己的認(rèn)識說一下查詢執(zhí)行的流程是怎樣的: 1.連接 1.1客戶端發(fā)起一條Query請求,監(jiān)聽客戶

總結(jié)

以上是生活随笔為你收集整理的docker mysql.sock,Docker mysql主从配置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。