エラー2002(HY000):ソケット '/tmp/mysql.sock'を介してローカルMySQLサーバーに接続できません


202

を使用してMySQLをMac OS X Mountain Lionにインストールしましたhomebrew install mysqlが、試したmysql -u rootところ、次のエラーが発生しました。

エラー2002(HY000):ソケット '/tmp/mysql.sock'を介してローカルMySQLサーバーに接続できません(2)

このエラーはどういう意味ですか?どうすれば修正できますか?


3
回答として投稿しなかったが、install mysql-serverパッケージ化する必要があるだけでなくmysql
Hanky Panky

3
@HankyPanky多分それはあなたがそれを書いたときに真実でした。しかし、2016年に醸造は決してありませんmysql-serverinstall
jjpe

22
Homebrewを使用してインストールしたことに注意してください。homebrew以外のヒントは無視して、brew services start mysqlor(またはバックグラウンドサービスが必要ない場合)で起動(および起動時に再起動)してくださいmysql.server start
Dave Everitt 2017年

1
私はそれを動作させましたが、古い通常のmysqlで5.7.19。新しいmysql@5.7バージョン5.7.24は、新しい醸造されたCellar mysql@5.7 Kegではなく古いmysqlにリンクされた設定参照があったため、機能しませんでした。おかげで私は後でこれを試してみました
KeitelDOG 2018

1
このエラーは実行後にも発生する可能性が高くbrew upgrade、以前にインストールされたものより新しいバージョンのmysqlがインストールされます。
johnsampson

回答:


113

これは、おそらくMySQLがインストールされているがまだ実行されていないためです。

それが実行されていることを確認するには、アクティビティモニターを開き、[すべてのプロセス]の下で、プロセス "mysqld"を検索して確認します。

「MySQL.prefPane」をインストールすることで起動できます。

ここに私を助けた完全なチュートリアルがあります:http : //obscuredclarity.blogspot.in/2009/08/install-mysql-on-mac-os-x.html


95
私が実行したところmysqld、それがすべてでした。これは、システムの一種のハードリセット/シャットダウンによるシャットダウン不十分なために発生した問題でした。
ProfNandaa 2015年

2
提案された方法はどれも機能しませんでした。私にとっては実行されていましたが、許可の問題がありました。ランニングsudo chown -R _mysql:mysql /usr/local/var/mysql && sudo brew services restart mysql@5.7は問題を解決しました
FooBar 2018年

アクティビティモニターで確認すると、mysqlIdが実行されています。これを回避するには、mysqlを停止してから再起動します。
JpersaudCodezit

108

mysql端末でコマンドを使用する前に、MySQLを起動する必要があります。これを行うには、を実行しbrew services start mysqlます。デフォルトでは、brewはルートパスワードなしでMySQLデータベースをインストールします。これを保護するには、次を実行しますmysql_secure_installation

接続するには、を実行しますmysql -urootrootここでのユーザー名です。


8
ランニングsudo chown -R _mysql:mysql /usr/local/var/mysql && sudo brew services restart mysql@5.7は問題を解決しました
FooBar 2018年

1
不思議に思っているのmysql_secure_installationは、mariaDB固有のスクリプトです。
T.Woody

3
brew services start mysql成功。しかし、それを実行したmysql -uroot後も、同じエラーが発生します。
Harper Koo

Macが起動するたびにこれを実行する必要がありますか、それともエラーを取り除いて実行する予定ですか、MySQLを実行し続けるか、起動時に開始しますか?
コナーリーチ

これを1回実行するだけで十分です。
Md Mazedul Islam Khan

90

これは、自作のインストール後に発生し、権限の問題が原因で発生します。次のコマンドで問題が修正されました。

sudo chown -R _mysql:mysql /usr/local/var/mysql

sudo mysql.server start

2
あなたは素晴らしい@nirojan、私は壁に頭をぶつけていました:thumsup:
Ravi Sharma

涼しい。別のMAC管理者アカウントに変更すると、問題を解決できます:)
William Wong Garay

どうもありがとう。私は今、5時間以上頭を悩ませています。インターネット上で複数の回答を見ましたが、これだけが役に立ちました。
ivange94 2018

私はあなたを愛しています@nirojan
アライグマ

