@sawat

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

MySQLがいきなりログインできなくなる

解決したいこと

MySQLでパスワード設定し、使っていると、いきなりログインができなくなってしまいます。
過去に何回も起きていて、そのただMySQLを削除、再インストールしてやり直してきましたが、今使ってるサイトのためにデータベースにたくさんの情報を入れたので、削除せずなんとか解決したくて投稿しました。
同じことが起きる方いますか?
また解決方法はありますでしょうか?助けてください。

やってみたことは、セーフモードでパスワードを変更しようとすることもエラーでできず、
今まで使ってたパスワードは無効。

発生している問題・エラー

Can't connect to local MySQL server through soket '/tmp/mysql.sock'


### 自分で試したこと
ここに問題・エラーに対して試したことを記載してください。
ちなみに/temp/mysql.sockは存在してません、、、
mysql再インストールして普通に起動しているときでも存在はしていません、
0 likes

3Answer

いきなり失敗するようになるというのがよく分かりませんが、 MySQL が停止したか、クライアント側の接続方法が何かしらの原因で切り替わったことが考えられます。

情報が足りないので、ログインに失敗するときのコマンドやプログラムのコードを書いてください。

0Like

MySQL をインストールした PC の OS とか、MySQL のバージョンとか、どのようにインストールしているのか、インストーラーを使っているなら何か・・・ぐらい書きませんか?

0Like

すみません、初めて投稿させてもらうので情報が足りなかったです。
https://www.mysql.com/jp/downloads/
こちらのサイトでMacにダウンロードして使ってます。MacOS Venturaです。

エラーが出るタイミングはmysqlサーバーを立ちて
brew services start mysql@5.7
成功とでるので
mysql -u root -p
password入力でログインできていたあと、
ログアウトして、またログインしようとするとパスワードが違うといって入れなくなります💦

0Like

