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 修改时区

浙公网安备 33010602011771号