賞賛!しかし、MacBookを再起動すると、同じ問題が発生します。
ジュニアガンティン2018

46

実行: brew info mysql

そして、指示に従ってください。式の説明から:

Set up databases to run AS YOUR USER ACCOUNT with:
    unset TMPDIR
    mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp

To set up base tables in another folder, or use a different user to run
mysqld, view the help for mysql_install_db:
    mysql_install_db --help

and view the MySQL documentation:
  * http://dev.mysql.com/doc/refman/5.5/en/mysql-install-db.html
  * http://dev.mysql.com/doc/refman/5.5/en/default-privileges.html

お役に立てれば。


35

他の人が指摘したように、これはMySQLがインストールされているがサービスが実行されていないためです。MySQLサービスを開始するには多くの方法があり、私にとってうまくいったのは以下のとおりです。

サービスを開始するには:

  1. 「システム設定」に移動します
  2. 下部のペインにMySqlアイコンがあります。
  3. それをダブルクリックして「MySQL Server Status」を起動し、「Start MySQL Server」ボタンを押します

私の環境:

Macヨセミテ10.10.3

インストールされたパッケージ:/Volumes/mysql-advanced-5.6.24-osx10.8-x86_64


@HosMercuryでは、MySQLがインストールされていることを確認できます
Ithar

MySQLの公式Webページからmysqlをダウンロードしてインストールします。この解決策は私にとってはうまくいきます。ありがとう:)
鄭元傑

1
こんにちは、公式のWebページからmysqlをダウンロードしてインストールしましたが、設定ペインでサーバーがアクティブ化されていません(赤い点)。何も起こりません。'chown'、tmp / mysql.socketへのシンボリックリンク、アンインストール/再インストール、mysqlのbrewインストールを試みましたが、すべて失敗しました。brewのインストールでは、Sierraまたはそれ以上のOSが必要なという、満足できないエラーが表示されます。el capitanを実行しています。任意の助けいただければ幸いです。
Spencer Trinh

24

ソリューションの中心は次のとおりです。

  • MySQLの権限を変更する

    sudo chown -R _mysql:mysql /usr/local/var/mysql
  • MySQLプロセスの開始

    sudo mysql.server start

ここおよび多くの異なる投稿から提供された多くのすばらしい便利な回答を追加するために、上記のコマンドでこの問題が解決されなかった場合は、ホストを指定してみてください。

mysql -u root -p h127.0.0.1

私にとってそれは権限の問題でした
pfwd 2017

mysql -u root -p -h127.0.0.1
Duc Chi

うわー、私の地元のものを一掃するよりもこのようなより良い解決策。これは簡単な修正でした!
ジョーダン

私は上で試しましたが、最終的にはうまくいきました:sudo chown -R $(whoami)$(brew --prefix)/ *
Kiran Ruth R

15

警告-この方法では、/usr/local/var/mysqlフォルダ内のすべてのデータベースが削除されます

MySQLをHomebrewとともにインストールしましたが、これを修正した唯一のことは、MySQLを再インストールすることでした。

私の会社のラップトップでは、Homebrewを使用して自分のコンピューターからMySQLをアンインストールする権限がありませんでした。

$ brew uninstall mysql --ignore-dependencies
Uninstalling /usr/local/Cellar/mysql/8.0.12... (255 files, 233.0MB)
Error: Permission denied @ dir_s_rmdir - /usr/local/Cellar/mysql/8.0.12

代わりに、MySQLを手動で削除して再インストールしました。

$ sudo rm -rf /usr/local/Cellar/mysql
$ brew cleanup
$ sudo rm -rf /usr/local/var/mysql
$ brew install mysql

そしてそれはうまくいった!


警告-この方法では、データベース(/ usr / local / var / mysqlフォルダー内)がすべて削除されます。
johnsampson

13

以下にbrew install mysql、この問題の新しい検索が役立つように、最新の手順を含めます。

$ brew install mysql
==> Downloading https://homebrew.bintray.com/bottles/mysql-5.6.26.yosemite.bottle.1.tar.gz
######################################################################## 100.0%
==> Pouring mysql-5.6.26.yosemite.bottle.1.tar.gz

To connect:
    mysql -uroot

To have launchd start mysql at login:
  ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
Then to load mysql now:
  launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
