web-dev-qa-db-ja.com

mysql.server起動時のPIDエラー?

Homebrew(Mac OS X 10.6)を使用してMySQLをインストールしようとしましたが、最初のハードルで問題に遭遇しました。サーバーを手動で起動しようとすると(mysql.server start)、次のエラーが表示されます。

. ERROR! Manager of pid-file quit without updating file.

残念ながら、以前にこの方法でMySQLをインストールしたことがないため、どのエラーログまたは構成ファイルを確認するのかわかりません。

32
joecritch

Homebrew経由でインストールするときに、この同じ問題に遭遇しました。これらのコマンドを必ず実行してください(インストール中にリストされますが、見逃しやすいです):

unset TMPDIR
mysql_install_db
33
Mike Hornblade

おそらく、mysqlをrootユーザーとして実行していることを確認する必要があります。そうしないと、PIDファイルを書き込む権限がありません(したがって、受け取ったエラー)。

これを試して:

Sudo mysql.server start

パスワードの入力を求められます。 (これは、ユーザーアカウントに「Sudo」へのアクセス許可があることを前提としています。これは、OS Xで制限付きユーザーアカウントとして設定されている場合を除きます)。

これが唯一の問題ではないかもしれませんが、とにかく次のステップに進むはずです。

幸運を!

16
Lee

次の2つのコマンドで問題を解決できます。

> unset TMPDIR
> mysql_install_db --verbose --user=\`whoami\` --basedir="$(brew
--prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp

Homebrewを使用してLionにMySQL 5.5.15をインストールしようとしたときに同じ問題に遭遇し、次の問題を解決しました。

mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp

ファイル〜/ my.cnfの作成

コンテンツで:

 [mysqld]
   basedir=/usr/local/Cellar/mysql/5.5.15
   datadir=/usr/local/var/mysql

basedir-現在のMySQLインストールディレクトリdatadir-MySQLデータの場所である必要があります

"brew install mysql"の間にmakeコマンドを見て、次のようなものを検索することで、その場所を把握できます。

-DCMAKE_INSTALL_PREFIX=/usr/local/Cellar/mysql/5.5.15 -DMYSQL_DATADIR=/usr/local/var/mysql -DINSTALL_MANDIR=/usr/local/Cellar/mysql

ここで、DCMAKE_INSTALL_PREFIX = basedirおよびDMYSQL_DATADIR = datadir

6
lmmendes

他には何も役に立たなかったが、次のように機能した。

$ ps aux | grep mysql
tagir           27260   0.0  1.0  3562356 175120   ??  S     2:52PM   0:00.42 mysqld --skip-grant-tables
tagir           42704   0.0  0.0  2434840    784 s000  S+    3:04PM   0:00.00 grep mysql
$ kill 27260
# Careful! This might erase your existing data
$ rm -rf /usr/local/var/mysql
$ mysqld --initialize
$ mysql.server start
5
Grozz

他のソフトウェアをインストールした後にこの問題に何度か遭遇したため、ここに追加しています。 MySQLは数日間正常に動作していましたが、突然このエラーが発生しました。

何かをインストールすると発生するようです(たとえば、elasticsearchやPuma Webサーバー)。 MySqlパーミッションは再び元に戻ります(_mysqlではなく、私に戻ります)。理由はわかりません。

  • MacOS Sierra
  • Homebrew 1.0.5-43-g41b2df8(2016-10-02)
  • MySQL 5.7.15

そのため、この原因の1つは、MySQLがデータベースを保存する場所に対するアクセス許可であることがわかりました。これはデフォルトでは次のとおりです。

/usr/local/var/mysql

そのフォルダを見ると、ファイルが表示されます

<your computer name>.err

そのファイル(more itまたはcat it)の中を見ると、おそらく次のエラーが表示されます。

[ERROR] InnoDB: The innodb_system data file 'ibdata1' must be writable

もしそうなら、あなたはそれが権限の問題であることを知っています。

気にしないのであれば、おそらくmysqldを実行するだけでMySQLを実行できます(そしてそのターミナルを開いたままにしておきます)。

気にするなら:

ls -al /usr/local/var/mysql

おそらく、アクセス許可がすべてあなた(ユーザーアカウント)に設定されていることに気付くでしょう。これは、homebrewショートカットSudo mysql.server startを使用して実行すると、mysqlがデータベースをマウントできないことを意味します[Sudoを使用して 'admin'モードで実行している場合でも]。

そのため、許可を変更します。

$ Sudo chown -R _mysql /usr/local/var/mysql
$ Sudo chmod -R o+rwx /usr/local/var/mysql

その後、動作します。

3
rmcsharry

何らかの理由で上記のImmendesの下にコメントすることはできませんが、mySQL 5.6.10を使用した10.8.2では、db_installの検証とmy.cnfの追加に加えて、-R myusername/tmp/mysql.sock。

この点では、mySQLをユーザーの下で実行できるようにすることは(Linuxで行うようにrootまたはwwwに任せて)最良のアイデアではないようです(ただし、Homebrewは式を更新できますが、私の範囲と時間を超えています)。

1
Paul Fox