web-dev-qa-db-ja.com

Brew経由でMySQLをインストールした後、エラーが表示されます-PIDファイルを更新せずにサーバーが終了しました

OK、私はあちこち検索して、インストール、アンインストール、さまざまなオプションを試してみましたが、成功していませんでした。

Mac OS X Lion(10.7.3)で、Python、MySQLをセットアップしようとしています。

HomeBrew経由でPythonとMySQLを正常にインストールしました。 Pythonはうまく機能します。

MySQLのインストール後、最初の2つの手順(設定解除とmysql_install_dbコマンド)を実行しました。

さて、mysql「mysql.server start」を起動しようとすると、次のエラーが表示されます

ERROR! The server quit without updating PID file (/usr/local/var/mysql/Brajeshwar.local.pid).
  • Brajeshwarは、マシンのユーザー名です。
71
Brajeshwar

EDIT 2012/09/18:Kaneが指摘 のように、mysqlデータベースが適切に設定されていることを確認してください他のことをする前に詳細については、「 mysql.server start?でのPIDエラー? 」を参照してください。

元の回答は歴史のために保持されています:それはおそらくisパーミッションの問題です。 /usr/local/var/mysql/*.errを確認してください。私の言った:

120314 16:30:14  InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name ./ibdata1
InnoDB: File operation call: 'open'.
InnoDB: Cannot continue operation.
120314 16:30:14 mysqld_safe mysqld from pid file /usr/local/var/mysql/janmoesen.local.pid ended

私もこれをしなければなりませんでした:

Sudo chown _mysql /usr/local/var/mysql/*
73
janmoesen

mysqlフォルダーのアクセス許可の問題であることがわかりました。

chmod -R 777 /usr/local/var/mysql/ 

私のためにそれを解決しました。

93
mikoop

私はmysqlを完全に再インストールすることになり、最終的にはうまくいきました。

WARNINGこれによりすべてのデータベースが削除されるため、最初にダンプを保存してください。

brew remove mysql
brew cleanup
launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
Sudo rm -rf /usr/local/var/mysql

brew install mysql
mysqld --initialize --explicit_defaults_for_timestamp
mysql.server start # no Sudo!
49
artnikpro

Mac 10.10.5 Yosemiteでこの問題が発生しました

これを解決するために私がしたこと

cd /usr/local/var/mysql
Sudo rm *.err && Sudo rm *.pid
Sudo reboot
Sudo mysql.server start

28
Rakesh James

2014年11月:Mac OS X MavericksまたはYosemite上のMySQL 5.6.xでこのエラーが発生し、PHPでMySQLをローカルで使用する場合(/tmp/mysql.sockはPHP PDOはsockファイルを見つけることを期待しています)、これが私のために修正したものです:

1)デフォルトのhomebrew構成ファイルの行のコメントを外し、次のように編集します

$ Sudo vi /usr/local/Cellar/mysql/5.6.21/my.cnf
...
basedir = /usr/local/Cellar/mysql/5.6.21
datadir = /usr/local/var/mysql
port = 3306
server_id = <UNIQUE_NUMBER_HERE_OR_LEAVE_COMMENTED_OUT>
socket = /tmp/mysql.sock
pid-file = /usr/local/var/mysql/[BOXNAME].local.pid
....

BOXNAMEは、ネットワーク上のコンピューターの一意のIDとしてシステム設定->ネットワークにあるものです。

2)mysql datadirのすべてのファイルにパーミッションを設定します。これらはすべて[my_username]が所有しています。 MySQLはこれについて非常にうるさいので、ディレクトリ(ユーザー_mysql)が所有していない限り、pidファイルの作成を拒否します。

$ Sudo chown -R _mysql:mysql /usr/local/var/mysql

3)bashヘルパー/ラッパースクリプトを使用してMySQLを起動します。

$ Sudo mysql.server start
Starting MySQL
. SUCCESS! 

それが役に立てば幸いです。上記がうまくいかない場合は、Cellar/mysql/VERSION_/bin /ディレクトリでmysqld_safeバイナリを手動で実行し、設定が何であるかを確認してください(実行されている場合)

Sudo /usr/local/Cellar/mysql/5.6.12/bin/mysqld_safe &

それが実行される場合、次のことができます

ps aux | grep mysql 

のようなものを見ます

[username]  6881   0.0  2.7  3081392 454836   ??  S     8:52AM   0:00.54 /usr/local/Cellar/mysql/5.6.21/bin/mysqld --basedir=/usr/local/Cellar/mysql/5.6.21 --datadir=/usr/local/var/mysql --plugin-dir=/usr/local/Cellar/mysql/5.6.21/lib/plugin --verbose --log-error=/usr/local/var/mysql/BOXNAME.local.err --pid-file=/usr/local/var/mysql/BOXNAME.local.pid

なぜそれが私のために働いたのかはわかりませんが、my.cnf設定ファイルオプションの入手先を示しています。コマンドラインオプションを使用して、mysqldを手動で起動するときにトラブルシューティングを試みることもできます。

Mysqld_safeを使用してMySQLサーバーを実行するためにmanageを実行する場合、mysql.server bashヘルパーを試す前にこれをシャットダウンする必要があります。データを破損する可能性があるため、-9 [PID]を殺す衝動に抵抗してください。

mysqladmin -uroot shutdown

幸運を!

18
phpguru

OS X El Capitanでも同じ問題が発生しました。これを修正した端末コマンドシーケンスを次に示します。

エラーファイルを削除します(セットアップに応じてパスを変更する必要があります)

Sudo rm /usr/local/mysql/data/*.err

まだ実行中のmysqlプロセスの情報を見つけて強制終了します。

ps -A | grep -m1 mysql | awk '{print $1}' | Sudo xargs kill -9

次に、MySQLを再起動します。

/usr/local/mysql/support-files/mysql.server start
17
Circle B

これは私のために働いた:

Sudo chmod -R 777 /usr/local/var/mysql/
Sudo /usr/local/mysql/support-files/mysql.server start
10
Kresimir Plese

これは10.12.2で私のために働いた:

$ rm /usr/local/var/mysql/*.err

それから

$ brew services restart mysql
3

私の記憶が正しければ、権限の問題です。 pidファイルまたはファイルが保存されているフォルダーを「タッチ」および「chmod」してみてください。

3
LonnyLot

私の問題は、サーバーを1回Sudoとして起動し、ローカルユーザーとして再起動しようとしたことです。

ここで、mysqlはrootが所有する「.err」ファイルに書き込むことができませんでした。そのファイルを削除して、サーバーを再起動する必要がありました。

Sudo rm /usr/local/var/mysql/*.err
mysql.server start
3
Grimmo

Mac上のMySQLで同様の問題が発生しました(Mac OS XはMySQLサーバーを起動できませんでした。理由:255および「エラー!サーバーはPIDファイルを更新せずに終了しました」)。長い試行錯誤のプロセスの後、最後にファイルのアクセス許可を復元するために、私はちょうどそれをしました:

Disk Utilities.appを起動します
左側のパネルでドライブを選択します
「ディスクのアクセス許可の修復」ボタンをクリックします

これは私にとってのトリックでした。これが他の誰かの助けになることを願っています。

2
Claude COULOMBE

Usr/local/var/mysql/your_computer_name.local.errファイルを見つけて、エラーに関する詳細を理解します

場所:/usr/local/var/mysql/your_computer_name.local.err

おそらくパーミッションに問題がある

  1. Mysqlが実行されているかどうかを確認し、それを強制終了します

ps -ef | grep mysql

kill -9 PID

ここで、PIDは2番目の列の値2です。mysqlの所有権を確認します

ls -laF/usr/local/var/mysql /

if it is owned by root, change it mysql or your user name



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

1
Amitesh

これを試してください(OSX)

ステップ1:ps -aux | grep mysql

次に、4桁のPID番号を削除します

ステップ2:kill 1965

ステップ3:mysql.server start

または、それらのPID番号を見つけるのに苦労している場合は、以下を試してください

もう一度ステップ1:ps -aux | grep mysql

再度ステップ2:killall

もう一度ステップ3:mysql.server start

私にとっては:

unset TMPDIR
mysql_install_db --user=`whoami` --basedir="$(brew --prefix mariadb)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
1
caarlos0

私のために働いたのは:

  1. Mysqlインストールディレクトリに移動します
  2. Sudo chmod -R 777 data
  3. 次に、1つのディレクトリに戻ります
  4. cd support-files/
  5. Sudo ./mysql.server start

その後、サーバーの実行が開始されました。

しかし、この方法の問題は、mysqlを今すぐ起動するたびにこれを繰り返す必要があることです。なぜこのように突然動作し始めたのか分かりません。

1
Pritam Banerjee

Mysqlインストールを8.xにアップグレードした場合、以前のバージョンが pgradation でサポートされているかどうかを確認してください。

そうでない場合、mysqlは機能しません! /usr/local/var/mysql内のすべての構成ファイルとともにmysqlをアンインストールします(フォルダー全体を削除します)。 mysqlを再インストールします。

注:再インストールすると、データが失われる可能性があります。

0
Ayush Goel

OSX El Capitanでの私のソリューションは:

Sudo chmod ugo+w /tmp

突然壊れました。

エラーは:

ERROR! The server quit without updating PID file

そしてログは示しました:

Can't start server : Bind on unix socket: Permission denied

また、OSXにはデフォルトではmy.cnfファイルがなく、デフォルトでは必要ないことに注意してください。これは知りませんでした。幸運を!

0
Gasgeber

答えはどれも私には役に立たなかった。しかし、私はSudo mysql.server startを実行しただけで、うまく機能しました。

また、私にとっては、*。errファイルに権限の問題は表示されませんでした。

0

これはファイル許可の問題です。ディスクのアクセス許可を確認して修復します。

Osx => Cmd + Space => Disk Utilty => Disk Permissionsを確認します。

ディスクのアクセス許可を修復した後に検証が完了しました。 mysql.server startコマンドは正常に機能しました。

0
wallance

Linuxでこの問題が発生しましたが、原因はすべてのmysqlインストールに関連しています。私の場合、起動が完了してpidファイルが更新される前にサーバーがクラッシュしていました。 「service mysql start」経由ではなく、mysqldを直接起動すると、エラーメッセージが表示されました。

私の場合、原因はログファイルが配置されているパーティションがいっぱいだったことです。ログファイルを削除すると、mysqlの再起動が許可されました。この問題をテストするには、mysqlアクティビティログの場所に移動し、df .を実行します。

0
Edward Schaefer

上記のすべての解決策は私には機能しません。しかし、彼らは私にこのエラーを修正するための手がかりを与えてくれます。

mysql.server start ---- error PIDファイルを更新せずにサーバーが終了しました

Homebrewを使用してmacbook mojaveに[email protected]をインストールしました

[email protected]をインストールする

/usr/local/var/mysql/IU.lan.errにあるmysqlエラーログ、その中に1行あります:権限テーブルを開いてロックできません:テーブル 'mysql.user'は存在しません

goole検索エンジンで多くの投稿を試した後、私はbaiduに目を向けました https://blog.csdn.net/xhool/article/details/52398042 この投稿に触発され、私は解決策を見つけました:

rm/usr/local/var/mysql/*

mysqld-初期化

rootユーザーのランダムパスワードがbashに表示されます。しかし、コマンドmysql -uroot -p [theRandomPassword]は機能しません。そのため、パスワードをリセットする必要があります。このような内容で初期化ファイルを作成します

'root' @ 'localhost'のパスワードの設定= PASSWORD( 'MyNewPass');

デスクトップなど、見つけやすい任意のディレクトリに配置します

mysqld --init-file = [YourInitFile]&

画面に多くのログが印刷されます。

mysql -uroot -pMyNewPass

ハイバージョンmysqlをお楽しみください!

0
何德福

同様の問題がありました。しかし、次のコマンドは私を救った。

cd /usr/local/Cellar
Sudo chown _mysql mysql
0
shakti singh

私は同じ問題を抱えていました:

しかし、状況は、私が入ろうとするたびに:

/usr/local/mysql/support-files/mysql.server start

エラーで示されたlocalhost.pidの代わりにiMax0.local.pidという名前のファイルが作成されます。

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

私にとって有効な解決策は、localhost.pidをコピーし、iMax0.local.pidに名前を変更することでした。

0
0yeoj
Sudo chmod -R 777 /usr/local/var/mysql/

私のために働く。

0
Anshul
$ Sudo mysql.server restart

わたしにはできる。

0
Lucas Ocon