Or, if you don't want/need launchctl, you can just run:
  mysql.server start

私の場合、私はmysqlを今からロードし、launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist起動$ mysqlして自分のところに行くことができました。

これが最近のトラブルシューティングに役立つことを願っています!


11

mysqlサーバーが起動していないようです。私は通常、stopコマンドを実行してから、もう一度開始します。

mysqld stop
mysql.server start

同じエラーで、これは私にとってはうまくいきます。


9

これにより、mysqlサービスを再起動したときの問題が修正されました。とにかく走れ:

brew services start mysql

8

/usr/local/var/mysqlフォルダーアクセスに関連するこの問題では、このフォルダーを削除してmysqlを再インストールします。

  1. mysqlをbrewでアンインストールします。

    brew uninstall mysql

  2. sudo rm -r /usr/local/var/mysql

  3. brew install mysql@8.0
  4. mysql -u root

この解決策は私にとってはうまくいきます! しかし、あなたはすべてのデータベースを失います!警告!


2
これで問題が修正される可能性は高くなりますが、将来の読者には、すべてのデータベースが一掃されることを警告しています。これは基本的にMySQLのハードな再インストールです。質問のコンテキストはフレッシュインストールだったのはわかっていますが、スキャンしている一部の人は、既存/本番インストールで発生する可能性のある損傷を知らずに、これを試してみる場合があります。
efru

1
これは実際には解決策ではありません。これは「もう一度オン/オフしてみましたか?」
Berry M.

6

おお、それを理解するのにしばらく時間がかかりました。コメントで見ました。brewを使用してmysqlをインストールし、(おそらくを使用してsudo brew services start mysql)サービスを開始した後、次を実行します。

$ mysqld

その後、MySQLが実行されるはずです。


5

私にとっては、実行するのと同じくらい簡単でした:

/usr/local/opt/mysql/bin/mysqld_safe

の代わりに mysqld


1
これでうまくいきました。理由は不明ですが、私のマシンのMac OS再起動バグに関連している可能性があります
kraftydevil

3

私は自分の問題の解決策を見つけました。私のMySQLサーバーが実行されていなかったため、それは確かにそうでした。

これは、MySQLが私のマシンで正しくセットアップされていないために実行できなかったことが原因です。

これを修正するために、不足しているファイルをインストールしているはずのMac OSX Mountain LionにMySQLをインストールするスクリプトを使用しました

ここにリンクがあります:http : //code.macminivault.com/

重要な注意: このスクリプトは、ランダムに生成された文字列としてルートパスワードを設定しますこれはデスクトップに保存されるため、このファイルを削除したり、パスワードを書き留めたりしないように注意してください。また、システム設定にMySQLマネージャーをインストールします。また、既存のデータベースを削除するかどうかは不明なので、注意してください。



3

私はこの問題を経験し、以下の解決策を使用してmysqlサーバーを実行することができました

.dmghttps://dev.mysql.com/downloads/mysql/5.7.html)を介してmysqlをインストールすると、システム設定でmysqlサービスパネルが表示され、パネルからmysqlを起動して、

mysql -u root -p

参照用に添付された画像

システム環境設定

Mysqlパネル


2

これに数時間取り組んだ後、私にとってうまくいったのは/ etc / mysql /に移動してmy.cnfファイルを編集することでした。以下を追加

