Ubuntu18.04 docker ERROR ***Can't connect to local MySQL server *** socket '***/mysqld.sock'

9 个月前 · 来自专栏 开源代码专栏

在使用Ubuntu18.04 docker部署MySQL 5.7的过程中,可能会遇到以下的报错(由于标题字数限制,标题中的部分报错信息用***代替):

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

本文主要讲解下出现以上的报错的两种解决方案。建议先尝试解决方案1。若解决方案1无效,再尝试解决方案2。

解决方法1

依次在docker中运行以下的命令:

usermod -d /var/lib/mysql/ mysql
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
chown -R mysql:mysql /var/lib/mysql
service mysql restart

解决方法2

退出当前正在运行的容器(如果当前没有容器运行忽略该步):

exit

查看docker容器:

docker ps -a

输入以上的命令会显示出开始运行的部分容器,在上面找出开始运行过MySQL的容器,将它们删除(删除前请考虑清楚删除是否会对自己产生其他不利影响):

docker rm [CONTAINER ID]

接下来重新运行包含MySQL的容器:

docker run -i -t [REPOSITORY]:[TAG] /bin/bash

最后,在docker容器内启动MySQL服务:

service mysql start

编辑于 2022-12-07 18:10 ・IP 属地湖北

文章被以下专栏收录

    开源代码专栏

    开源代码专栏

    我将在我的这个专栏里发表一些我所写的我认为比较有意义的代码。如果发现我写的代码有错误,欢迎指正。