Docker创建MySQL容器并远程连接
下载镜像
docker pull mysql/mysql-server:8.0
运行实例
docker run -d --name myMySQL8.0 -p 3308:3306 -e MYSQL_ROOT_PASSWORD=root -e MYSQL_ROOT_HOST=% mysql/mysql-server:8.0
如上运行实例命令的含义如下:
- run:运行
- -d:后台运行
- --name:起个名字
- -p:映射端口,用主机的
3308
映射到容器中MySQL的 3306 端口 - -e MYSQL_ROOT_PASSWORD:就是说要去设置密码,用户名和密码都统一设置为了
root
- -e MYSQL_ROOT_HOST:设置主机,
%
代表的是当前的本地主机最后一个就是镜像的名称:TAG名称
实例了一个容器之后在进入到容器当中命令如下:
docker exec -it myMySQL8.0 bash
然后就可以利用 mysql -u root -p
连接 MySQL 如下所示。
先登录并做一些修改以便 navicat
连接,密码为 root 账号也是 root 以上已经介绍过了。
2059 问题解决方案
原因为安装时选择了强加密规则 caching_sha2_password
,与之前的 MySQL5.7 的 mysql_native_password
规则不同,navicate 驱动目前不支持新加密规则,解决办法就是通过终端的方式连接 MySQL 之后运行如下命令即可更改一下加密规则。
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
1045 access denied
默认 root 用户是不能进行远程访问连接的,解决办法就是通过终端的方式连接 MySQL 之后运行如下命令即可访问。
alter user 'root'@'localhost' identified by 'root';
alter user 'root'@'%' identified by 'root';
flush privileges;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具