我爱编程

mysql 本地连接失败(必须使用-h127.0.0.1)解决

2018-04-11  本文已影响204人  orientlu

@(db)

机器上安装 mysql 后,在本机上连接 mysql 有时候会遇到这种错误

[root@TENCENT64site ~]#mysql -uroot
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

如果添加 -h127.0.0.1则可以登入数据库,说明数据库是在运行的。

通过 find 命令查找 mysql.sock 文件,发现文件不存在,我的理解是 mysql 创建该文件的时候失败了。


网上查找后尝试如下方法,可以解决 :

修改数据库配置文件 /etc//my.cnf , 对应修改相应 section 下的参数 socket=/data1/mysql/mysql.sock,指定路径根据自己情况设置,

设置了该路径后,给 mysql 用户设置读写执行的权限

重启 mysql 就可以在重新配置的路径下创建 sock 文件了。

[mysqld]
datadir=/data1/mysql                # 我把数据库文件迁移到这里,
                                    # 所以干脆把sock丢这里,权限刚好
socket=/data1/mysql/mysql.sock      # 这个

[client]
socket=/data1/mysql/mysql.sock      # 这个

重启数据库

systemctl restart mariadb 或者,根据自己的情况吧....
service mysqld restart     
上一篇下一篇

猜你喜欢

热点阅读