当我尝试连接mysql时,我得到以下错误:

无法通过套接字/var/lib/ MySQL / MySQL连接到本地MySQL服务器。袜子”(2)

有解决这个错误的方法吗?背后的原因可能是什么?


当前回答

确保您的mysql服务正在运行

service mysqld start

然后,试试下面的方法:

(如果你没有设置mysql密码)

mysql -u root

如果您已经设置了密码

mysql -u root -p

其他回答

如果你是在sf.net的壳,尝试:

mysql --host=mysql-{LETTER} --user={LETTER}{GROUP ID}admin -p

更改{LETTER}和{GROUP ID},如您的MySQL数据库的项目管理配置文件中所示。

如果您的my.cnf文件(通常在etc文件夹中)配置正确

socket=/var/lib/mysql/mysql.sock

可以使用以下命令检查mysql是否正在运行:

mysqladmin -u root -p status

尝试更改mysql文件夹的权限。如果你在当地工作,你可以尝试:

sudo chmod -R 777 /var/lib/mysql/

这为我解决了问题

确保在/var中有足够的空间。如果Mysql恶魔不能写入额外的信息到驱动器,Mysql服务器将不会启动,这将导致错误无法连接到本地Mysql服务器通过套接字'/var/lib/ Mysql / Mysql。袜子”(2)

考虑使用

expire_logs_days = 10
max_binlog_size = 100M

这将帮助您降低磁盘使用率。

这可能是一个愚蠢的建议,但请100%确保您的DB仍然托管在localhost。例如,如果网络管理员选择(或更改为)Amazon DB主机,您将需要该主机名!

请确保你已经正确安装了MySQL服务器,我遇到过这个错误很多次,我认为从套接字调试很复杂,我的意思是重新安装它可能更容易。

如果你使用的是CentOS 7,下面是正确的安装方法:

首先,添加mysql社区源代码 Yum install http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

然后你可以通过yum install mysql-community-server安装它

用systemctl启动它:systemctl Start mysqld