admin 管理员组文章数量: 1184232
登录时会遇到如下错误:
提示没有mysqld.sock文件
尝试解决:
1.进入容器查看/var/run/mysqld路径下的所有目录,看是否有mysqld.sock文件
docker exec -it mysql-server bash
发现该目录下 无该文件
2. 进入/etc目录找到myg文件,并用cat命令查看
# For advice on how to change settings please see
# http://dev.mysql/doc/refman/8.1/en/server-configuration-defaults.html
[mysqld]
...................
skip-host-cache
skip-name-resolve
datadir=/var/lib/mysql
socket=/var/run/mysqld/mysqld.sock
secure-file-priv=/var/lib/mysql-files
user=mysql
pid-file=/var/run/mysqld/mysqld.pid
[client]
socket=/var/run/mysqld/mysqld.sock
!includedir /etc/mysql/conf.d/
3.该文件内用vim或vi编辑器添加以下语句:
[mysql]
protocol=tcp
但又遇到新问题了,如下:
原因是mysql-server容器当中没有安装vi编辑器
4.这里用docker cp,宿主机的路径为/home/mysql/myf 容器内路径为/etc/myf
5.进入mysql-server容器当中查看myf是否修改(成功修改!!!)
6.再次尝试登录MySQL
又有新的错误 显示本机3306端口无法连接MySQL
7.向my文件加一句 端口3306
port=3306
8.再次测试连接:
还是显示连接不上!!!
9.检查防火墙的状态:
ufw status
显示未开启:
10.查看 3306端口状态:
LISTEN: 这表明当前的网络套接字处于监听状态,等待来自远程客户端的连接请求。 TCP:即ipv4通信 TCP6:即ipv6通信
11. 查看ipv4和ipv6的状态:
sysctl net.ipv6.conf.all.forwarding
sysctl net.ipv4.conf.all.forwarding
可以看到ipv4的结果为1 表明ipv4通信没有问题
已经解决,移步至该文章查看
Docker容器中运行MySQL服务,并用navicat测试连接-CSDN博客
版权声明:本文标题:docker命令进入MySQL容器时的报错:ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘var 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1755027516a3062358.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论