阿里云docker安装mysql8.0版本 远程连接 授权及密码等问题解决

docker 安装mysql

  1. 下拉镜像
docker pull mysql:8.0.20
  1. 启动镜像
docker run -p 3306:3306 --name mysql --privileged=true --restart unless-stopped -v /opt/mysql_docker/mysql:/etc/mysql -v /opt/mysql_docker/logs:/logs -v /opt/mysql_docker/data:/var/lib/mysql -v /opt/mysql_docker/localtime -e MYSQL_ROOT_PASSWORD=123456  -d  mysql 

参数说明:

-p 端口映射
--privileged=true  挂载文件权限设置
--restart unless-stopped  设置 开机后自动重启容器
-v /opt/mysql_docker/mysql:/etc/mysql    挂载配置文件
-v /opt/mysql_docker/logs:/logs \      挂载日志
-v /opt/mysql_docker/data:/var/lib/mysql \  挂载数据文件 持久化到主机,
-v /etc/localtime:/etc/localtime    容器时间与宿主机同步
-e MYSQL_ROOT_PASSWORD=123456    设置密码
-d  mysql:8.0.20   后台启动,mysql
  1. 查看是否启动成功
docker ps -a

1. 保证阿里云开放了3306这个端口

开放端口如下截图:
阿里云docker安装mysql8.0版本 远程连接 授权及密码等问题解决_第1张图片

阿里云docker安装mysql8.0版本 远程连接 授权及密码等问题解决_第2张图片

2. mysql远程登录授权

mysql8.0授权方式和mysql8.0以前登录授权不一样
8.0授权方式不一样 ,不能授权给自己

mysql8.0授权方式:

  1. 先登录
    阿里云docker安装mysql8.0版本 远程连接 授权及密码等问题解决_第3张图片

  2. 先创建一个其他用户

    命令: create user 'fyj'@'%' identified by 'fyj';
    
  3. 给该用户授权

    命令: GRANT ALL PRIVILEGES ON *.* TO 'fyj'@'%'
    

    刷新权限:

    命令:FLUSH PRIVILEGES;
    

远程访问用户的验证方式改为: msyql_native_password

密码加密方式修改
阿里云docker安装mysql8.0版本 远程连接 授权及密码等问题解决_第4张图片

```
mysql> ALTER USER 'fyj'@'%' IDENTIFIED WITH mysql_native_password BY '123456';	
mysql> flush privileges;
```
再查看:![在这里插入图片描述](https://img-blog.csdnimg.cn/20200821151114328.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2Z5ajEzOTI1NDc1OTU3,size_16,color_FFFFFF,t_70#pic_center)

你可能感兴趣的:(MySQL,Docker)