LoginSignup
79
58

More than 5 years have passed since last update.

MySQL 5.7.6でroot用パスワードが変わらなくて困った話

Last updated at Posted at 2016-04-29

困るまでの経緯

せっかくのゴールデンウィークだし、自分のノートPCの環境をすっきりさせたかったので、Windows10をクリーンインストールした。

割としょっちゅうクリーンインストールとか環境構築はやっていたので、最初のうちはサクサク元の環境に戻っていった。

しかし、MySQLをインストールしているときに事件は起こった。

あれっ。mysql -u rootでログインできない?

ログインを試みると、 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) が出る。要するに パスワードが違います のエラーだ…

パスワードなんて設定したはずないのに…

なぜパスワードが設定されているのかはわからないが、とにかくrootユーザでログインしたい。

調べてみると セーフモードで起動し、ログインしてからrootのパスワードを書き換える ことができるらしい。

下記の マコトのおもちゃ箱 様に載っている通り行うことでセーフモードでの起動・パスワードなしでのログインはできた。

しかし、ここからが問題だった

本題

マコトのおもちゃ箱 様では update user set password =password("パスワード") where user='root'; と実行することになっているが、これでは ERROR 1054 (42S22): Unknown column 'password' in 'field list' という、 passwordカラムが存在しません というエラーが吐かれる。

調べてみたところ、 下記の 日々の覚書 様にヒントが書かれていた。
これは、MySQLのアップデート(おそらく5.7.6以降?)で password カラムの内容が authentication_string 移動したためで、そっちを変更しなければいけなかったようだ。

ということで
update user set authentication_string=password("パスワード") where user='root';
に置き換えて実行したことで、無事にMySQLに対してrootユーザーでログインすることができた。

一件落着。

参考サイト

79
58
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
79
58