当前位置: 首页 > news >正文

docker 部署 mysql8.0 无法访问

文章目录

  • 🗽先来说我的是什么情况
    • 🪁问题描述
    • 🪁解决方法:
      • ✔️1 重启iptables
      • ✔️2 重启docker
    • 🪁其他有可能连不上的原因
      • ✔️1 客户端不支持caching_sha2_password的加密方式
      • ✔️2 my.conf 配置只有本机可以访问

🗽先来说我的是什么情况


这是我的启动命令,发现没有我这里是没有指定端口的

docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag

这段命令的来源是docker 镜像仓库官网

在这里插入图片描述

🪁问题描述


  • 使用 docker ps 查看 发现端口有没有什么不一样没 正常的都有 0.0.0.0:端口 我的这个没有
    在这里插入图片描述
  • 于是我把这个容器删除了docker rm -f 容器Id,重新创建了一个docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0
  • 我寻思这下应该没有问题了吧,结果…
    在这里插入图片描述启动docker容器时报iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport错误
    错误原因:
    在防火墙中默认 nat 是 REJECT的,所以端口映射被拒绝。

🪁解决方法:


✔️1 重启iptables


vim /etc/sysconfig/iptables
##注释掉下面这一行,这行的意思是拒绝掉所有的FORWARD,拒绝的提示信息是icmp-host-prohibited(禁止)
#-A FORWARD -j REJECT --reject-with icmp-host-prohibited#重启iptables
systemctl restart iptables.service 

✔️2 重启docker


我自己是用这个方式解决的,我自己对防火墙这块不是很了解,就不过多的分析了

systemctl restart docker

可以看到重启之后再去执行启动命令就可以了
在这里插入图片描述

在这里插入图片描述

🪁其他有可能连不上的原因


✔️1 客户端不支持caching_sha2_password的加密方式


# 进入mysql容器内容
docker exec -it mysql bash
# 进入输入下面命令 ,然后输入密码
mysql -u root -p
# 查看用户列表
select host,user,plugin,authentication_string from mysql.user;
# 修改 mysql_native_password 加密方式
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

# 重启一下容器即可
docker restart mysql

✔️2 my.conf 配置只有本机可以访问


# 进入mysql容器内容
docker exec -it mysql bash
cd /etc/mysql/
cat my.cnf
# 改成这个 或者注释掉
bind-address=0.0.0.0
# 重启一下容器即可
docker restart mysql

在这里插入图片描述

http://www.lryc.cn/news/100577.html

相关文章:

  • 理解构建LLM驱动的聊天机器人时的向量数据库检索的局限性 - (第1/3部分)
  • IntersectionObserver实现小程序长列表优化
  • Nginx动静分离、资源压缩、负载均衡、黑白名单、防盗链等实战
  • Rust之枚举与模式匹配
  • nfs服务器的描述,搭建和使用
  • libuv库学习笔记-filesystem
  • 记录vue的一些踩坑日记
  • Mybatis学习笔记
  • 网络编程(11):三次握手和四次挥手部分细节(后续补充)
  • MySQL学习笔记 ------ 子查询
  • 自然语言处理应用程序设计
  • LeetCode 436. Find Right Interval【排序,二分;双指针,莫队】中等
  • 正则表达式 —— Sed
  • TypeScript中数组,元组 和 枚举类型
  • MyBatis-Plus-Join 多表查询的扩展
  • 认清现实重新理解游戏的本质
  • LeetCode 2050. Parallel Courses III【记忆化搜索,动态规划,拓扑排序】困难
  • ETHERNET/IP转RS485/RS232网关什么是EtherNet/IP?
  • 使用node内置test runner,和 Jest say 拜拜
  • 《面试1v1》Kafka的架构设计是什么样子
  • 比较常见CPU的区别:Intel、ARM、AMD
  • CAN转EtherNet/IP网关can协议是什么意思
  • java可变字符序列:StringBuffer、StringBuilder
  • Mac/win开发快捷键、vs插件、库源码、开发中的专业名词
  • linux 系统编程
  • Python策略模式介绍、使用方法
  • 城市气象数据可视化:洞察气候变化,构建智慧城市
  • Rust-IO
  • cp -r 源目录 目标目录
  • redis之Bitmap