質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

mysqli

MySQLiはPHP5より導入されているデータベース用のドライバです。MySQL 4.1.3以降の新しい機能の利点をまとめています。

Q&A

解決済

1回答

1889閲覧

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)を解消したい

asm_t

総合スコア14

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

mysqli

MySQLiはPHP5より導入されているデータベース用のドライバです。MySQL 4.1.3以降の新しい機能の利点をまとめています。

0グッド

0クリップ

投稿2021/04/08 14:51

編集2021/04/08 23:35

プログラミング初心者です。
MySQLに関するエラーが解消できず、困っております。
$ mysql -u root -p
今まで、上記コマンドで問題なくMySQLの中に入れていたのですが、
突然以下のようなエラーが返ってきて中に入れなくなってしまいました。

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

$ brew services start mysql@5.7でMySQLを起動させるところまでは問題なくできるのですが、
そのあと中に入れない状況です。

色々と確認した結果は以下のとおりです。

① $ mysql_config --socketの実行結果

/tmp/mysql.sock

② $ which mysqlの実行結果

/usr/local/opt/mysql@5.7/bin/mysql

③ $ カレントディレクトリの変更とファイルの確認

【コマンドの順序】 $ cd /usr/local/var/mysql/ でカレントディレクトリを変更。 (エラーログは/usr/local/var/mysql/配下にある、と調べた記事に書かれていたため) $ ls *.err の結果 ASAMInoAir.err

④ $ tail -f ASAMInoAir.err を実行し、その状態で別ターミナルから$ brew services start mysql@5.7を実行し、どのようなエラーが表示されるか確認した結果

2021-04-08T14:38:01.443744Z 0 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it. 2021-04-08T14:38:01.445249Z 0 [ERROR] unknown variable 'mysqlx-bind-address=127.0.0.1' 2021-04-08T14:38:01.445331Z 0 [ERROR] Aborting

上記のように、エラーがどこにあるのかまでは突き止められたのですが、
それをどのように解決すればいいのか、いくら調べても分からず、2日も経とうとしております...。

どなたかご教示いただけますと幸いです。

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2021/04/08 15:11

mysqliはPHPの機能なので本件と直接の関係はないのでは
AbeTakashi

2021/04/08 15:13

「brew services stop mysql@5.7でMySQLを起動させる」 ↑ 起動じゃなく停止させてますが・・・・
asm_t

2021/04/08 23:37

TakashiAbe様 失礼いたしました。 記入ミスのため$ brew services start mysql@5.7に修正させていただきました。
guest

回答1

0

ベストアンサー

この手のパターンは色々ありますが、だいたいこれらに収まります

##ソケット絡み
ソケットが存在しない。あるいは複数存在している
# touch /tmp/mysql.sock
ソケットの利用権限がない
# chown [username] /tmp/mysql.sock
複数のmysqlを立ち上げていて、ソケットの奪い合いしている

→ killコマンドなどで競合しているpidを殺してください

##サーバを立ち上げてない
サーバを立ち上げないと2002エラーが発生します。この場合も複数立ち上がってないかを
確認する必要があります。また、立ち上がったどうかもステータスを確認してください。

投稿2021/04/09 00:14

FKM

総合スコア3647

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

asm_t

2021/04/09 13:27

FKM様 ご回答いただきましてありがとうございます。 「複数のmysqlを立ち上げているかもしれない」というご意見を参考にさせていただき、mysqlの環境を整理する方法を色々と調べてみました。 https://qiita.com/sigwyg/items/bed1fdfeee3c8b52dec9 上記記事の手順に従い実行していった結果、 $ brew uninstall mysql@5.7 ↓ $ sudo rm -rf /usr/local/var/mysql ↓ $ brew install mysql@5.7 ↓ $ brew services start mysql@5.7 ↓ $ launchctl list | grep mysql ↓ mysql -u root -p ↓ 無事にMySQLに入ることができました! この度はお調べいただきありがとうございました!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問