同様の質問をしている人を見つけました:MySQL> テーブルが存在しません。しかし、そうです (またはすべきです)。
Mike Dacre には、私の問題を解決する答えがありました。問題は、ib_logfile0 と ib_logfile1 (および mysql/ ルート ディレクトリ内の他の ib* ファイルの一部) が、新しくインストールした mysql と一致しないことでした。古い mysql/ ディレクトリから単に db ファイルをドロップして、それが機能することを期待することはできません。
データベースを回復するために私がしたことは、新規インストールで現在の /var/lib/mysql/ をバックアップすることでした:
$ sudo service mysql stop # Stop mysql. Command could be different on different distros
$ sudo mv /var/lib/mysql ~/mysql.bku
次に、緊急バックアップ ディレクトリを /var/lib にコピーします
$ sudo cp -R /media/NAS/Backup/mysql /var/lib/
次に、パーミッションを適切に設定します (必要に応じて ~/mysql.bku/ を参照してください)。これにはもっと効率的なコマンドがあるかもしれませんが、経験の浅い人がそれを必要とする場合に備えて、完全を期すために私が知っているものを含めています.
$ sudo chown -R mysql:mysql /var/lib/mysql
$ sudo find /var/lib/mysql/ -type d -exec chmod 700 {} \;
$ sudo find /var/lib/mysql/ -type f -exec chmod 660 {} \;
$ sudo chmod 644 /var/lib/mysql/debian-5.1.flag # Not sure what this is but the permissions were a bit different so include it just in case
mysql を再起動します
$ sudo service mysql start # Again command might be different on different distros
次に、必要なデータベースをバックアップしました:
$ mysqldump -u root -p mediawiki-1_19_1 -c | gzip -9 > wiki.2012-11-15.sql.gz
終了したら、mysql/ ディレクトリを元に戻し、ダンプ ファイルからデータベースをインポートしました。
$ sudo service mysql stop
$ sudo mv /var/lib/mysql ~/mysql-discard # Too nervous to start typing "sudo rm -r /" for /var/lib/mysql, so move it away instead
$ sudo mv ~/mysql.bku /var/lib/mysql
$ sudo service mysql start
問題は解決しました。現在、データベースを適切にエクスポートしており、mysql も適切に実行されています。あとは、バックアップからウィキを復元するガイドに従うだけです。