私は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
正確なエラーメッセージは次のとおりです。
そして
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
私が見つけたもの
/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に感謝します!
- リポジトリをインストールし
yum
てからmysqlを追加インストールしましたyum
。 - mysqlのインストール後に表示されるmysqlフォルダと、ibdata1、ib_logfile0、ib_logfile1ファイルとパフォーマンススキームのみをコピーしました。これは、実際のデータデータベースと比較してmysqlフォルダをダンプまたは削除しなかったためです。提案に従ってくださいここ。
- コマンドの実行中にlも使用しました
--datadir
。--user=mysq
mysql_install_db
- すべてのmysqlディレクトリは755なので、実行可能でなければなりません。しかし、私の記憶では5.6に変更される前には700個しかありませんでした。
またテストしました。コンピュータを再起動し、datadirの実際のパスとmy.cnfのシンボリックリンクへのパスを試みました。