IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> docker Mysql 主从复制安装教程 -> 正文阅读

[系统运维]docker Mysql 主从复制安装教程

创建一个桥接网络

docker network create somenetwork	// docker 默认创建的网络模式就是桥接模式  也可以通过 -d 参数指定
例如:
docker network create -d bridge somenetwork2

// 创建完后 运行 docker network ls 查看是否创建成功

拉取 mysql 镜像

docker pull mysql:5.7 // 因为我嫌 8.0 版本配置密码太麻烦,为了省事,我选了 5.7 版本
// 执行后,可以看到 docker 开始查找并拉取镜像,拉取完后,执行如下命令,可以看到已经把镜像拉取到本地了
docker images	

(Ps: 450兆,啧啧啧)

启动 主节点 mysql

docker run -p 3309:3306 --name master -e MYSQL_ROOT_PASSWORD=123456 --network somenetwork -d mysql:5.7
//  然后查看是否启动成功
docker ps

(请忽略 3310 那个 容器,那个是之后咱们要启动的 从库的端口映射)

这个时候,其实已经可以使用 Navicat 连接一下了, IP就是你电脑的 IP,端口,我们映射到你电脑的 3309 端口。

下面需要配置主节点:

进入容器

docker exec -it a9236d6dc2f3 /bin/bash	// 这里的 a9236d6dc2f3 就是上面咱们运行 docker ps 查看到的容器 ID
// 然后会看到进入了一个新的命令窗口,像这样:

?

我们需要编辑 mysql 的配置文件,因为这个镜像是最小安装,所以,没有 vim 命令,我们需要先安装 vim,我们使用 apt-get 命令安装,首先需要更新一下包列表,像下面这样

apt-get update // 回车,注意留意打印,会问你是 Y/n 输入 y 即可
// 更新完后,开始安装 vim 
apt-get install vim	// 时间会比较长
// 安装完后我们退出容器
exit

//这里由于在从节点我们还需要在安装一遍 vim ,所以,这里我才去一个取巧的方式,把镜像导出导入一下,命令如下:
docker export -o master a9236d6dc2f3	// a9236d6dc2f3 是咱们刚才启动的那个镜像的 ID
// 稍等一下,就可以看到在当前目录下生成了一个 master 文件

?

再把这个文件导入到 docker 里

后面我们启动从节点的时候,就用这个镜像 ID,而不是 mysql 5.7 的那个 ID了。

现在我们再回到主节点的容器里:

docker exec -it a9236d6dc2f3 /bin/bash
// 配置 my.cnf
vim /etc/mysql/my.cnf
// 增加如下部分
[mysqld]
## 设置server_id,随便自定义一个数字,主从节点中保持唯一即可
server-id=100  
## 开启二进制日志功能,以备Slave作为其它Slave的Master时使用
log-bin=mysql-bin 
// 完成后 保存文件
// 查看一下

?

现在就可以运行 mysql 命令进行登陆了,像这样

mysql -u root -p	// 回车,然后输入你的密码

?

然后给即将启动的从节点配置用户名和权限

CREATE USER 'slave'@'%' IDENTIFIED BY '123456';	// 用户是 slave ,用户密码是: 123456
// 把从机复制、客户端复制 这两个权限配给 slave
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave'@'%';
// 配置完后,退出 docker 容器,从新启动一下这个容器
exit

docker restart a9236d6dc2f3
// 重启之后,再次进入容器
docker exec -it a9236d6dc2f3 /bin/bash

然后连接上 mysql ,查看一下主节点状态:

看到我框住的 File 和 Position 这两个属性了嘛?一会我们配置从节点要用到这两个值。

启动从节点 mysql

这里从我们导入的那个镜像来启动,避免再次安装 vim 。

docker run -p 3310:3306 --name slave -e MYSQL_ROOT_PASSWORD=123456 --network somenetwork -d 8e78ba42be65
//  然后查看是否启动成功
docker ps

?

进入容器,配置 my.cnf

docker exec -it ac7dfccacf6b /bin/bash

vim /etc/mysql/my.cnf
// 增加如下内容
[mysqld]
server-id=101  
log-bin=mysql-slave-bin   
relay_log=edu-mysql-relay-bin

// 保存,查看一下
cat /etc/mysql/my.cnf

?

退出 docker ,重启一下容器

?

重启之后再次进入容器:

docker exec -it ac7dfccacf6b /bin/bash
// 进入 mysql 
mysql -u root -p // 回车,输入 mysql 密码

?

配置从节点信息:

// master_host 主节点 IP  ,master_user 我们上面在 主节点配置的从节点用户,master_password 配置的 slave  用户连接 master 节点的 密码,master_port 主节点端口,master_log_file 主节点的 file ,我们上面查看主节点状态时,看到的那两个属性中的 File 属性值,master_log_pos 两个属性值中的 Position 属性值。
change master to master_host='172.17.0.2', master_user='slave', master_password='123456', master_port=3306, master_log_file='mysql-bin.000001', master_log_pos= 2830, master_connect_retry=30;

查看主节点 mysql IP:

?配置完后,启动从节点,查看一下当前的从节点 mysql 状态:

start slave
show slave status\G;

可以看到 Slave_IO_Running、Slave_SQL_Running 这两个属性都是 Yes,证明我们的从节点已经配置成功,这时就可以在主节点创建一个库,就会自动同步到从节点;如果这两个属性是 No,那么可以在对应的 Last_IO_Error、Last_SQL_Error 看待对应的错误信息,具体情况具体解决吧。?

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-01-01 14:23:11  更:2022-01-01 14:24:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 6:42:18-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码