[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock

1
これは私にとってもトリックでしたが、私のos / mysqlバージョンでは/etc/my.confで、ソケットは/var/lib/mysql/mysql.sockにありました/var/log/mysqld.logはポイントする必要がありますソケットファイルがある場所に移動します。
keithpjolley

1

ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sockなどのこの問題を解決するためにあらゆる方法を試し、mysqlをアンインストールして再インストールします。mysqlがxamppで実行されていることを確認してください。 。

最後に、my.cnf(構成ファイル)を開き、ソケットパスをコピーします(フルパスをコピーしてください。そうしないと機能しません)。次に、端末でこのコマンドを実行します

mysql --socket=/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock

見よ、mysqlが起動する。

このソリューションは、MySQLがXampp / Amppsで実行されていることが示されている場合にのみ機能しますが、すでに次のようなことを試みた場合、ターミナルではまだ適切なソケットに接続していません。

./mysql -u root

または

brew services start mysql

これが役に立てば幸いです!


私はこの投稿から提案されたすべての解決策も試しましたが、うまくいきませんでした。xamppをインストールする必要がありますか?私はこれに精通していません。公式Webサイト(.DMG)からmysqlサーバーGPLバージョンのみをインストールしました。私はこのアプリ-XAMPPを持っているとは思わない。詳しく説明していただけますか?ありがとう。
Spencer Trinh

1

これだけが私のためのトリックを作りました brew services start --all (すべての答えを試した後)


2
それが質問とどのように関連しているかを説明してください。
mentallurg

1

実行することをお勧めします

  mysql.server start

行く前に

  mysql -u root -p

ログインを試みる前にmysqlサーバーが実行されていることを確認するため

これは、mysqlサーバーが実行されていないマシンを起動/再起動するときに何度も発生します。


1

私はこの投稿に何度も戻ってきますが、このエラーに何度か遭遇しました。新規インストールを行った後、すべてのデータベースをインポートする必要があるかもしれません。

私は自作を使用しています。私のためにそれを修正するために使用された唯一のもの:

sudo mkdir /var/mysql
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock

今朝、私のマシンが一晩シャットダウンすることを決めた後に問題が再発しました。これを修正した唯一のことは、mysqlをアップグレードすることでした。

brew upgrade mysql

0

私の場合、MAMPをインストールした直後に、ターミナルからmysqlにアクセスすると、同じソケットエラーが発生しました。最後に必要なのは再起動だけで、機能しています。


0

ここには他にも多くの役立つ応答がありますが、私にとってこれを修正するものは何もありません。最終的に、私がこのサイトや他のサイトで見つけたもので、HomebrewのMySQLのどのバージョンも私のために機能することはありません。

https://dev.mysql.com/downloads/file/?id=479114(必要な適切なバージョンを見つける)からDMGをダウンロードし、ウィザードにインストールするだけで、非常に簡単でした。他の唯一の手動ステップは追加でした/usr/local/mysql/bin、PATHすることでした。

brewが問題を引き起こす場合は、このオプションをお勧めします。

アップデート-これでも問題が解決しない場合は、DMGを介してインストールする前に、mysqlを完全にパージしてみてください。次の手順に従ってください:https : //gist.github.com/vitorbritto/0555879fe4414d18569d


私もDMGファイルを介してインストールしましたが、まだこのソケットエラーが発生します。mysql --versionは私と--helpで機能しますが、それ以外は機能しません。--versionコマンドと--helpコマンドを機能させるために、pathに追加しました。アドバイスをいただけますか?ありがとう。
Spencer Trinh

最初にmysqlのパージに関する更新を参照してください。それは私といくつかの同僚のためにそれを修正しています。
Patrick


0

Catalina OSにアップグレードした後、同様の問題が発生しました。mysqldコマンドを実行した後、ログファイルに問題があることがわかりました。他の人とは異なる場合があります。

$ mysqld

問題は

2019-10-16T04:58:59.174474Z 0 [ERROR] Could not open file '/var/log/mysql/error.log' for error logging: No such file or directory
2019-10-16T04:58:59.174508Z 0 [ERROR] Aborting

作成して適切な権限を適用することで解決しました。

sudo mkdir -p /var/log/mysql
sudo touch /var/log/mysql/error.log
sudo chown -R _mysql:mysql /var/log/mysql/

MySQLを再起動します

brew services restart mysql@5.7

問題は解決されました。

mysql -uroot -proot

0

多くのソリューションを試した後、最終的にトリックを行ったのはIPで接続することでした。ファイルソケットがランダムに削除されなくなりました。

MySQLクライアントの設定(例:)を次のように更新するだけ/usr/local/etc/my.cnfです。

[client]
port = 3306
host=127.0.0.1
protocol=tcp

-4
  1. MySQLをアンインストールします。
  2. を削除し/usr/local/var/mysql/ます。
  3. MySQLをインストールします。

1
これにより、すべてのデータベースが破壊されることはありませんか?特に私には、MySQLが実行されていないだけの問題であることを考えると、かなり手間のかかるソリューションのようです。
Martin Tournoij、

はい、そうですが、質問に従って、これは新規インストールであり、したがって、データベースは存在しないと想定されていました。
Amod Kulkarni
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.