Docker 安装 Mysql(2)

简介: 本文介绍MySQL主从复制的容器化部署流程,包括主库(3307端口)与从库(3308端口)的配置、同步用户创建、主从连接设置及状态验证。通过`change master to`指令配置复制关系,启动后检查`Slave_IO_Running`和`Slave_SQL_Running`状态为Yes,完成同步。最后通过在主库建表插入数据,在从库验证数据一致性,实现主从复制功能。

Mysql 主从复制安装
安装主服务器容器实例(端口号3307):
启动容器实例

进入/app/mysql-master/conf,新建my.cnf配置文件:

重启容器实例

进入容器实例内

登录mysql,创建数据同步用户

安装从服务器容器实例(端口号3308):
启动容器服务:

进入/app/mysql-slave/conf目录,创建my.cnf配置文件:

修改完配置需要重启slave容器实例

在主数据库中查看主从同步状态:
进入主数据库容器:

进入Mysql

查看主从同步状态

主要查看返回结果的文件名File、当前位置Position
进入从数据库容器,配置主从复制:
进入从数据库容器:

进入数据库

配置从数据库所属的主数据库:
SQL
运行代码
复制代码
1
2
3
4
-- 格式:
-- change master to master_host='宿主机ip',master_user='主数据库配置的主从复制用户名',master_password='主数据库配置的主从复制用户密码',master_port=宿主机主数据库端口,master_log_file='主数据库主从同步状态的文件名File',master_log_pos=主数据库主从同步状态的Position,master_connect_retry=连接失败重试时间间隔(秒);

change master to master_host='192.168.xxx.xxx',master_user='slave',master_password='123456',master_port=3307,master_log_file='mall-mysql-bin.000001',master_log_pos=769,master_connect_retry=30;

查看主从同步状态:
SQL
运行代码
复制代码
1
2
3

\G 可以将横向的结果集表格转换成纵向展示。

slave status的字段比较多,纵向展示比友好

show slave status \G;

除了展示刚刚配置的主数据库信息外,主要关注 Slave_IO_Running、Slave_SQL_Running。目前两个值应该都为 No,表示还没有开始。
开启主从同步:
SQL
运行代码
复制代码
1
start slave;

再次查看主从同步状态,Slave_IO_Running、Slave_SQL_Running都变为Yes。
主从复制测试:
在主数据库上新建库、使用库、新建表、插入数据
SQL
运行代码
复制代码
1
2
3
4
create database db01;
use db01;
create table t1 (id int, name varchar(20));
insert into t1 values (1, 'abc');

在从数据库上使用库、查看记录
SQL
运行代码
复制代码
1
2
3
show databases;
use db01;
select * from t1;

相关文章
|
关系型数据库 MySQL 网络安全
|
Shell 网络安全 开发工具
Windows环境安装及配置git并连接gitee远程仓库
Windows环境安装及配置git并连接gitee远程仓库
5400 0
|
SQL XML Java
解决关于在idea使用Mybatis时, 编写xml的动态sql语句背景高亮不舒服问题
解决关于在idea使用Mybatis时, 编写xml的动态sql语句背景高亮不舒服问题
4316 0
|
5月前
|
关系型数据库 MySQL 数据库
Docker安装Mysql
本文介绍Docker安装MySQL 5.7的完整流程,涵盖单机部署与主从复制。通过容器卷映射解决中文乱码与数据持久化问题,并详细演示主从配置步骤,实现数据同步,适用于生产环境搭建与学习参考。
334 0
|
云栖大会 开发者
收到阿里云【乘风者计划】博主证书和奖励
收到阿里云【乘风者计划】博主证书和奖励 2023年2月对我来说是一个很好的开端,因为我在1号就收到了阿里云寄给我的【乘风者计划】博主证书和奖励。好兆头啊! 我收到的是我获得的【技术博主】【星级博主】【专家博主】三个的奖品和证书,一快给我寄过来哒!
3253 2
收到阿里云【乘风者计划】博主证书和奖励
|
存储 Ubuntu 数据库
Dockerfile(14) - VOLUME 指令详解
Dockerfile(14) - VOLUME 指令详解
5618 0
|
5月前
|
敏捷开发 持续交付
阿里巴巴-云效
通过阿里云效平台实现高效研发协作:开通服务后,可进行需求管理,创建项目并协作更新任务,支持看板模式直观跟进进度;结合代码托管与自动化部署,完成代码提交、流水线构建与发布全流程,助力团队敏捷开发。(239字)
|
5月前
|
人工智能 前端开发 JavaScript
4.6 前端(Cursor)-页面布局
使用Sealos DevBox创建Vue项目,通过Cursor开发。执行`npm run dev`启动,访问公网地址即可预览。基于Vue3+ElementPlus实现“智学云帆”布局:顶部标题、右侧登录信息、左侧菜单,右侧动态页面。优化背景色、宽度及响应式,首页设计简洁大气,提升整体视觉体验。(238字)
|
5月前
|
关系型数据库 MySQL Java
4.2 服务端(Cursor)-接口开发(部门管理)
基于SpringBoot+Mybatis+PageHelper,使用JDK8+语法,连接内网MySQL数据库(Sealos托管),完成部门管理5大接口开发:列表查询、根据ID查询、添加、修改、删除部门。结合dept表结构与接口文档,实现RESTful API,返回统一格式数据,通过ApiFox测试验证功能完整可用。(239字)
|
5月前
|
存储 人工智能 关系型数据库
4.3 服务端(Cursor)-接口开发(员工管理)
基于SpringBoot+Mybatis+PageHelper,使用JDK8+新语法实现员工管理功能,涵盖分页查询、新增、修改、删除、详情及全量查询接口,操作emp与emp_expr表,支持多条件筛选与级联工作经历处理,高效完成前后端交互。