Comments

  1. @sawat

    Questioner

    パスワード入力すると
    Can't connect to local MYSQL server through socket /temp/mysql.sock
    とでます。

  2. エラーメッセージ「Can't connect to local MYSQL server through socket /temp/mysql.sock」でググるといろいろヒットしますが、それらの記事を読んでの対応は一通りやったのでしょうか? これをやったが効果はなかったとかありますか?

  3. /temp/mysql.sock ではなくて /tmp/mysql.sock のはずです。エラーメッセージは書き写すのではなくコピペしてください。

    mysql -u root -p で一度は接続できたのであれば、そのときは /tmp/mysql.sock が存在していたはずです。今存在していないのであれば MySQL が停止しているのかもしれません。

    brew services を実行して mysql@5.7 の Status が started になっていることを確認してください。そうでなく none なら brew services start mysql@5.7 で起動できます。 error なら別途対応が必要です。

  4. @sawat

    Questioner

    一通りの記事は読み、試してみました!
    だいたいの記事はパスワードを変更するやり方だったので、セーフモードでログインせずにパスワードを変更するということです。
    そちらもセーフモードでやってみたのですが、ログインを求められ、できませんでした💦

    brew services start mysql@5.7は起動します!
    ただパスワード入力時に今までログインできていたパスワードがエラーになり、入らなくなっています💦

  5. そちらもセーフモードでやってみたのですが、ログインを求められ、できませんでした

    参考にしたページと入力したコマンドをすべて書いてください。

    適当な記事↑を見てみましたが、 MySQL を一度止めて sudo mysqld_safe --skip-grant-tables & を起動してパスワードを変更する流れですね。これをどこか途中までやったのであれば、 MySQL を再起動していないか、 MySQL と mysqld_safe が両方起動して重複している可能性があります。

    とりあえずマシンを再起動すれば mysqld_safe は止まるので、一度再起動してから接続を試してください。

    brew services start mysql@5.7は起動します!

    Status が started になっているということですよね?そのコマンドが通ってもエラーで停止することはあるので必ず Status を見てください。

    ただパスワード入力時に今までログインできていたパスワードがエラーになり、入らなくなっています

    パスワードが間違っている場合のエラーは上で接続できない場合のエラーは下です。どちらが出ていますか?

    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
    
    ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
    
  6. @sawat

    Questioner

    mysql.server startをすると
    .. ERROR! The server quit without updating PID file (/opt/homebrew/var/mysql/MacBook-Air.local.pid).
    というエラーが出ます。

    mysqld_safe --skip-grant-tables &をすると上記と同じエラーになり、セーフモードが起動しません。

    またパスワードが間違っている時のエラーは
    ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
    になります😢

  7. @sawat

    Questioner

    おっしゃってる通り、サーバーがstopしてました。
    https://qiita.com/avicii2314/items/ac8848b62445966ff40d
    こちらを参考にしたんですが、おなじことになり、以前も諦めて全てアンインストール、削除しました。
    今回もその方法しかないのでしょうか、、泣

  8. mysql.server start何を参考にされたのか分かりませんが、 (コメントが入れ違いになりました)それもサーバを起動するコマンドなので、 brew services start mysql@5.7 と併用すると状態がおかしくなります。使わないでください。

    ともかく、以下の手順を実行すれば接続できるようになると思います。

    • brew services stop mysql@5.7 を実行(ここでエラーが出ても無視)
    • Mac を再起動
      • (これで MySQL サーバが確実に停止した状態になる)
    • rm -f /opt/homebrew/var/mysql/MacBook-Air.local.pid を実行
      • (これで MySQL サーバの起動を妨げているファイルを削除する)
    • brew services start mysql@5.7 を実行
    • brew servicesmysql@5.7started になっていれば接続できるはず
  9. @sawat

    Questioner

    やってみて、再起動もしたんですが、statusがstoppedになります😢

  10. 学習中の人の試してみた系の記事は参考にしないほうがいいです。間違っていることもあれば自分の環境に適用できないこともあり、鵜呑みにすると最悪環境が壊れるので。

    その記事の状況についても、 MySQL を全部消す必要はなく、サーバを止めて PID ファイルだけ消せば起動できるようになったはずです。

  11. あ、見落としてましたが https://www.mysql.com/jp/downloads/ もインストールしていたんでしたね。 brew services start mysql@5.7 で起動するのとはまた別物の MySQL であり、そちらが先に起動しているようです。

    接続のコマンドを mysql -u root -h 127.0.0.1 にすれば接続できるかもしれません。

  12. @sawat

    Questioner

    ご指摘ありがとうございます!!
    私もまだ勉強し始めなので、全ての記事を参考にしてました💦
    気をつけます!

    あと、サーバーを止めて不要なPIDは消しました!
    ですが、やはり接続できません、、
    mysql -u root -h 127.0.0.1も試しましたが、接続できないとエラーが出ます

  13. 接続できたとして、たくさんのデータを入れたというのが https://www.mysql.com/jp/downloads/ から入れた MySQL か、 brew services start mysql@5.7 で起動したほうかによっても話が変わります。とりあえず前者に接続を試してみてデータがあるか確認してください。

    • 前者データがあれば問題なし。 brew services stop mysql@5.7 で後者を止めて、後者はもう触らない
    • 前者にデータがなければ前者をアンインストールして後者を使う
  14. mysql -u root -h 127.0.0.1 -p で元々のパスワードを入力してみるとどうですか?

  15. @sawat

    Questioner

    brew services start mysql@5.7
    こちらでデータ作成しています!

    なぜか、一瞬だけstatusがstartedになったので、ログインしようとしたら
    5: Input/output error
    Try re-running the command as root for richer errors.
    Error: Failure while executing; `/bin/launchctl bootstrap gui/501
    エラーがでて、またstoppedになりました、、
    なにもしてないのにいきなりstartedになったのも困惑してます、、

Your answer might help someone💌