Docker创建MySQL容器并远程连接

网友投稿 596 2022-10-19

Docker创建MySQL容器并远程连接

下载镜像

docker pull mysql/mysql-server:8.0

运行实例

docker run -d --name myMySQL8.0 -p 3308:3306 -e MYSQL_ROOT_PASSWORD=root -e MYSQL_ROOT_HOST=% mysql/mysql-server:8.0

如上运行实例命令的含义如下:

run:运行-d:后台运行--name:起个名字-p:映射端口,用主机的​​3308​​ 映射到容器中MySQL的 3306 端口-e MYSQL_ROOT_PASSWORD:就是说要去设置密码,用户名和密码都统一设置为了​​root​​-e MYSQL_ROOT_HOST:设置主机,​​%​​​ 代表的是当前的本地主机最后一个就是​​镜像的名称:TAG名称​​

实例了一个容器之后在进入到容器当中命令如下:

docker exec -it myMySQL8.0 bash

然后就可以利用 ​​mysql -u root -p​​ 连接 MySQL 如下所示。

先登录并做一些修改以便 ​​navicat​​ 连接,密码为 root 账号也是 root 以上已经介绍过了。

2059 问题解决方案

原因为安装时选择了强加密规则 ​​caching_sha2_password​​​,与之前的 MySQL5.7 的 ​​mysql_native_password​​ 规则不同,navicate 驱动目前不支持新加密规则,解决办法就是通过终端的方式连接 MySQL 之后运行如下命令即可更改一下加密规则。

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

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

1045 access denied

默认 root 用户是不能进行远程访问连接的,解决办法就是通过终端的方式连接 MySQL 之后运行如下命令即可访问。

alter user 'root'@'localhost' identified by 'root';

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

flush privileges;

Navicate 连接

整体流程

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:#云原生征文# 如何使用Docker在鲲鹏服务器上搭建gitlab
下一篇:剑指Offer之Java算法习题精讲二叉树与N叉树
相关文章

 发表评论

暂时没有评论,来抢沙发吧~