无法通过 Unix Socket 连接到 MySQL:无法通过 Socket 'MySQL' 连接到 MySQL (2)
连接时使用 PHP 的 mysqli 类并指定“localhost”作为主机连接到 MySQL,您会遇到错误消息“无法通过套接字连接到本地 MySQL 服务器” ‘MySQL’(2)”。这表明用于本地连接的 Unix 套接字存在问题。
了解本地主机连接
默认情况下,MySQL 客户端库使用 Unix 域套接字连接到当主机指定为“localhost”时,本地 MySQL 服务器。但是,如果套接字无法访问或不存在,您将遇到此错误。
故障排除选项
要解决此问题,您有多种选择:
mysqli.default_socket = /var/run/mysqld/mysqld.sock
$db = new MySQLi('localhost', 'kamil', '***', '', 0, '/var/run/mysqld/mysqld.sock')
通过直接指定套接字,您将覆盖默认值Unix 套接字配置。
就您而言,因为您只能通过127.0.0.1,建议使用选项1。如果您需要允许外部网站连接,您应该创建一个具有适当权限的新用户,并使用 TCP/IP(选项 1)进行远程连接。
以上是为什么无法通过Unix Socket连接MySQL?的详细内容。更多信息请关注PHP中文网其他相关文章!