I have my VPS
installed cPanel
. Today it suddenly not work, all of Wordpress
websites on VPS
show the error:
This webpage has a redirect loop
ERR_TOO_MANY_REDIRECTS
and auto redirect to wp-admin/install.php
.
I log in to phpmyadmin then see some tables have collation "in use" (not "utf8_general_ci" such as normally). Can't be loaded because of error:
#1286 - Unknown storage engine 'InnoDB'".
So how to fix this error? Thanks for help me!
答案 0 :(得分:0)
我遇到了同样的问题,这个问题引发了,因为你的innoDB被破坏了,所有使用innoDB表的数据库都在使用中。
要解决此问题,您需要按照以下步骤进行操作
要获得100%干净的表空间,您需要使用innodb_force_recovery = 4启动MySQL,使用mysqldump并将其恢复到InnoDB的新实例上(新鲜我的意思是您必须删除ibdata1和所有数据库目录)。
更新:
此时,MySQL以innodb_force_recovery = x(x!= 0)
启动转储所有数据库:
检查MySQL保存文件的位置(在我的情况下是' s / var / lib / mysql /):
的/ var / lib中/ MySQL的/ 停止MySQL
将旧的MySQL文件移到安全的地方
创建新的系统数据库
启动MySQL
恢复转储
如果数据库很大,恢复可能需要很长时间。
在这种情况下,另一个技巧可能会起作用。在每个InnoDB表上运行ALTER TABLE ... ENGINE INNODB。它将重建所有InnoDB索引,因此错误将消失。
+++++++++++++++++++++++++++++++++++++++++++++++ ++
另一个解决方案是从备份恢复数据库。
首先,您需要删除ibdata1文件
cd / var / lib / mysql
rm -f ibdata1
然后使用以下命令
逐个恢复所有数据库mysql -u username -p databasename< backupfile.sql
+++++++++++++++++++++++++++++++++++++++++++++++ +++