Error establishing a database connection之mysqli_real_contect(): (HY000/2002)

LiaoSam2017-03-07外贸建站16449 次访问22 评论

最近有时候早上打开料网一脸懵逼地发现网站打不开,页面显示大大的提示:Error establishing a database connection。

error-database-connection

于是赶紧把 wp-config.php 里的 debug 打开,define(‘WP_DEBUG’, false);  false 改成 true

结果提示:

mysqli_real_connect_hy000_2002

网上查了不少资料,有说把 wp-config.php 里的 localhost 改成 127.0.0.1 后解决的,尝试后发现无效。

最终还是在这两篇文章的指引下搞定了:

https://www.cnblogs.com/whlives/p/4495106.html

https://www.th7.cn/db/mysql/201412/83563.shtml

具体问题解决过程

查看 phpinfo.php 或者探针页面,看了这个参数:pdo_mysql.default_socket   value 为 /tmp/mysql.sock

于是找到 php.ini 文件 (usr/local/php/etc/php.ini ),搜索其他两个参数 mysql.default_socket 和 mysqli.default_socket,原本值为空,改成值为 /tmp/mysql.sock。

上传覆盖,重启 php-fpm。

service php-fpm restart

最后,把 WordPress 根目录下的 wp-config.php 文件中的 define(‘DB_HOST’, ‘localhost’); 改成 define(‘DB_HOST’, ‘127.0.0.1’)。上传覆盖。

OK,问题搞定!

 

本站所有文章除注明“转载”的文章之外,均为原创。未经本站允许,请勿随意转载或用作任何商业用途,否则依法追究侵权者法律责任的权利。

分享到微信朋友圈

LiaoSam
LiaoSam
识不足则多虑,威不足则多怒,信不足则多言。

22条评论

发表我的评论

取消评论

邮箱白名单说明:最近料网自动提醒邮件经常会被一些邮件服务商拦截。为了您顺利并及时地收取留言被回复的提醒邮件,请在您邮箱中把料网 liaosam.com 加入白名单域名。

已读说明
设为私密评论
添加表情

Hi,您需要填写昵称和邮箱!

您的邮箱地址不会公开,仅仅用于收取回复。建议填写QQ邮箱,不宜填写工作邮箱。
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址 (没有就留空)
呃,评论有点多呢... 料网小秘书为您玩命加载中...
  1. #9
    代码提问

    bf19c21f6bd3800d0cc554fed2d16b07

    2年前 (2018-02-23)回复
  2. #8
    大多数的

    e20189a6fe5d4c5a404883ca024afa1f

    2年前 (2018-02-23)回复
  3. #7
    大多数的

    按照料神的教程做到最后了

    2年前 (2018-02-23)回复
  4. #6
    Ronny

    我的网站出现了上面的问题,按照料神的教程做到最后了,刷新网站还是那个错误的提示,没有ok. 还可能是哪里的问题?

    2年前 (2018-02-23)回复
    • Ronny

      @Ronny 第二天再次打开我的网站,居然莫名其妙打开了,不再是那个错误的提示,但是网站最上面多了一条这个:
      Notice: Undefined index: custom_title in /home/wwwroot/www.yogeplywood.com/wp-content/themes/Avada/includes/class-avada-social-icon.php on line 98
      我打开上面说的文件,第98行是:
      $tooltip = str_replace( ‘custom’, ”, $args[‘custom_title’] );
      我要修改什么?请sam大神教我

      2年前 (2018-02-24)回复
      • Ronny

        @Ronny 我这个问题也莫名其妙自己给解决了。我在网站后台删除了我设置的skype和whatsapp帐号,只留了linkedin 和 facebook,再刷新就好了。

        2年前 (2018-02-24)回复
  5. #5

    Sam 老师你好,按你的方法在 Lindode 上搭梯子,建站都成功了,自信心爆棚后想着在上面建第二个网站,装好第二个网站的环境配置包后,新建另一个Xshell ,但发现Xftp还是进入到第一个网站的文件夹内部,随后又发现第一个网站悲剧了显示 “Error establishing a database connection”。现又按你的方法在人排障,但没有成功,我想问下我该怎样解决? 谢了!

    2年前 (2017-09-26)回复
  6. #4
    yanwong

    料神,我也遇到了这个问题,mysql在安装的时候没有定义用户名和密码,我已经安装了wordpress到域名目录下,连接wordpress显示上面database不能连接。

    2年前 (2017-05-25)回复
  7. #3
    andy

    如果域名有备·案,上个CDN也可以

    3年前 (2017-03-08)回复
    • @andy CDN有个问题就是信息更新太慢,你发布个文章需要等好久才能看到。

      3年前 (2017-03-09)回复
      • andy

        @hunk 你的意思我明白,原来我的站就像你说的那样,后来经过设置CDN之后,网站后台更新后,前台立即会跟着更新,无延迟。主要是你PHP文件设置为不缓存就妥了。

        3年前 (2017-03-09)回复
        • LiaoSam
          Liaosam,外贸综合症患者。
          @andy 以前都用过的。php缓存用过memcached, redis,静态文件用过七牛。每次修改 css,js 这些静态文件之后要刷新本地浏览器缓存,访问者如果他浏览器不刷新缓存,看到的网页是乱的。所以现在我只静态存储图片,css和js不缓存。网页用 fastcgi 和 redis 缓存,可以做到1分钟更新。
          3年前 (2017-03-09)回复
          • andy

            @Liaosam 我用腾讯云CDN,CDN后台缓存配置里面,.php文件,.css文件, .js文件设置为0秒,图片之类的3天或更久,这样网站前台后台就同步了。不过我的css和js是不改动的。你这个频繁改动,确实有点难。

            3年前 (2017-03-09)回复
            • LiaoSam
              Liaosam,外贸综合症患者。
              @andy 是的,需求不一样。你 CSS 和 JS 不改动的话就没必要设置为缓存时间 0秒,就跟图片一起设个长长的缓存时间就行了。
              3年前 (2017-03-09)回复
              • andy

                @Liaosam 确实这样,尽量减少CDN的流量消耗,只把.php文件设置为0秒,其余的稍微长一些时间即可。

                3年前 (2017-03-09)回复
          • andy

            @Liaosam 你不忙的时候,能否把你上面说的这一套方法分享一下,写个教程出来,我想不止外贸WP博客需要这个缓存机制,很多流量大的WP博客也都有需要

            3年前 (2017-03-12)回复
  8. #2

    我擦,感情你用的是win主机 :grin:

    3年前 (2017-03-07)回复
    • LiaoSam
      LiaoSam,外贸综合症患者。
      @aunsen 从哪能看出来用的win主机?我用的linode CentOS。
      3年前 (2017-03-08)回复
      • @LiaoSam 看来我老了,以为只有win主机才有php.ini :razz:

        3年前 (2017-03-08)回复
        • LiaoSam
          Liaosam,外贸综合症患者。
          @aunsen 不分 win/linux 系统,只要你用 php,都有这个配置文件。
          3年前 (2017-03-09)回复
  9. #1
    小璞叔叔

    今天还在米问里发帖,问料网打不开,是不是Sam陪员工们过女生节去了 哈哈

    3年前 (2017-03-07)回复
    • LiaoSam
      LiaoSam,外贸综合症患者。
      @小璞叔叔 女员工今天才放假。
      3年前 (2017-03-08)回复