龙空技术网

如何在Docker安装Mysql多版本,这篇文章教你快速学会

JAVA大神周瑜 146

前言:

眼前姐妹们对“mysqlworkbench建表失败”大体比较关怀,各位老铁们都需要学习一些“mysqlworkbench建表失败”的相关内容。那么小编也在网摘上网罗了一些关于“mysqlworkbench建表失败””的相关内容,希望朋友们能喜欢,同学们一起来学习一下吧!

Mysql5.7下载镜像

> docker pull mysql:5.7# 下载需要一定时间# 下载完成后可以使用以下命令查看镜像> docker images


创建并运行容器

docker run -di --name mysql5.7 -p 33306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7# 使用一下命令可以查看当前运行的容器docker ps
--name mysql5.7:代表容器的名字-p:代表端口映射,格式为宿主机映射端口:容器运行端口-e:代表添加环境变量,MYSQL_ROOT_PASSWORD是root用户的登陆密码mysql:5.7:表示使用的镜像以及版本号


连接Mysql


使用命令行连接

mysql -uroot --host 127.0.0.1  --port 33306 -p123456


使用上面的命令能直接连接成功。


使用MySQLWorkbench连接


也能连接成功:


总结

使用mysql:5.7版本的docker镜像,创建并启动容器后可以直接使用,默认在启动的Mysql中已经添加了'root'@'%'用户,并具有所有权限。


Mysql8


下载镜像

> docker pull mysql:8.0# 下载需要一定时间# 下载完成后可以使用以下命令查看镜像> docker images


创建并运行容器

docker run -di --name mysql8.0 -p 33307:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0# 使用一下命令可以查看当前运行的容器docker ps


连接Mysql


使用命令行连接

mysql -uroot --host 127.0.0.1  --port 33307 -p123456


使用上面的命令能直接连接成功。


使用MySQLWorkbench连接


但是连接不成功:


使用刚刚的命令行登录到mysql中,或者使用下面的命令行直接登录到docker容器中,然后登录到mysql中


docker exec -it mysql8.0 /bin/bash


然后使用下面的SQL语句修改'root'@'%'用户的验密方式:


ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';FLUSH PRIVILEGES;


执行完成后,MysqlWorkbench也能连上Mysql了。


总结

使用mysql:8.0版本的docker镜像,创建并启动容器后可以直接使用Mysql命令行连接成功,但是因为Mysql8更换了验密方式,所以需要做进一步处理才能让其他客户端工具连接成功。


如果觉得这篇文章能让你学到知识,能否帮忙转发,将知识分享出去。

标签: #mysqlworkbench建表失败