WORDPRESS 网站打不开 error establishing a database connection 、is marked as crashed and should be repa

来源:互联网 发布:gre gmat 知乎 编辑:程序博客网 时间:2024/06/04 01:07



今天打开 gudianxiaoshuo.com网时,显示  error establishing a database connection 

网站又打不开了


这让人很生气,这个是阿里云服务器,经常出现各种各样的问题

出了问题后,总是让建议再花钱买内存,结果升级了几次内存后,仍然出现各种问题

本来就是个展示网站,访问量又不多,还这么折腾。


所以,出现了这个问题后,我就提交了工单

然后,他们说 我数据库没运行 或密码错误

但是前一天还好好的,我也从没操作过后台 没改用户名和密码 ,怎么会出现错误呢?


我在阿里云服务器重启了下 ,结果还是这样。


再次咨询,他们倾向于推荐购买服务,说 第三方不属于他们管理,建议花钱购买服务,而没有提供有效的解决方法。

不过好在有什么命令方向的咨询,他们还能给出来。


看来,只能一步步排查了。

因为我很少用LINUX,对于各种命令也不熟悉,所以只能边搜索资料 边尝试。


准备软件 XSHELL  ----- 

第一步:

不是说 没有连接么 

先看看MYSQL启动没有

netstat -anp  |grep 3306

没有结果 则说明数据库没有运行,没有运行的话 启动数据库

service mysqld start


而我的是有结果 ,已经运行了。

所以不是这个问题


第二部: 排查用户名和密码


mysql -u root -p

进入数据库,

show databases;

看看有哪些数据库


然后看看WORDPRESS连接的那个数据库 有哪些用户


mysql> use bookDB;

mysql>select * from mysql.user;


只能看到用户,而看不到用户名

  use mysql;
    UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
    FLUSH PRIVILEGES;


我想用这种方式 ,更新一个密码;

但提示Table 'book.user' doesn't exist,但是我数据库中是有这个表的啊


于是,我将这个问题咨询了下阿里云 ,

阿里云的回复

售后工程师 :  您好,这个意思是 'book.use  该表不存在,阿里云目前暂时没有数据迁移和针对第三方类应用提供安装、配置及排查等服务项目,阿里云售后的服务范围(详见阿里云官网上的售后服务范围公告 http://www.aliyun.com/support/techsupport?spm=5176.383338.201.59.QRWs6a),需要您自行完成处理。或按以下建议方法尝试解决:1.     付费解决方法:阿里云“工具与镜像市场”有专业的技术服务团队,可以帮您排忧解难。您可以选择支付一定费用,将问题交给服务商处理。且目前部分第三方服务商品有一定优惠活动,您可以通过阿里云论坛->运维服务版块,进行查看。如以上服务不能满足您的需求,您也可以通过下面链接查找更多第三方服务项目。(1)    服务市场:http://market.aliyun.com/service/?spm=5176.900001.3.10.C2185F(2)    工具市场:http://market.aliyun.com/tools/?spm=5176.1089568.0.0.mrQZvr(3)    镜像市场:http://market.aliyun.com/image/?spm=5176.100050.201.27.bQJX942. 免费解决方式:(1)    您可以到阿里云官方论坛 -> 新手帮帮团版块向其它会员免费求助。新手帮帮团集结了大量开发者及场外专家,通过提交提问帖,您可以获取其它会员给予的问题解答和指导。(2)    您也可以到阿里云帮助中心,根据您的问题搜索相关知识点,然后根据知识点的指导方法尝试操作处理。  

没法子,还得要靠自己解决:


既然不能修改密码 ,那干脆再增加一个管理员试试。

1

mysql -u root -p

2

CREATE USER bookUser@localhost;Query OK, 0 rows affected (0.00 sec)

3

SET PASSWORD FOR bookUser@localhost= PASSWORD("password");Query OK, 0 rows affected (0.00 sec)

4

GRANT ALL PRIVILEGES ON gudianbook.* TO bookUser@localhost IDENTIFIED BY 'password';Query OK, 0 rows affected (0.00 sec)

5

FLUSH PRIVILEGES;

ESC :WQ

退出MYSQL


CD /var/www/html

vi wp-config.php

将用户名 修改为刚刚添加的管理员用户

service httpd restart
service mysqld restart

怀着期望的眼神,内心坎坷的点击网站,结果失望的发现,网站仍然强悍的显示那个让人无比痛恨的数据库连接错误。

看来不是用户名和密码的问题


第三步:

于是又咨询了阿里云,阿里云建议我自己查看日志

