centos7.1 之mysql.sock 找不到问题

今天装mysql5.5.28 ,完成后,启动它mysqld后,客户端链接,结果报下如下错误。

我下意识的去tmp下查,果然没有mysql.sock文件,也没有 mysqld.sock,然后以我经验就重启mysqld吧,中间重启不下了10次,但它还未给我自动生成这个mysql.sock文件。

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

然后,各种百度,各种试。最后百度到mysql客户端与mysql server 通信有两种模式,一种是tcp,一种是sock了。而sock比TCP要快得多(这个没有验证过,网上说的)。

那这两种模式有什么用呢?tcp就是我们的常见的IP访问mysql server,sock 则是localhost 访问 mysql server(客户端与mysql server 同在一台物理机时,一般用这种)。

现在少了sock文件,自然直接敲mysql 去访问 server,肯定会报错了。后来我试下了这个加主机名,命令如下

mysql -uroot -h 127.0.0.1 -p123456

果然成功进入mysql 了。

但我不甘心这个问题解决不了。

于是继续百度,百度到,即然在tmp下生成不了mysql.sock,那就改my.cnf 配置文件里的sock路径呀,然后重新启去下,说不准就可以了呢。

报着试一试的心态,改了my.cnf里的sock 路径,让基指到/var/lib/mysql/下。

扫描二维码关注公众号,回复: 1038085 查看本文章

然后重新启动mysqld ,果不其然。可以看到mysqld.sock的文件了。

试着mysql -uroot -p 123456也可以了。


但大家注意到没,生成的文件是mysqld.sock,而不是mysql.sock,多了个d。

不知道是不是我是centos 7.1 版本的原因。


猜你喜欢

转载自blog.csdn.net/u011383596/article/details/80377218