subaru-hello / Zeroken

一軒目に飲むお酒と飲む順番を提供するアプリ
5 stars 0 forks source link

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)を解消させたい #116

Closed subaru-hello closed 2 years ago

subaru-hello commented 2 years ago

解決したい内容

mysql -u root -ppassword入力時に出る下記エラーを解消させ、mysqlへログインすることを成功させたいです。

$ mysql -u root -ppassword
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

現状

mysqlにアクセスを試みたところ、アクセスを拒否されてしまいます。 $ mysql -u root -ppassword mysql: [Warning] Using a password on the command line interface can be insecure. ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

該当ファイル

開発環境

MacBook Pro (Retina, 13-inch, Early 2015)

試したこと

上から順に試しました。

  1. 現在起動しているmysqlを確認するために、下記コマンドを試しました

    $ ps -ef | grep mysql
    501 30693     1   0  9:10AM ??         0:00.03 /bin/sh /usr/local/opt/mysql/bin/mysqld_safe --datadir=/usr/local/var/mysql
    501 30780 30693   0  9:10AM ??         0:02.66 /usr/local/opt/mysql/bin/mysqld --basedir=/usr/local/opt/mysql --datadir=/usr/local/var/mysql --plugin-dir=/usr/local/opt/mysql/lib/plugin --log-error=Subarunookpuro3.err --pid-file=Subarunookpuro3.pid
    501 43760 81174   0  9:40AM ttys016    0:00.01 grep mysql
  2. サーバーをリスタートさせた後、rootユーザーでログインを試みましたが、エラーが出てしまっています。

    $ mysql.server restart
    Shutting down MySQL
    . SUCCESS! 
    Starting MySQL
    . SUCCESS! 
    Subarunookpuro3:Zeroken subaru$ mysql -u root
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    $  mysql -u root -pPASSWORD 
    mysql: [Warning] Using a password on the command line interface can be insecure.
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
  3. パスワードがあっているが、アクセス権限がないことによるエラーなのではないかと考え、下記コマンドを打ちましたが、mysqlの権限はsubaru(ユーザー名)なので、アクセス権限はあるようです。

    $ cd /usr/local/var
    Subarunookpuro3:var subaru$ ls -l
    total 0
    drwxr-xr-x   3 subaru  admin    96  7  4  2021 cache
    drwxr-xr-x   3 subaru  admin    96  6 21  2021 db
    drwxrwxr-x   4 subaru  admin   128  4 26  2021 homebrew
    drwxr-xr-x   3 subaru  admin    96  5 20  2021 log
    drwxrwxrwx  45 subaru  admin  1440  1 11 09:42 mysql
    drwxr-xr-x   3 subaru  admin    96  1  7 15:51 postgres
    drwx------  24 subaru  admin   768  1  7 15:51 postgresql@13
    drwxr-xr-x   2 subaru  admin    64  6 21  2021 run
  4. パスワードを入力せずともmysqlへログインできるようになる下記コマンドを打ったのち、別ターミナルでroot ユーザーでログインを試みましたが、password: YESからpassword: NOへ変わったのみで、ログインをする事ができていません。

    
    Subarunookpuro3:Zeroken subaru$ mysqld_safe --skip-grant-tables &
    [1] 38965
    Subarunookpuro3:Zeroken subaru$ 2022-01-11T00:28:50.6NZ mysqld_safe Logging to '/usr/local/var/mysql/Subarunookpuro3.err'.
    2022-01-11T00:28:50.6NZ mysqld_safe A mysqld process already exists

$ mysql -u root ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)


5. また、再度mysql@5.7をhomebrewを使用してダウンロードした後、 ログインを試みましたがログインはできませんでした。

brew install mysql@5.7 Running brew update --preinstall... ==> Auto-updated Homebrew! Updated 3 taps (homebrew/core, homebrew/cask and homebrew/services). ==> New Formulae cwb3 erofs-utils ==> Updated Formulae Updated 77 formulae. ==> New Casks openbci ==> Updated Casks Updated 59 casks. Warning: Calling bottle :unneeded is deprecated! There is no replacement. Please report this issue to the bibendi/dip tap (not Homebrew/brew or Homebrew/core): /usr/local/Homebrew/Library/Taps/bibendi/homebrew-dip/Formula/dip.rb:7

Warning: mysql@5.7 5.7.36 is already installed and up-to-date. To reinstall 5.7.36, run: brew reinstall mysql@5.7 Subarunookpuro3:Zeroken subaru$ brew postinstall --debug mysql@5.7 /usr/local/Homebrew/Library/Homebrew/brew.rb (Formulary::FormulaLoader): loading /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/mysql@5.7.rb ==> Postinstalling mysql@5.7 /usr/local/Homebrew/Library/Homebrew/brew.rb (Formulary::FromPathLoader): loading /usr/local/opt/mysql@5.7/.brew/mysql@5.7.rb

$ mysql -u root ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) $ mysql -u root -ppassword mysql: [Warning] Using a password on the command line interface can be insecure. ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)


6. また、homebrewを使用してmysqlのスタートを試みたところ、下記エラーが出ています。初めて見るエラーだったので、ここに原因があるのではないかと検討を付けています。

$ brew services start mysql@5.7 Bootstrap failed: 5: Input/output error Try re-running the command as root for richer errors. Error: Failure while executing; /bin/launchctl bootstrap gui/501 /Users/subaru/Library/LaunchAgents/homebrew.mxcl.mysql@5.7.plist exited with 5.


[こちらの記事](https://stackoverflow.com/questions/68975769/brew-services-cant-start-service-get-bootstrap-failed-5-input-output-error)を見て、試しに下記コマンドを打ってみましたが、解決はしていません。。

$ brew services restart mongodb-community@4.4 bash: syntax error near unexpected token `newline'

hisaju commented 2 years ago

そのエラーは色々な要因が推測されるので、これだけだと分からないです。手前の状況を教えてもらえればと。

・元々その環境でアクセス出来ていたか ・何を行ってその状況になったか などです。

subaru-hello commented 2 years ago

@hisaju

そのエラーは色々な要因が推測されるので、これだけだと分からないです。手前の状況を教えてもらえればと。

・元々その環境でアクセス出来ていたか ・何を行ってその状況になったか などです。

元々この環境でアクセスする事ができていました! Dockerを使って新しいアプリの環境構築をする際に、brew uninstall mysql@5.7としてしまいました。 mysqlを削除してしまったことでこの状況になってしまったと考えています。。

hisaju commented 2 years ago

だとすると単純にパスワードが変わってるだけかと思います。 現在のmysqlをstopさせてからmysqld_safeで起動して(上記エラーログが既存のmysqlを起動したまま実行していたように見えたので)、再度パスワードを設定してみてください。 https://qiita.com/bohebohechan/items/bc24c6cb5ea7c8a4b255

subaru-hello commented 2 years ago

だとすると単純にパスワードが変わってるだけかと思います。

現在のmysqlをstopさせてからmysqld_safeで起動して(上記エラーログが既存のmysqlを起動したまま実行していたように見えたので)、再度パスワードを設定してみてください。

https://qiita.com/bohebohechan/items/bc24c6cb5ea7c8a4b255

ありがとうございます!!

subaru-hello commented 2 years ago

下記コマンドを実行したら無事起動いたしましたので、issueをcloseいたします。

$ kill `lsof -ti:3306`
$ mysql.server start