2015-11-17 9 views
5

OS X Yosemiteを搭載したMac Pro Serverを使用していますが、数日前にOS X El Capitanにアップグレードしました。 MySQLを再インストールしようとすると問題が発生します。私は公式のMySQLページに行き、最新バージョン(5.7.9)をDMGパッケージにダウンロードし、それを通常通りインストールしました。サーバーをインストールして再起動した後
、MySQLサーバが自動的に起動しませんでしたし、手動で起動するときに私が取得:OS X El CapitanのMySQL 5.7.9:エラーサーバがPIDファイルを更新せずに終了する

After MySQL install via Brew, I get the error - The server quit without updating PID file

:私は、インターネット上でのソリューションの多くをしようとしてきた

ERROR! The server quit without updating PID file (/usr/local/mysql/data/macServer.pid) 

http://coolestguidesontheplanet.com/mysql-error-server-quit-without-updating-pid-file/

PID error on mysql.server start?

MySQL pid ended (cannot start mysql)

私はmysql.server restartを使用しようとしましたが、サーバを再起動しました。 *.errファイルを削除して、自分のPIDファイルを作成しようとしましたが、自動的に削除されました。

可能な解決策は完全にMySQLをアンインストールして、もう一度再インストールしました:http://bytearrays.com/completely-uninstall-mysql-mac-osx/

もう一つは.plistを変更することでしたが、このファイルには、それは私の問題を解決することはできませんので、提供するソリューションと同一でした。

まだMySQLサーバーを起動できません。

私は2つの可能性を考えています:一方では、完全にMySQLをアンインストールしなかった可能性があり、悪いことをすることがありますが、他方では/etc/my.cnfファイルを使用することが問題です。

私はすでに2日間立ち往生しています。私はサーバを動かすために何をすべきかわかりません。

編集1:sudo mysqld --user=mysqlの実行の出力は次のとおりです。

simidat-apps:~ admin$ sudo mysqld --user=mysql 
Password: 
2015-11-18 9:08:36 140735160397824 [Note] mysqld (mysqld 10.1.8-MariaDB) starting as process 81030 ... 
2015-11-18 9:08:36 140735160397824 [Warning] Setting lower_case_table_names=2 because file system for /usr/local/var/mysql/ is case insensitive 
2015-11-18 9:08:36 140735160397824 [ERROR] mysqld: File '/usr/local/var/mysql/aria_log_control' not found (Errcode: 13 "Permission denied") 
2015-11-18 9:08:36 140735160397824 [ERROR] mysqld: Got error 'Can't open file' when trying to use aria control file '/usr/local/var/mysql/aria_log_control' 
2015-11-18 9:08:36 140735160397824 [ERROR] Plugin 'Aria' init function returned error. 
2015-11-18 9:08:36 140735160397824 [ERROR] Plugin 'Aria' registration as a STORAGE ENGINE failed. 
2015-11-18 9:08:36 140735160397824 [Note] InnoDB: Using mutexes to ref count buffer pool pages 
2015-11-18 9:08:36 140735160397824 [Note] InnoDB: The InnoDB memory heap is disabled 
2015-11-18 9:08:36 140735160397824 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins 
2015-11-18 9:08:36 140735160397824 [Note] InnoDB: Memory barrier is not used 
2015-11-18 9:08:36 140735160397824 [Note] InnoDB: Compressed tables use zlib 1.2.5 
2015-11-18 9:08:36 140735160397824 [Note] InnoDB: Using CPU crc32 instructions 
2015-11-18 9:08:36 140735160397824 [Note] InnoDB: Initializing buffer pool, size = 128.0M 
2015-11-18 9:08:36 140735160397824 [Note] InnoDB: Completed initialization of buffer pool 
2015-11-18 9:08:36 140735160397824 [ERROR] InnoDB: ./ibdata1 can't be opened in read-write mode 
2015-11-18 9:08:36 140735160397824 [ERROR] InnoDB: The system tablespace must be writable! 
2015-11-18 9:08:36 140735160397824 [ERROR] Plugin 'InnoDB' init function returned error. 
2015-11-18 9:08:36 140735160397824 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed. 
2015-11-18 9:08:36 140735160397824 [Note] Plugin 'FEEDBACK' is disabled. 
2015-11-18 9:08:36 140735160397824 [ERROR] Could not open mysql.plugin table. Some plugins may be not loaded 
2015-11-18 9:08:36 140735160397824 [ERROR] Unknown/unsupported storage engine: InnoDB 
2015-11-18 9:08:36 140735160397824 [ERROR] Aborting 

私は最初の質問では、このエラーを置くことを忘れて、私はそれが何であるかわからない(InnoDBテーブル上のエラーのように思えます誰かが私にそれを説明することができれば、私はとても感謝しています)。また、私はインターネット上でこのエラーを探しましたが、私は解決策を見た場所を覚えていませんが、すべてのInnoDBログファイル(ib*ファイル)を削除しなければならず、驚くほどログファイルを見つけることができませんでした何でも私はそれが許可問題になる可能性があると思うが、どのようなユーザーにどのようなアクセス許可?

+0

#mysqld --user = mysqlを起動して出力を投稿するか、#mysqld --user = root –

+0

このようなコマンド結果で質問を編集しました。 –

+0

ログからは、ファイル 'ibdata1'またはそれを含むディレクトリで権限が間違っているようです。 –

答えて

3

あなたの問題は実際にはMysqlではなく、むしろMariaDBの仕組みにあります。問題はaria_log_controlファイルのアクセス許可です。

Iはbrew介しのMySQL/mariadbをインストールし、したがってI:

  1. リセットパーマ775(sudo chmod 775は/ usr/local/VAR/MySQLの/ aria_log_control`)
  2. にログファイル(例えば、削除rm /usr/local/var/mysql/*.home.err
  3. スタート/あなたがMySQLのディレクトリを削除する必要があるのmysqld

Other sources請求を停止します。これは私の場合ではありませんでした。

+0

私はこれを試しました - 再起動するまで一時的な修正であるようでした... – featherbelly

0

the answer listed on githubを1として、ユーザーへのmysqldユーザーを変更: -

/usr/local/etc/my.cnf.d/user.cnf

を作成し、次の行を追加します -

[mysqld] 
user=YOUR_USER_NAME 

OSXシエラ10.12.1/MariaDB 10.1。 19

https://github.com/Homebrew/legacy-homebrew/issues/50670

(私はaria_log_controlファイルのアクセス権を変更しようとしましたが、再起動してもそれらは有効ではありませんでした)。

0

もう1つのことは、mysqlデータディレクトリの上にあるすべての親ディレクトリのアクセス許可が正しいことです。

例:/varのパーミッションが正しいことと、/ var/lib /のパーミッションが正しいことを確認してください。

私の場合は/ varの権限が壊れていて、ユーザー "mysql"はvarディレクトリにアクセスできませんでした。

通常のユーザーに切り替えるには、通常のユーザーが/ varと/ var/libにcdできることを確認してください(mysqlデータディレクトリは/ var/libの中にあると仮定します)。

関連する問題