1) 拉取基础镜像mysql
docker pull mysql
2)构建容器(操作系统,在这里面已经安装好了mysql),进入交互式环境
运行容器:docker run -e MYSQL_ROOT_PASSWORD=123456 -p 3307:3306 -itd 镜像名称或id
进入容器:docker exec -it 容器id /bin/bash
- 参数说明
-e 设置环境变量
-p 端口映射 外部端口:内部端口
-d 后台运行
-it 交互式运行
- 安全退出容器 ctrl+p+q
- 删除容器:先stop再删 docker stop 容器id docker rm 容器id
3)navicat访问mysql遇到的问题及解决方案
报错:
原因:mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password
解决:
use mysql; #选择数据库
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #更改加密方式
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; #更新用户密码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
FLUSH PRIVILEGES; #刷新权限
查看是否更改成功:
select host,user,plugin from user;