centos使用localhost无法连接数据库

问题:

Centos系统下,使用mysql数据库。当主机名称使用 127.0.0.1 时可以连接成功,使用 localhost 就会连接失败。

分析:

连接mysql数据库有两种方案。

1、TCP/IP (网络连接)

TCP/IP套接字连接方式是MySQL在任何平台都提供的一种连接方式,也是网络中使用最多的一种方式。这种方式在TCP/IP连接上建立一个基于网络的连接请求,一般情况下客户端在一台服务器上,而MySQL实例在另外一台服务器上,这两台机器通过TCP/IP网络连接

2、Unix域套接字连接(非网络连接)

在Linux和Unix环境下,还可以使用Unix域套接字连接。Unix域套接字其实不是网络协议,所以只能使用MySQL客户端和数据库实例在同一台服务器上的情况下使用。可以在配置文件中指定套接字文件路径,如-socket=/tmp/mysql.sock。

(推荐教程:centos使用教程)

解决方案:

1、查看本机mysql 的socket文件位置

mysqld --verbose --help | grep socket

2、在查询到的结果中找到类似的一条

socket    /var/run/mysqld/mysqld.sock

3、在php配置文件中,找到如下项:

mysql.default_socket =

4、修改为:

mysql.default_socket = 找到的socket路径

5、保存文件,并重启php-fpm

相关视频教程推荐:linux视频教程