MySQLの読み取り専用エラー、権限設定、およびSELinux AFAICTが正しい

MySQLの読み取り専用エラー、権限設定、およびSELinux AFAICTが正しい

私はMySQLとLinuxを初めて使用するので、以前のMySQLバージョン(5.1)の問題のためにmysqldumpを使用してMySQL 5.6をインストールしました。すべてを新しいフォルダにコピーし、デフォルトディレクトリの新しいフォルダへのシンボリックリンクを設定してdatadirの場所を変更しました。権限を755に設定し、ユーザーとグループをmysqlに設定しました。 ls -aZを使用すると、次のようになります。

drwxr-xr-x. mysql    mysql    unconfined_u:object_r:mysqld_db_t:s0 mysql

正確なエラーメッセージは次のとおりです。

  1. そしてmysql_install_db --user=mysql --datadir=new_dir

    [Note] InnoDB: 5.6.24 started; log sequence number 1600717
    ERROR: 1036  Table 'db' is read only
    [ERROR] Aborting
    
  2. 私が見つけたもの/var/log/mysqld.log

    [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
    [ERROR] Fatal error: Can't open and lock privilege tables: Table 'user' is read only`
    

ところでmysqlが実行されていないため実行できませんmysql_upgrade。私はいつも次のようになります。

    MySQL Daemon failed to start.
    Starting mysqld:  [FAILED]

試してみるとき:service mysqld start

この問題を解決する方法に関する提案がある場合は、お知らせください。本当にありがとうございました!

アップデート:提案してくれたapaulに感謝します!

  1. リポジトリをインストールしyumてからmysqlを追加インストールしましたyum
  2. mysqlのインストール後に表示されるmysqlフォルダと、ibdata1、ib_logfile0、ib_logfile1ファイルとパフォーマンススキームのみをコピーしました。これは、実際のデータデータベースと比較してmysqlフォルダをダンプまたは削除しなかったためです。提案に従ってくださいここ
  3. コマンドの実行中にlも使用しました--datadir--user=mysqmysql_install_db
  4. すべてのmysqlディレクトリは755なので、実行可能でなければなりません。しかし、私の記憶では5.6に変更される前には700個しかありませんでした。

またテストしました。コンピュータを再起動し、datadirの実際のパスとmy.cnfのシンボリックリンクへのパスを試みました。

ベストアンサー1

おすすめ記事