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

docker配置mysql遇到的问题:网络连接超时、启动mysql失败、navicat无法远程连接mysql

目录

1.网络超时

方式1. 网络连接问题

方式2. Docker镜像源问题

 方式3.使用国内镜像源

2.启动mysql镜像失败

3.navicat无法远程连接mysql


1.网络超时

安装MySQL时出现超时问题,可能由多种原因导致:

方式1. 网络连接问题

  • 原因:网络不稳定或速度慢,导致下载MySQL镜像或软件包时超时。

  • 解决方法

    • 检查网络连接,确保网络稳定。

    • 切换到国内镜像源,如使用阿里云的Docker镜像加速器,以提高下载速度。

方式2. Docker镜像源问题

  • 原因:使用国外的Docker镜像源时,访问速度很慢,可能会因为网络问题导致下载超时。

  • 解决方法

配置国内的Docker镜像加速器,如阿里云镜像加速器:

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://<your-mirror-address>.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

 方式3.使用国内镜像源

如果没有阿里云的镜像加速器,就使用国内的docker镜像源来拉取

国内常用的Docker镜像加速器地址(无需注册,直接配置):

镜像源加速器地址
网易https://hub-mirror.c.163.com
腾讯云https://mirror.ccs.tencentyun.com
中科大https://docker.mirrors.ustc.edu.cn
Docker官方中国源https://registry.docker-cn.com
百度云https://mirror.baidubce.com

通过编辑 /etc/docker/daemon.json 文件(若文件不存在则创建)来配置镜像源(可配置多个),示例如下:

{"registry-mirrors": ["https://阿里云专属加速器地址.mirror.aliyuncs.com",  // 替换为你的阿里云地址"https://hub-mirror.c.163.com","https://mirror.ccs.tencentyun.com"]
}
# 重启 Docker 服务
sudo systemctl daemon-reload
sudo systemctl restart docker

2.启动mysql镜像失败

sudo docker run --name mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-p 3306:3306 \
-d mysql:5.7 \
-v /mydata/mysql/conf:/etc/mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql

查看容器启动失败(exited),使用 docker logs mysql查看错误信息

从新的日志信息可知,MySQL 容器启动失败是因为 mysqld 无法读取 /etc/mysql/conf.d/ 目录,错误码显示该目录不存在。我们的命令指定的配置文件路径是/etc/mysql/,而容器读取的配置文件路径是/etc/mysql/conf.d/。

在这一行-v /mydata/mysql/conf:/etc/mysql,我们将主机路径/mydata/mysql/conf挂载到容器路径/etc/mysql下,但实际上容器配置在/etc/mysql/conf.d/目录下。

修改启动的配置文件

docker run -d \--name mysql \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=your_password \
-v /mydata/mysql/conf:/etc/mysql/conf.d \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
mysql:5.7

启动成功

3.navicat无法远程连接mysql

这个错误表明,你的客户端尝试通过 IP 地址连接到 MySQL 服务器,但服务器拒绝了这个请求。这是因为在 MySQL 中,用户权限是与客户端的 IP 地址绑定的。如果用户 root 没有被授权从  这个 IP 地址进行连接,就会出现这个错误。

docker start mysql 
docker exec -it mysql bash
mysql -uroot -p123456
grant all privileges on *.* to root@'%' identified by '123456' with grant option;
flush privileges;

http://www.xdnf.cn/news/2330.html

相关文章:

  • 跨端时代的全栈新范式:React Server Components深度集成指南
  • 智能赋能与精准评估:大语言模型在自动作文评分中的效度验证及改进路径
  • JS toFixed的坑以及四舍五入实现方法
  • 可靠传输的守护者:揭开计算机网络传输层的奥秘
  • 【C++】14.容器适配器 | stack | queue | 仿函数 | priority_queue
  • 迷宫问题演示
  • Kafka + Kafka-UI
  • Python dotenv 使用指南:轻松管理项目环境变量
  • 【SSH 端口转发】通过SSH端口转发实现访问远程服务器的 tensorboard
  • 什么是函数依赖中的 **自反律(Reflexivity)**、**增广律(Augmentation)** 和 **传递律(Transitivity)?
  • Eclipse 插件开发 2
  • RASP技术在DevOps中的安全应用
  • Python-MCPServer开发
  • 产业观察:哈飞空客2025.4.26
  • 【MATLAB】基于RSSI原理的Wi-Fi定位程序,N个锚点(数量可自适应)、三维空间,轨迹使用UKF进行滤波,附完整代码(订阅专栏后可直接复制粘贴)
  • 100亿补贴不是终点:京东外卖在下一盘颠覆即时零售的大棋
  • w307MES生产制造执行系统设计与实现
  • SEO新手快速上手核心步骤
  • 【Android Compose】焦点管理
  • AWS中国区ICP备案全攻略:流程、注意事项与最佳实践
  • python 画折线统计图
  • 华为OD机试真题——二维伞的雨滴效应(2025A卷:200分)Java/python/JavaScript/C/C++/GO最佳实现
  • element ui el-col的高度不一致导致换行
  • AQS条件队列源码详细剖析
  • FPGA 100G UDP纯逻辑协议栈
  • 【C语言】柔性数组
  • 单片机-89C51部分:3、创建工程
  • 【MCP 应用】CherryStudio 配置和应用 MCP
  • node入门和npm
  • std::mutex底层实现原理