欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

mysql8.0.13 的docker镜像安装

程序员文章站 2022-04-23 09:17:48
1、从docker中获取mysql8.0.13镜像 2、运行 mysql8.0.13 镜像 3、登陆mysql 4、解决方法:进入mysql8.0.13容器 5、在容器里面登陆数据库 6、进入mysql库,查看user表,可以看到root加密方式 7、修改root用户插件验证方式: 8、刷新权限 9 ......

1、从docker中获取mysql8.0.13镜像

docker pull mysql:8.0.13
通过 docker images 命令查看镜像是否获取到了

2、运行 mysql8.0.13 镜像

docker run --name mysql8013 -p 8323:3306  -e mysql_root_password=root -d mysql:8.0.13 
通过 docker ps 命令查看镜像是否启动成功

3、登陆mysql

mysql -uroot -proot -d mysql8013
发现登陆不上去,因为mysql8之后root用户的密码验证方式变了。root的用户的加密方式为caching_sha2_passoword,而navicat连接所用的方式为native_password。

4、解决方法:进入mysql8.0.13容器

docker exec -it mysql8013 /bin/bash

5、在容器里面登陆数据库

mysql -uroot -proot

mysql为远程连接和本地连接提供了不同的密码验证方式。所以在容器里可以登陆。

6、进入mysql库,查看user表,可以看到root加密方式

use mysql;
select host, user, plugin from user \g

7、修改root用户插件验证方式:

alter user 'root'@'%' identified with mysql_native_password by 'root';

8、刷新权限

flush privileges;

9、然后退出mysql

exit;

10、给mysql8013安装vim编辑器

apt-get update && apt-get install vim -y

11、安装vim完成后,修改数据库编码

进入mysql.cnf
vim /etc/mysql/conf.d/mysql.cnf

增加以下内容,然后保存退出      
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

12、查看mysql编码

 show variables like'character%';    -- 如果编码没变,可能要重启这个mysql容器

13、退出 mysql8013容器

ctrl+d

14、查看mysql8013数据卷挂载位置:

docker inspect  mysql8013
然后观察  "mounts"对应的值,其中 "source" 对应的值就是本机的挂载路径。

15、通过 navicat 测试连接。