Debug My Life.

いろいろデバッグをがんばるブログ。

MySQLのroot権限がなくなったときの対処(mysqlデータベースが消えた)

MySQL(正確にはMariaDB)をvagrantの仮想環境サーバで使っていたのだけど、なぜかroot権限でログインしてもcreate databaseなどがアクセス拒否でエラーになった。正確なエラーは以下。

Access denied for user ‘root’@’localhost’ (using password: NO)

以下簡易メモ的に対処方を示しておく。詳細な実行結果も示したいが、iterm2のスクロールが該当箇所まで上に行かないので(次から自動ログ出力した)箇条書きで。
iterm2でターミナルログを自動的に取得させる | 俺的備忘録 〜なんかいろいろ〜

  1. show databases;でデータベースを確認するとなぜかmysqlが消えている(原因はこれ)
  2. service mysql stopでmysqlのサービスを停止する
  3. /var/lib/mysql/以下のファイルを全部削除
  4. sudo yum remove mariadbmariadbをアンインストール
  5. sudo yum install mariadb-serverでmariadbを再インストール(これだけで関連するものは全部インストールされるっぽい)
  6. service mysql startでmysqlサービスを起動
  7. mysql -u rootでログイン

そしてmysqlデータベースが存在することを確認。

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+

なぜmysqlデータベースが消えたのかは謎・・・・。あと、再インストールした直後はmysqlがすぐに反映されなくて、少し時間をおいてrootでmysqlに再ログインすると反映された。これも謎。とにかく、解決できてよかった。