• 欢迎访问望星湖畔,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入望星湖畔 QQ群
  • 由于360网盘即将关闭,本站内部分下载资源可能暂时无法下载,请到相关文章评论处留言,我们会马上处理,谢谢合作!
  • 本站正在搬家,各项数据恢复中……

Error establishing a database connection的解决方法

WP应用 admin 来源:扶凯 2221次浏览 2个评论

这几天老发现自己的网站出现 Error establishing a database connection .但实际压力不大,连接很少.平时重启 MySql 也就好了.这次怎么重启都不行.

只好静下来看看为什么.平时正常,现在不正常,配置文件一定是没有问题.所以,只能从别的方面查原因.发现进入 wp-admin 后提示我

One or more database tables are unavailable. The database may need to be repaired.

然后让我添加

define('WP_ALLOW_REPAIR', 'true');

wp-config.php,然后在次刷新 wp-admin 来修复.但加入后,怎么点修复,还是没有反应.结果没变,还是出现 Error establishing a database connection.

后来发现在 wp-config.php 有个 debug 的参数,打开这个参数,修改为:

define('WP_DEBUG', 'true');

修改这个后,非常不错,报了很多错,一堆….

WordPress database error: [Table ‘./phpoa/wp_options’ is marked as crashed and should be repaired]
SELECT autoload FROM wp_options WHERE option_name = ‘_transient_doing_cron’

WordPress database error: [Table ‘./phpoa/wp_options’ is marked as crashed and should be repaired]
SELECT autoload FROM wp_options WHERE option_name = ‘_transient_timeout_doing_cron’

WordPress database error: [Table ‘./phpoa/wp_options’ is marked as crashed and should be repaired]
SELECT option_value FROM wp_options WHERE option_name = ‘_transient_doing_cron’ LIMIT 1

发现都是 wp_options 表的错,看来这个表坏了,使用 mysql 的客户端.连接进 mysql 使用修复的命令来修复.

mysql>repair table wp_options;
如何使用PHPMYADMIN工具进行修复MYSQL数据库表操作

1、首先登录php虚拟主机的空间控制面板,选择“phpmyadmin”,进入,然后输入数据库访问用户和访问密码,就登录了phpmyadmin。

2、我们在phpmyadmin中,勾选要进行优化操作的数据库表,在复选框中选择:修复表,就完成了数据表的优化。

mysql维护工作如优化表,分析表,可以参考本方法执行就可以,都可以在phpmyadmin中完成。

搞定,然后关掉 DEBUG,解决问题.

在一次出现这个问题….

这次是 wp_options 真的坏了…..只能恢复才行.怎么查啦,花了很久的时间来定位.

后来直接打开 mysql 的日志,对比别人的,才查出原因

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
## clients (those using the mysqlclient10 compatibility package).
old_passwords=1

# Disabling symbolic-links is recommended to prevent assorted security risks;
# to do so, uncomment this line:
max_connections = 500 #增加mysql连接数
wait_timeout = 10 #断开超过10秒的连接# symbolic-links=0

log-error=/var/log/mysqld.log
log=/var/log/mysqld.log

后看是那句出错,没有值.才查出原因


望星湖畔, 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明Error establishing a database connection的解决方法
喜欢 (0)
[]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

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

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(2)个小伙伴在吐槽
  1. 以前网站出问题,也是看日志才找出异常的
    企业培训2016-11-09 14:22 回复
  2. 学习了
    管家婆2016-11-14 10:40 回复