MySQLのアクセス権エラー

Xubuntu18.04でMySQLを勉強しているのですが、MySQL5.7から8.0へアップグレードした際にエラーでハマっていたので対応の備忘録

 

現象

コマンドラインにて

mysql -u root -p

を実行、rootのパスワードを実行しても

ERROR 1698 (28000): Access denied for user 'root'@'localhost'

とエラーが出てアクセスできない

エラーの内容ではrootにアクセス権がないらしい

 

mysql_secure_installation

で初期設定ができるらしいので実行したが、ここでも

Error: Access denied for user 'root'@'localhost'

でアクセスできない

 

sudo mysql

とsudoコマンドをつけてroot権限で実行すると

アクセスはできたがデータベースにスキーマを追加しようとしてもできない(エラーはでない)

とかいう謎の状態になっている。意味不明。

 

どこかのブログで

mysql_upgrade -u root -p

と実行するとアップグレードされて解決すると書いていたので実行。

システムのチェックとか色々始まるので終わるまで待つ、終わったら

mysql -u root -p

を再び実行してパスワードを入力するが相変わらずエラー

ただ、sudoコマンドをつけてroot権限で実行するとアクセスでき、

スキーマの追加もできるようになっていたので原因不明だかこの方法でいくことにした。

 

最終的に

sudo mysql

でroot権限で実行する。

MySQL8.0にアップグレードしたことが原因だと思うが詳細はよくわからない

とりあえず、使えているのでこの状態で勉強していく

原因はそのうち追求しておく