Navicat连接Docker创建的MySQL运行实例
  CFu9A7vdykDj 2023年11月13日 23 0

一步步教你在Docker中安装MySQL (qq.com)

Docker部署MySql应用 - 魔鬼YU天使 - 博客园 (cnblogs.com)

拉取MySQL镜像

我们可以通过Docker提供的命令,直接从Docker Hub上拉取MySQL的官方镜像。打开终端,输入如下命令:

docker pull mysql:8.0 

其中,:8.0表示我们需要下载的MySQL版本,你也可以更改为你需要的其他版本号。

通常要想在命令行中查看 Docker Hub 上的 MySQL 镜像版本,可以使用 docker 命令的 search 子命令。不过这个方法并不能直接查看到所有的版本信息,只能看到镜像的基本信息。你可以这样做:

docker search mysql

上述命令会返回一个列表,显示在 Docker Hub 上所有与 "mysql" 相关的镜像。

比如:

image-20230910164733934

然而,如果你想查看某个特定镜像(例如,官方的 MySQL 镜像)的所有版本,Docker CLI 并没有直接提供这样的功能。因此,你通常需要访问 Docker Hub 的网页版,查看相应镜像的 "Tags" 页面来获取这个信息。

比如:mysql Tags | Docker Hub

image-20230910164824837

运行MySQL

当我们拉取好MySQL镜像后,就可以运行MySQL容器了。通过以下命令创建并启动一个MySQL容器:

docker run --name mysql_test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:8.0

这个命令的意思是运行一个名为mysql_test的MySQL容器,映射宿主机的3306端口到容器的3306端口,设置root用户的密码为my-secret-pw,并使用-d后台模式运行。当然,你可以根据自己的需要更改这些参数。

验证MySQL容器运行

如果你想验证MySQL容器是否成功运行,可以通过如下命令进入到这个MySQL容器:

docker exec -it mysql_test mysql -uroot -p

然后输入你之前设置的root用户密码my-secret-pw,如果看到MySQL的提示符,那就说明你的MySQL容器已经运行成功了。

  • exec:表示执行一个命令。

  • -it
    

    :是两个选项的结合,用于创建一个与容器的输入和输出进行交互的终端。这两个选项的含义如下:

    • -i--interactive:表示保持 STDIN 打开,允许对容器进行交互式输入。
    • -t--tty:为容器分配一个伪终端(pseudo-TTY),使得终端命令的输出能够正确显示。
  • mysql_test:是要执行命令的容器的名称或容器 ID。在这个例子中,这是一个名为 mysql_test 的容器。

Navicat连接报错解决

1251 - Client does not support authentication protocol

1 容器中登录mysql,查看mysql的版本

image-20230910165436691

2 进行授权远程连接(注意mysql 8.0跟之前的授权方式不同)

授权

GRANT ALL ON *.* TO ``'root'``@``'%'``;

刷新权限

flush privileges

此时,还不能远程访问,因为Navicat只支持旧版本的加密,需要更改mysql的加密规则

3 更改加密规则

ALTER USER ``'root'``@``'localhost'` `IDENTIFIED BY ``'password'` `PASSWORD EXPIRE NEVER;

  

4 更新root用户密码

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

刷新权限

flush privileges;

设置完成,再次使用 Navicat 连接数据库,OK!

在使用数据库时,直接用MySQL5.7就不会出这个问题

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月13日 0

暂无评论

推荐阅读
  eHipUjOuzYYH   2023年12月10日   26   0   0 mysqlsqlUser
  wwLZeziuqjLR   2023年12月11日   31   0   0 Dockercentos
  MCWYWqSAMsot   2023年12月11日   33   0   0 Docker
  DnoStTHsc0vp   2023年12月11日   25   0   0 Docker
  wwLZeziuqjLR   2023年12月08日   100   0   0 Dockercentosbash
  9JCEeX0Eg8g4   2023年12月11日   25   0   0 mysql配置文件
CFu9A7vdykDj