mosyoesyoe's blog

徒然書いたら結果、今のところ、自社の宣伝。お得情報。パソコンTips。雑感。

MySQLのrootでログインできない:ubuntu 18.04 Server とMysql5.7

ubuntu 18.04がリリースされました。新しいサーバー環境を作ろうと、早速、Server版をインストールして、LAMP環境を構築したのですが、MySQL関連で結構はまりました。難しいですね。

本題の前にubuntu18.04でのLAMP環境の作り方(まずはWindows10 ProのHyperVで作ってます)

1.ISOファイルを準備して、仮想マシンを作成 (セキュアブートを無効にしないと駄目)

2.まとめて入れるには、taskselが便利というか、2年前はそうだったはず。

sudo apt install tasksel

sudo tasksel

 

f:id:mosyoesyoe:20180508154040p:plain

apt-getじゃなくなったの?とか思いつつ、見慣れたtaskselの画面でインストールすると、MySQLのパスワード聞かれたかな?と思いつつ、作業を続けたのでした。

さて、パスワードですが、MySQL 5.7では、勝手にrootのパスワードが作成されているそうです。それの見方はいろいろ出ていますが、おそらく推奨のやり方はコマンドで設定するのだと思います。

sudo mysql_secure_installation

と打ち込むと、YesNoの質問と、rootのパスワードを設定できます。パスワードの複雑さの設定も合わせて行われます(validate_password_policy)。

ここまででも、ネット情報を調べつつ苦労していたのですが、端末から入ろうとするとエラーが。。。

f:id:mosyoesyoe:20180508155017p:plain

mysql -u root -p

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

 

インストール直後ではまる人は多いのか、いろいろ情報はあります。rootパスワードを

初期化する方法等。。。やってみると確かにパスワード無しでmysqlにログインできたのですが、なんか症状が違うように思えて、さらに調べました。

f:id:mosyoesyoe:20180508160020p:plain

あれ?

sudo mysql -u root -p

だと、先程設定したパスワードでログインできます。ユーザーの認証の仕方が違うようです。

入り方が分かれば、私はこのままでよくて、外部から接続できるように新しいユーザーを作成して、mysqld.cnfの「bind-address」の設定を変更して、とりあえず、使えそうです。ネット情報は偉大です。下にリンク貼ります。いろいろありがとうございました。

MySQL 5.7 をインストールしたら最初に行うセットアップ | WEB ARCH LABO

Mysqlで「Access denied for user ‘root’@’localhost’ (using password: NO)」 - ITの隊長のブログ

MySQL ver5.7 でつまずいたメモ - Qiita