部署 MySQL 容器
官方文档
hub.docker.com/_/mysql?tab…
安装步骤
- 拉取 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 设置容器环境变量
- --restart 容器重启策略,具体参数值参考 docs.docker.com/engine/cont…
- 查看容器:
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 修改时区