售后工程师 :  查看日志,可以看出具体是数据库出错在哪儿,然后针对性解决问题如果您自己没有技术人员也不会排查,您可以参考:用户您好!阿里云目前暂时没有针对第三方类应用提供安装、配置及排查等服务项目,您需要自行完成处理。或按以下建议方法尝试解决:1.     付费解决方法:阿里云“工具与镜像市场”有专业的技术服务团队,可以帮您排忧解难。您可以选择支付一定费用,将问题交给服务商处理。且目前部分第三方服务商品有一定优惠活动,您可以通过阿里云论坛->运维服务版块,进行查看。如以上服务不能满足您的需求,您也可以通过下面链接查找更多第三方服务项目。(1)    服务市场:http://market.aliyun.com/service/?spm=5176.900001.3.10.C2185F(2)    工具市场:http://market.aliyun.com/tools/?spm=5176.1089568.0.0.mrQZvr(3)    镜像市场:http://market.aliyun.com/image/?spm=5176.100050.201.27.bQJX942. 免费解决方式:(1)    您可以到阿里云官方论坛 -> 新手帮帮团版块向其它会员免费求助。新手帮帮团集结了大量开发者及场外专家,通过提交提问帖,您可以获取其它会员给予的问题解答和指导。(2)    您也可以到阿里云帮助中心,根据您的问题搜索相关知识点,然后根据知识点的指导方法尝试操作处理。  2016-04-29 11:04:28

我不知道从哪里看,估计看不懂,于是又搜索了下资料,找到下面一个说法

修改 WP-CONFIG.PHP

将 define('WP_DEBUG', false); 修改为 define('WP_DEBUG', true);

启动为调试模式。

于是,我又打开网站,发现有连接可以一直连接下去,最终找到了源头

wp_options 这个表 崩溃了

is marked as crashed and should be repaired

产生原因:表在查询或其它系统操作下损坏。

我首先想用PHPADMIN修复
domain/phpmyadmin/
发现,这个表确实崩溃了,但不能修复,因为没提供修复选项,而其他正常的表却提供了修复选项,真不知道是什么逻辑。


看来,也只能找其他的修复方法了。

最终,找到一个可行的方法

以下是参照资料

# mysql -u root -pEnter password:mysql> use wordpress;Reading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -ADatabase changedmysql> select * from wp_posts;ERROR 145 (HY000): Table './wordpress/wp_posts' is marked as crashed and should be repairedmysql> Bye



修复 MySQL 数据库数据表问题可以由 mysqlcheck 来解决,先用 mysqlcheck 查看一下:# mysqlcheck -u root -p wordpressEnter password:然后添加 –auto-repair 参数自动修复,最好修复前备份一下数据库:# mysqldump -u root -p wordpress > wordpress.sqlEnter password:# mysqlcheck -u root -p wordpress --auto-repairEnter password:wordpress.wp_commentmetaerror    : Table upgrade required. Please do "REPAIR TABLE `wp_commentmeta`" or dump/reload to fix it!wordpress.wp_commentserror    : Table upgrade required. Please do "REPAIR TABLE `wp_comments`" or dump/reload to fix it!wordpress.wp_linkserror    : Table upgrade required. Please do "REPAIR TABLE `wp_links`" or dump/reload to fix it!wordpress.wp_optionserror    : Table upgrade required. Please do "REPAIR TABLE `wp_options`" or dump/reload to fix it!wordpress.wp_postmetaerror    : Table upgrade required. Please do "REPAIR TABLE `wp_postmeta`" or dump/reload to fix it!wordpress.wp_postserror    : Table upgrade required. Please do "REPAIR TABLE `wp_posts`" or dump/reload to fix it!wordpress.wp_term_relationships                OKwordpress.wp_term_taxonomyerror    : Table upgrade required. Please do "REPAIR TABLE `wp_term_taxonomy`" or dump/reload to fix it!wordpress.wp_termserror    : Table upgrade required. Please do "REPAIR TABLE `wp_terms`" or dump/reload to fix it!wordpress.wp_usermetaerror    : Table upgrade required. Please do "REPAIR TABLE `wp_usermeta`" or dump/reload to fix it!wordpress.wp_userserror    : Table upgrade required. Please do "REPAIR TABLE `wp_users`" or dump/reload to fix it!Repairing tableswordpress.wp_commentmeta                       OKwordpress.wp_comments                          OKwordpress.wp_links                             OKwordpress.wp_options                           OKwordpress.wp_postmeta                          OKwordpress.wp_posts                             OKwordpress.wp_term_taxonomy                     OKwordpress.wp_terms                             OKwordpress.wp_usermeta                          OKwordpress.wp_users                             OK

这是最后的稻草了,我怀着万分期盼却又尽量压低期盼的心情,点击了网站,终于,终于发现网站正常了。


后继:

本来我的网站,只想做为一个展示页面,没想到这么折腾,总是出问题,阿里云也给不出好的解决方式。

为了让阿里云赚更少的钱

如果你想买阿里云服务器,给你一个推荐码,你也优惠,也能让阿里云少赚钱

阿里云9折推荐码:k5jye5

,分享给你,第一次购买云服务器或云数据库可享受原价9折优惠,还可多人使用,拿走不谢。


参考资料:

http://www.vpsee.com/2013/08/how-to-fix-mysql-table-is-marked-as-crashed-and-should-be-repaird/






0 0
原创粉丝点击