建立数据库连接时出错-使用调试数据

时间:2017-04-27 作者:Densetsu_No

我的网站几天前开始运行调试,我得到了这些行。

试图和DB混在一起,但我的脑子没法想清楚。

你知道那些台词意味着什么吗?

警告:mysqli\\u real\\u connect():(HY000/2002):无法通过socket“/var/lib/MySQL/MySQL连接到本地MySQL服务器。/home/u420302506/public\\u html/wp includes/wp db中的sock“(2“无此类文件或目录”)。php在线1490

已弃用:mysql\\u connect():mysql扩展已弃用,将来将被删除:在/home/u420302506/public\\u html/wp includes/wp db中改用mysqli或PDO。php在线1520

警告:mysql\\u connect():无法通过socket“/var/lib/mysql/mysql连接到本地mysql服务器。/home/u420302506/public\\u html/wp includes/wp db中的sock“(2“无此类文件或目录”)。php在线1520

第1490行:

mysqli\\u real\\u connect($this->dbh,$host,$this->dbuser,$this->dbpassword,null,$port,$socket,$client\\u flags);

第1520行:

this->dbh=mysql\\u connect($this->dbhost,$this->dbuser,$this->dbpassword,$new\\u link,$client\\u flags);

5 个回复
SO网友:Joshua JJ S

我也犯了同样的错误。对我来说,这是因为我移动了数据库的datadir。

在centos上,datadir的默认位置是/var/lib/mysql,socket文件的默认loc是/var/lib/mysql/mysql。短袜

我将datadir移动到/datadir/mysql。Mysql db服务器启动正常,“Mysql”命令行客户端工作正常。

然而,当我启动apache并访问wordpress站点时,我遇到了这个错误。

修复程序是更新/etc/php。ini。

该文件中有三个mysql设置。sock位置:-pdo-mysql-mysqli

下面是我对这三个设置所做的更改——将每个设置都设置为“/datadir/mysql/mysql.sock”。在我更改之前,这三个在“=”之后都是空白的,因此使用了默认位置。

[Pdo_mysql]
  ...
; Default socket name for local MySQL connects.  If empty, uses the built-in
; MySQL defaults.
; http://php.net/pdo_mysql.default-socket
pdo_mysql.default_socket=/datadir/mysql/mysql.sock


 [MySQL]
  ...
; Default socket name for local MySQL connects.  If empty, uses the built-in
; MySQL defaults.
; http://php.net/mysql.default-socket
mysql.default_socket = /datadir/mysql/mysql.sock


[MySQLi]
  ...
; Default socket name for local MySQL connects.  If empty, uses the built-in
; MySQL defaults.
; http://php.net/mysqli.default-socket
mysqli.default_socket = /datadir/mysql/mysql.sock

SO网友:Mark Kaplun

错误消息显示wordpress版本与PHP(甚至mysql)版本不匹配的迹象。听起来像是您试图在新的php版本上运行旧的wordpress版本,或者您没有激活php的mysqli扩展。

这将解释最后两个错误,但不是第一个错误。第一个问题似乎表明mysql及其相关驱动程序配置错误,或者mysql只是偶尔关闭。

如果您使用的是共享主机,请致电他们的支持,如果是您自己的VP,则需要有人检查您的设置(假设您有足够的内存来处理负载)。

SO网友:Arvind Singh

尝试将当前主机从localhost替换为127.0.0.1 在wp配置中。php。如果您可以尝试重新启动MYSQL服务。

SO网友:CodeMascot

尝试使用本地服务器的IP地址,而不是localhost. 这意味着设置127.0.0.1DB_HOST 在里面wp-config.php. 所以整个事情会是这样的-

/** MySQL hostname */
define(\'DB_HOST\', \'127.0.0.1\');
查看以下答案以了解更多信息-

https://stackoverflow.com/questions/13769504/mysqlimysqli-hy000-2002-cant-connect-to-local-mysql-server-through-sock

https://stackoverflow.com/questions/4219970/warning-mysql-connect-2002-no-such-file-or-directory-trying-to-connect-vi

SO网友:PauloBoaventura

在Wordpress中,我在mysqli和PDO之间遇到了问题。我用命令yum update&;解决了这个问题;yum升级,没有centos,他给了我以下更新:

===================================================================================================================================================Package Arch版本存储库大小=========================================================================================安装:lsphp73 mysqlnd x86\\u 64 7.3.15-1。el7 litespeed 132 k替换lsphp73 mysqlnd。x86\\u 64 7.3.14-1。EL7更新:lsphp73 x86\\U 64 7.3.15-1。el7 litespeed 5.0 M lsphp73 bcmath x86\\U 64 7.3.15-1。el7 litespeed 27 k lsphp73通用x86\\U 64 7.3.15-1。el7 litespeed 650 k lsphp73 gd x86\\U 64 7.3.15-1。el7 litespeed 114 k lsphp73 imap x86\\U 64 7.3.15-1。el7 litespeed 32k lsphp73 MB字符串x86\\U 64 7.3.15-1。el7 litespeed 559 k lsphp73 opcache x86\\U 64 7.3.15-1。el7 litespeed 191 k lsphp73 pdo x86\\U 64 7.3.15-1。el7 litespeed 67 k lsphp73进程x86\\U 64 7.3.15-1。el7 litespeed 29 k lsphp73 soap x86\\U 64 7.3.15-1。el7 litespeed 120 k lsphp73 xml x86\\u 64 7.3.15-1。el7 litespeed 126 k openlitespeed x86\\u 64 1.6.9-1。el7 litespeed 37米

事务摘要=================================================================================================安装1个包升级12个包

总下载大小:44 MDownloading包:没有可用于litespeed的Presto元数据

总计13 MB/s | 44 MB 00:03

除此之外,我的fastcgi\\u还通过了unix:/var/php-nginx/1582263384347。插座/插座;

这引发了冲突。

但它仍然没有解决问题。

找到的解决方案是更改连接cms与数据库的文件中的用户名和密码,我突然发现可能是有点的用户名或是相同的域名。

相关推荐

将MySQL转换为WordPress$WPDB

我正在从3.7升级一个古老的Wordpress网站。它有一些SQL查询请求,在3.9以上版本之后无法运行,您现在必须通过$WPDB连接到DB(https://codex.wordpress.org/Class_Reference/wpdb). 我对此进行了初步尝试,但挂断了mysql\\u fetch\\u array部分的连接,也不清楚我所做的是否正确。mysql\\u fetch\\u数组似乎需要使用get\\u结果(https://developer.wordpress.org/reference/