Mysqld(/etc/init.d内)を起動すると、
InnoDB:InnoDBテーブルスペースの破損。
最高は何ですかinnodb_force_recovery
mysqldを強制的に起動する値? 4と6を試しましたが、破損エラーメッセージは同じです。私はすでに完全なダンプを持っています。
MySQLのドキュメントによると、innodb_force_recovery = 1を使用すると、破損したページが検出されてもサーバーは起動します。
http://dev.mysql.com/doc/refman/5.0/en/forcing-innodb-recovery.html
それでも、確認したいことがいくつかあります。
Mysqlのエラーログに関連するエラーはありますか? cat /var/log/mysqld.log
ファイルシステムは大丈夫ですか、同じパーティションにタッチでファイルを作成できますか?例/var/somefile.txtをタッチします
データベースの完全バックアップがある場合、質問で述べたように、ibdataおよびib_logfile(s)を削除して再作成できます。データベースを復元します。これにより、innodbファイルにある破損の問題が解決されます。
手順は次のとおりです。
Mysqlを停止する
ibdataおよびib_logfileファイルを削除します。
例:rm -f /var/lib/mysql/ibdata1
例:rm -f /var/lib/mysql/ib_logfile*
MySQLを起動します(これにより、innodbファイルが再作成されます)。
ダンプを復元mysql -u root -p < mydump.sql
Innodbファイル(ibdataおよびib_logfiles)のみを削除する限り、ユーザーとデータベースへのアクセス権はそのまま残ります。