0

mysql データベースの復元で問題が発生しています。私のプライマリ データベースは mysql5.1 でしたが、現在、それを mysql5.5 にコピーしようとしています。データベースはXtrabackupを使用してバックアップされました。

このサーバーで Ubuntu 12.04.3 LTS を使用しています。mysql のバージョンは 5.5.32-0ubuntu0.12.04.1-log です。

Xtrabackupを使用して復元するすべての手順に従いました。これにより、作成されたデータベース ファイルが tmp ディレクトリにコピーされました。

この tmp ディレクトリを指すように my.cnf を変更しました。tmp ディレクトリのアクセス許可を変更し、ファイルの所有権を mysql ユーザーに変更しました。drwxr-xr-x 12 mysql mysql 4096 9 月 10 日 10:04 ベース

mysql サーバーを起動すると、「[エラー] 致命的なエラー: 特権テーブルを開いたりロックしたりできません: テーブル 'host' は読み取り専用です」というエラーが表示されます。

私は次のように試してみました:

  1. それが問題であるかどうかを確認するために、mysql5.1 をインストールしてみました。
  2. 「chcon mysql_db_t」でコンテキストを変更しようとしましたが、「ラベルのないファイルに部分的なコンテキストを適用できません」というメッセージが表示されます
  3. --skip-grant を使用してデータベースにアクセスしましたが、これを使用すると innodb テーブルにのみアクセスでき、MyIsam テーブルは読み取り専用エラーをスローします
  4. --skip-grant の後、upgrade_mysql を使用しましたが、多くのテーブルが読み取り専用であるというエラーがスローされます。
  5. 外装も外しました。そして再起動も。
  6. 以前にUbuntu 12.04.2 LTSで別のデータベース(5.1から5.5)を問題なく復元しました。

正しい方向に向けてください。許可の何が問題なのかわかりません。

前もって感謝します。

4

1 に答える 1

0

私自身の質問に答えると、

問題は AppArmor にあります。AppArmor をアンインストールした後でも、MySql がファイルにアクセスできない理由がわかりません。

AppArmor を再インストールし、MySql プロファイルを AppArmor の無効なプロファイルの下に移動しましたが、それでも機能しませんでした。

/var/lib/mysql/ の下にデータベース ファイルをコピーしたところ、MySql がエラーをスローしなくなりました。

于 2013-09-11T03:45:03.040 に答える