質問: ### 環境 CentOS ローカル開発環境 MySQL 14.14 ターミナル ### 現状 MySQLで何もできません。 まずrootユーザーでMySQLに入りたく、 ``` $ mysql -u root ``` としてみました。 こうすると、mysql>となり一見できたかと思ったけど、DBの新規作成も、権限の確認も、自分自身に権限を与える事も、'root'ユーザーにパスワードを設定する事も、 > > ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql' > > > 大概このようなエラーを吐いてうまくいきません。 rootでログイン?したはずが、ユーザー名が''(空)になっているのはなぜでしょうか? ### 試してみた事 > > mysql> show grants; > > +--------------------------------------+ > > | Grants for @localhost | > > +--------------------------------------+ > > | GRANT USAGE ON *.* TO ''@'localhost' | > > +--------------------------------------+ > > 1 row in set (0.00 sec) > > > 調べたところ、上のように表示されたという事は''ユーザーは何の権限も持てていない、というのはわかりました。 また、`$ mysql`だけでも mysql> となりました。 〜〜〜〜〜〜〜〜〜〜〜〜〜 〜〜〜〜〜〜〜〜〜 〜〜〜〜〜〜〜〜 〜〜〜〜〜 〜〜〜 〜〜 ご回答お待ちしております!! 〜〜〜〜 追記 ご指摘にあった通り追記いたします。 正しいバージョンが何かわからなかったので、`$ mysql --version`の結果を記載します。 > > CentOS release 6.8 (Final) > > mysql Ver 14.14 Distrib 5.5.51, for Linux (x86_64) using readline 5.1 > > > インストール手順は、ドットインストール(http://dotinstall.com/lessons/basic_mysql_v2)に従って行い、久しぶりにMySQLを使おうとしたらここで設定したrootのパスワードを忘れてしまったので、このサイト(https://liginc.co.jp/web/programming/mysql/87393)に従って(コマンドはsudoを使って実行)パスワードを再設定したつもりです(`$ mysql -u root -p`として設定したのパスワードを入力しても > > ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) > > > とエラーが出てしまいます)。
回答: 自分の環境で以下の手順を試してみましたが、mysqld_safeの停止がうまくいきませんでした。 https://liginc.co.jp/web/programming/mysql/87393 もしかしたら、セーフモードで立ち上がったままなのかもしれません(それでも各種操作はできそうですが...) 一旦サーバを再起動したら直りませんか? うまくいかないならmysqlのログ等を見てエラー等出ていないか調べてみてください。