docker mysql主从 跨公网IP

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!

一、主库安装
  1. 参照dockerhub描述创建一个mysql基础容器

方法一:

可以创建一个最简单myql容器,然后再修改配置

docker run --name fanrui_mysql_master -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag 在这里插入图片描述

方法二:

创建一个带映射配置文件的容器(请注意下面在一行执行)

docker run --name some-mysql -v /my/custom:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag

在这里插入图片描述

  • **注: 之所以介绍两种方式是因为第一种方法需要进入容器内编辑配置文件,从而导致not foud vim

解决方法:1 apt-get update 2 apt-get install vim

这两个步骤都有可能会失败,而且特别慢,只能耐心等待,或者去喝杯咖啡了,

失败的话,重新执行一次或几次还是可以成功的(我暂时没有加速的办法)**

  • **注:第二种方法需要重点注意映射的的宿主机路径与容器路径的关系,可能导致映射失败

解决方法:1 映射前宿主机chmod 777 宿主机目录

2 目录一定要映射到足够深的目录**

  • **注:下图1是我按照dockehub上的介绍,映射到1的位置,编辑mysql配置文件mysql.cnf不生效

下图2是我按照dockehub上的介绍,映射到2的位置,编辑mysql配置文件mysqld.cnf可生效**

在这里插入图片描述

  1. 编辑mysqld.cnf

在[mysqld]下添加

# 这里的 server-id 相对于从库唯一即可

server-id = 1

log-bin = mysql-bin

  1. 重启mysql服务,停止容器,再重启动容器即可

docker stop mysql容器

docker start mysql容器

  1. 进入主mysql,查看master信息

在这里插入图片描述

二、从库安装

1.从库容器创建:参照主库容器

2. 修改配置文件

路径:/etc/mysql/mysql.cnf.d/mysql.cnf

在[mysqld]下添加

# 这里的 server-id 相对于主库唯一即可

server-id = 13

log-bin = mysql-slave-bin

relay-log =edu-mysql-replay-bin

在这里插入图片描述

3. 重启mysql服务,停止容器,再重启动容器即可

docker stop mysql容器

docker start mysql容器

4. 进入mysql从库,执行下面语句

该语句功能为给从库指定同步目标

change master to master_host=‘公网IP’, master_user=‘root’, master_password=‘123456’, master_port=3306, master_log_file=‘mysql-bin.000003主库刚才查到的’, master_log_pos= 2830同步位置, master_connect_retry=30;

  • 注:正常情况不应该用root去同步,为了试验方便就暂时用root吧

5.检查配置状态

执行:show slave status \G;

在没有执行start slave的时候,两个yes,应该是两个No,不过没有问题,不是错误

执行:start slave,再执行 show slave status \G;

如果一个yes,一个一直是connectioning,那么恭喜你,只差最后一步了!

在这里插入图片描述

三、公网配置
  1. 关闭主从库容器,并打包成新的镜像

镜像打包请参照:镜像打包

  1. 创建新的主从容器,并分别将2375端口映射到3306

docker run -d --name new_main -p 2375:3306 新主库镜像:tag

docker run -d --name new_slave -p 2375:3306 新从库镜像:tag

总结:心得体会

既然选择这个行业,选择了做一个程序员,也就明白只有不断学习,积累实战经验才有资格往上走,拿高薪,为自己,为父母,为以后的家能有一定的经济保障。

学习时间都是自己挤出来的,短时间或许很难看到效果,一旦坚持下来了,必然会有所改变。不如好好想想自己为什么想进入这个行业,给自己内心一个答案。

面试大厂,最重要的就是夯实的基础,不然面试官随便一问你就凉了;其次会问一些技术原理,还会看你对知识掌握的广度,最重要的还是你的思路,这是面试官比较看重的。

最后,上面这些大厂面试真题都是非常好的学习资料,通过这些面试真题能够看看自己对技术知识掌握的大概情况,从而能够给自己定一个学习方向。包括上面分享到的学习指南,你都可以从学习指南里理顺学习路线,避免低效学习。

大厂Java架构核心笔记(适合中高级程序员阅读):

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!
构核心笔记(适合中高级程序员阅读):**

[外链图片转存中…(img-WIuaUfz3-1714417863735)]

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!

  • 27
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Docker MySQL主从是一种数据库复制技术,通过在Docker容器中创建MySQL实例来实现主从同步。这种技术可以使数据在主数据库上的变化自动同步到从数据库上,确保数据的一致性和高可用性。 在创建Docker MySQL主从时,首先需要关闭防火墙并重启Docker以确保后续安装的MySQL可以正常启动。接下来,需要在Docker中创建并启动MySQL主服务器,通过端口映射将宿主机的端口与Docker容器内的MySQL服务器端口绑定。同时,还需要指定MySQL的配置文件和数据存储路径,并设置MySQL的root密码。 创建主服务器的命令示例为: 引用: ```bash docker run -d \ -p 3306:3306 \ -v /hitd/mysql/master/conf:/etc/mysql/conf.d \ -v /hitd/mysql/master/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=123456 \ --name hitd-mysql-master \ mysql:8.0.29 ``` 引用: ```bash docker run -p 3307:3306 --name mysql-master \ -v /mydata/mysql-master/log:/var/log/mysql \ -v /mydata/mysql-master/data:/var/lib/mysql \ -v /mydata/mysql-master/conf:/etc/mysql \ -e MYSQL_ROOT_PASSWORD=root \ -d mysql:5.7 ``` 然后,需要创建MySQL主服务器的配置文件,并配置日志、数据和配置文件的路径。 最后,可以通过进入从数据库容器并使用MySQL客户端工具查看主从同步状态。 引用: ```bash docker exec -it mysql-slave /bin/bash mysql -uroot -proot ``` 通过以上步骤,你可以成功创建Docker MySQL主从环境。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Docker搭建MySQL主从同步(全网最全保姆教程)](https://blog.csdn.net/qq_49619863/article/details/128047193)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [【Docker 基础教程】Mysql主从环境搭建](https://blog.csdn.net/apple_51931783/article/details/126350430)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值