Docker部署Mysql应用

1.Mysql部署

1.1 拉取Mysql镜像

docker pull mysql 

在这里插入图片描述
查看镜像

docker images

在这里插入图片描述

1.2 创建Mysql容器

docker run -di --name mysql_server -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

-p 代表端口映射,格式为 宿主机映射端口:容器运行端口
-e 代表添加环境变量 MYSQL_ROOT_PASSWORD 是root用户的登录密码

1.3进入MySQL容器,登陆MySQL

docker exec -it 进程编号 /bin/bash
登录Mysql
mysql -u root -p

在这里插入图片描述
然后就可以远程登录Mysql

2. Navicat 远程连接docker容器中的mysql 报错1251 - Client does not support authentication protocol 解决办法

2.1 容器中登录mysql,查看mysql的版本

mysql> status;

2.2 进行授权远程连接(注意mysql 8.0跟之前的授权方式不同)

授权
GRANT ALL ON *.* TO 'root'@'%';
刷新权限
flush privileges;

2.3 更改加密规则

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;

2.4 更新root用户密码

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
刷新权限
flush privileges;

Q.E.D.