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にアップグレードしたことが原因だと思うが詳細はよくわからない
とりあえず、使えているのでこの状態で勉強していく
原因はそのうち追求しておく