MySQLのroot権限がなくなったときの対処(mysqlデータベースが消えた)
MySQL(正確にはMariaDB)をvagrantの仮想環境サーバで使っていたのだけど、なぜかroot権限でログインしてもcreate databaseなどがアクセス拒否でエラーになった。正確なエラーは以下。
Access denied for user ‘root’@’localhost’ (using password: NO)
以下簡易メモ的に対処方を示しておく。詳細な実行結果も示したいが、iterm2のスクロールが該当箇所まで上に行かないので(次から自動ログ出力した)箇条書きで。
iterm2でターミナルログを自動的に取得させる | 俺的備忘録 〜なんかいろいろ〜
- show databases;でデータベースを確認するとなぜかmysqlが消えている(原因はこれ)
- service mysql stopでmysqlのサービスを停止する
- /var/lib/mysql/以下のファイルを全部削除
- sudo yum remove mariadbでmariadbをアンインストール
- sudo yum install mariadb-serverでmariadbを再インストール(これだけで関連するものは全部インストールされるっぽい)
- service mysql startでmysqlサービスを起動
- mysql -u rootでログイン
そしてmysqlデータベースが存在することを確認。
MariaDB [(none)]> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | test | +--------------------+
なぜmysqlデータベースが消えたのかは謎・・・・。あと、再インストールした直後はmysqlがすぐに反映されなくて、少し時間をおいてrootでmysqlに再ログインすると反映された。これも謎。とにかく、解決できてよかった。