一.选择版本
docker中使用 docker search 查看版本。

为了更好的查看小的版本,可以去docker hub去搜索小的版本号mysql地址:https://hub.docker.com/_/mysql?tab=tags

找到自己合适的版本号,每个版本后带有pull 镜像的命令
执行命令:docker pull mysql:8.0.27

执行命令:docker images 查看你自己的镜像

二.启动容易
执行:mkdir -p /home/mysql/data /home/mysql/log
chmod -R 775 /home/mysql
创建日志和数据的映射目录

执行启动容器:
docker run -itd --name=mysql -v /home/mysql/data:/usr/mysql/data -v /home/mysql/log:/var/log/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0.27

查看容器:

参数解释:--name:起个名称(自定义)-i:即使没有连接,也要保持标准输入保持打开状态,一般与 -t 连用。-t:分配一个伪tty,一般与 -i 连用。 -v : 挂载宿主机目录和 docker容器中的目录,前面是宿主机目录,后面是容器内部目录 -d : 后台运行容器 -p 映射容器端口号和宿主机端口号 -e 环境参数,MYSQL_ROOT_PASSWORD设置root用户的密码
官方文档:https://docs.docker.com/engine/reference/commandline/run/
进入容器:
docker exec -it mysql /bin/bash
登录mysql:
mysql -uroot -p
注意:使用Navicat连接数据库若是报错识别不了密码可能需要修改密码的加密方式
1.查看加密方式
登录后 切换到 mysql库
执行 use mysql;
查询执行 select host,user,authentication_string,plugin from user;
执行修改:ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
解释:mysql_native_password :加密方式 123456为密码
三.创建用户和库

1、create schema maxkey default character set utf8 collate utf8_general_ci;--创建数据库
或者 create database maxkey default character set utf8 collate utf8_general_ci;
maxky:[数据库名称]
2、create user 'maxkey'@'%' identified by 'maxkey';--创建用户指定密码
maxkey(第一个):用户名称
maxkey(第二个):用户密码
%:匹配所有主机,该地方还可以设置成‘localhost’,代表只能本地访问
3、grant select,insert,update,delete,create on maxkey.* to maxkey;--用户授权数据库
或者grant all on maxkey.* to maxkey; 所有权限
maxkey(第一个):数据库名称
maxkey(第二个):用户名
maxkey.*代表maxkey下所有数据库 *.* 代表所有库和表
all 所有权限
4、flush privileges;--刷新配置
补充:
1、revoke all on *.* from maxkey;--取消用户所有数据库(表)的所有权限
maxky:数据库名称
2、delete from mysql.user where user='maxkey';--删除用户
maxky:用户名称
3、drop database maxkey;--删除数据库
maxky:数据库名称
结果:





