docker 安装mysql
下拉镜像
docker pull mysql:8.0.20
启动镜像
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
查看是否启动成功
docker ps -a
1. 保证阿里云开放了3306这个端口
开放端口如下截图:
2. mysql远程登录授权
mysql8.0授权方式和mysql8.0以前登录授权不一样
8.0授权方式不一样 ,不能授权给自己
mysql8.0授权方式:
先登录
先创建一个其他用户 命令: create user 'fyj'@'%' identified by 'fyj';
给该用户授权 命令: GRANT ALL PRIVILEGES ON *.* TO 'fyj'@'%'
刷新权限: 命令:FLUSH PRIVILEGES;
远程访问用户的验证方式改为: msyql_native_password
密码加密方式修改
```
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)