问题:
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视频教程
Atas ialah kandungan terperinci centos使用localhost无法连接数据库. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!