laravel 中的错误:SQLSTATE[HY000] [2002] 没有这样的文件或目录,套接字文件的路径不起作用
error in laravel : SQLSTATE[HY000] [2002] No such file or directory, the path of the socket file don't work
我从昨天开始遇到一个问题,我无法解决。
连接某台主机的数据库出现错误,错误是No such file or directory
,我找了socket文件的路径,路径是/ var / run / mysqld /mysqld.sock
所以我改了文件路径。在本地,它的功能是我在网上拥有的解决方案,但在生产中没有
这里是 laravel .env
文件的配置文件
DB_Connection = mysql
DB_HOST = hXXmysqlXXX
DB_PORT = 3306
DB_DATABASE = XXX_test
DB_USERNAME = XXX_bdd
DB_PASSWORD = XXXX
'# DB_SOCKET = / tmp / mysql.sock (it's a comment)
DB_SOCKET = /var/run/mysqld/mysqld.sock
很遗憾,这并没有解决错误。
你能帮我解决这个问题吗?
谢谢
(我已经研究过这个问题,没有找到solution.Excuse我的英语,这不是我的母语)
您是要连接到本地数据库还是远程数据库(位于其他 computer/server 上的数据库)?
在 Unix 上,MySQL 程序会特殊对待主机名 localhost,
与其他基于网络的程序相比,其方式可能与您的预期不同。
对于到本地主机的连接,MySQL 程序会尝试使用 Unix 套接字文件连接到本地服务器。即使给出 --port 或 -P 选项来指定端口号,也会发生这种情况。
要确保客户端与本地服务器建立 TCP/IP 连接,请使用 --host 或 -h 指定主机名值 127.0.0.1,或本地 IP 地址或名称服务器。您还可以使用 --protocol=TCP 选项显式指定连接协议,即使对于本地主机也是如此。
协议可以是{TCP|SOCKET|PIPE|MEMORY}
简而言之:您不必为远程连接指定 sock 文件。
我从昨天开始遇到一个问题,我无法解决。
连接某台主机的数据库出现错误,错误是No such file or directory
,我找了socket文件的路径,路径是/ var / run / mysqld /mysqld.sock
所以我改了文件路径。在本地,它的功能是我在网上拥有的解决方案,但在生产中没有
这里是 laravel .env
文件的配置文件
DB_Connection = mysql
DB_HOST = hXXmysqlXXX
DB_PORT = 3306
DB_DATABASE = XXX_test
DB_USERNAME = XXX_bdd
DB_PASSWORD = XXXX
'# DB_SOCKET = / tmp / mysql.sock (it's a comment)
DB_SOCKET = /var/run/mysqld/mysqld.sock
很遗憾,这并没有解决错误。
你能帮我解决这个问题吗?
谢谢
(我已经研究过这个问题,没有找到solution.Excuse我的英语,这不是我的母语)
您是要连接到本地数据库还是远程数据库(位于其他 computer/server 上的数据库)?
在 Unix 上,MySQL 程序会特殊对待主机名 localhost, 与其他基于网络的程序相比,其方式可能与您的预期不同。
对于到本地主机的连接,MySQL 程序会尝试使用 Unix 套接字文件连接到本地服务器。即使给出 --port 或 -P 选项来指定端口号,也会发生这种情况。
要确保客户端与本地服务器建立 TCP/IP 连接,请使用 --host 或 -h 指定主机名值 127.0.0.1,或本地 IP 地址或名称服务器。您还可以使用 --protocol=TCP 选项显式指定连接协议,即使对于本地主机也是如此。
协议可以是{TCP|SOCKET|PIPE|MEMORY}
简而言之:您不必为远程连接指定 sock 文件。