web-dev-qa-db-ja.com

Mac OS SierraにMySQLをインストールするときにmysql.pluginテーブルエラーを開けない

MySQLをmacOS Sierra 10.12.5にインストールしようとしています。 MySQLの以前の(機能しない)インストールがあったので、 手順はこちら に従ってHomebrewでクリーンコピーをインストールしました。

var/log/mysql/error.log自動的に作成されなかったため、現在はログに記録されていますmysql.server start

2017-07-24T13:36:28.554840Z 0 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
2017-07-24T13:36:28.563492Z 0 [ERROR] unknown variable 'key_buffer=16M'
2017-07-24T13:36:28.563534Z 0 [ERROR] Aborting

これは私がMySQLを初期化した方法です:

mysqld -initialize --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql

MySQLをhomebrewで起動しても、エラーは発生しません。

CRMPiccos-MacBook:~ crmpicco$ brew services start mysql
==> Successfully started `mysql` (label: homebrew.mxcl.mysql)

バージョン情報:

CRMPiccos-MacBook:log crmpicco$ mysql --version
mysql  Ver 14.14 Distrib 5.7.19, for osx10.12 (x86_64) using  EditLine wrapper
3
crmpicco

私の場合、mysqldを実行しているユーザー(ユーザーmysql)が書き込み権限でmysqlデータディレクトリを開くことができないため、更新後にmysqlが失敗しました。代わりに、ファイルは私が所有していました。私はこれを修正しました:

Sudo chown -R mysql /usr/local/mysql/*

(私にとって)本来の原因は、Sierraアップグレードitelfではなく、それに応じてアプリケーションを更新するプロセス全体でした。具体的には、Sierraの更新にchownが含まれた後、brewを更新するためのオンラインでの他の説明PHP

Sudo chown -R $(whoami):admin /usr/local # DO NOT DO THIS

これにより、残念ながら/ usr/local内の/ usr/local/mysql内のファイル権限が変更され、エラーが発生しました。

2
ClearCrescendo