docker 安装 MySQL
docker 安装 MySQL
官方文档
https://hub.docker.com/_/mysql?tab=description
操作步骤
- 拉取 MySQL 镜像
docker pull mysql
,默认拉取最新版本,指定版本docker pull mysql:5.7
- 运行容器
docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=1234 -e TZ=Asia/Shanghai --restart=always mysql
- d 后台运行容器并打印容器 id ,Run container in background and print container ID
- p 将容器端口映射到宿主机,冒号前为宿主机端口,冒号后为容器端口, Publish a container's port(s) to the host
- name 容器名称
- e 设置容器环境变量
- MYSQL_ROOT_PASSWORD 设置 MySQL
root
账户密码 - TZ 设置时区
- 其他变量参考 https://dev.mysql.com/doc/refman/5.7/en/environment-variables.html
- MYSQL_ROOT_PASSWORD 设置 MySQL
- --restart=always 容器的重启策略,在容器退出时总是重启容器,其他参数值参考Use a restart policy
- 查看容器
docker ps
- 如果使用 navicat 12 连接,可能会报错
Authentication plugin 'caching_sha2_password' cannot be loaded
,需要修改 MySQL 加密方式- 进入容器
docker exec -it mysql bash
- 登录 MySQL
mysql -u root -p
- 修改加密方式
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '1234';
- 这一步可以不用, navicat 登录容器中 MySQL 属于远程登录,不需要修改本地帐号的加密方式
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '1234';
- 刷新权限
FLUSH PRIVILEGES;
,可有可无
- 进入容器
- 如果在运行容器时没有设置
TZ
,会发现 MySQL 中时间不是北京时间,还需要修改时区,百度 linux 修改时区
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!