- 运行MySQL镜像
- -p将主机的端口号映射为容器的端口号
- –name为容器起别名
- -e指定参数
- -d后台运行
docker run -p 3306:3306 --name mysql01 -d -e MYSQL_ROOT_PASSWORD=123 mysql
- 使用Navicat连接容器,主机名是虚拟机的主机ip
- 连接虽然成功,但是打开连接报错2059
- 因为下载MySQL镜像时,下载的是最新的版本,而MySQL8开始,密码规格和以前的版本不一样,所以要更改密码规则
- 在虚拟机上登录MySQL
- 先进入MySQL的文件夹
docker exec -it 3b488c63734f(自己启动的MySQL容器的id) bash
- 使用用户名和密码登录MySQL,显示Welcome登录成功
- 查看当前root的host,因为改密码规则的时候要用到
select user,host form user;
注意:当前root的host是%
- 使用mysql
use mysql
- 修改密码规则,注意是’root’@’%'
ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
- 更新一下原来的密码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123';
- 刷新权限
FLUSH PRIVILEGES;
- 再次打开连接,成功