MySQL のバックアップ、補足
先日、MySQL データベースのバックアップ方法をご紹介しましたが、この方法だとユーザーが完全に再現されないようです。ユーザー自体は存在するのですが、ログインできません。もしかしたら mysqldump に allow-keywords とか、そのあたりのオプションを付けなければいけないのかもしれません。
ユーザーを作り直せばまた正常にアクセスできるようになりますので、その方法をご紹介します。
MySQL にログインする
MySQL のデータベースの操作を行うには、mysql コマンドを使用します。このコマンドは、対話的にデータベースを操作する一種のシェルです。以下のようにログインします。
mysql -u root -p
パスワードを尋ねてきますので、MySQL の root ユーザーのパスワードを入力してください。ログインできると、以下のようなプロンプトが表示されます。
mysql>
ここでさまざまなコマンドや SQL 文を入力することで、データベース操作を行うことができます。
ユーザーを確認する
バックアップしたデータで一応ユーザーは登録されているようなので(しかし、なぜかログインできない)、ユーザーを確認してみましょう。以下の SQL 文を実行するとユーザーが表示されます。
select user from mysql.user;
表示されたユーザーのうち、root 以外をいったん削除し、また作り直せば OK です。
ユーザーを削除する
ユーザーを削除するには、以下の SQL 文を実行します。
delete from mysql.user where user='<ユーザー名>';
これを root 以外のすべてのユーザーに実行してください。
ユーザーを作成する
次に、ユーザーを作り直します。以下のようにすれば OK です。
grant select,insert,update,delete,create,drop,index,alter on <データベース名>.* to <ユーザー名>@localhost identified by '<パスワード>';
- データベース名
- そのユーザーでアクセスするデータベースです。
- ユーザー名
- ユーザーの名前です。
- パスワード
- ユーザーのパスワードです。
権限は必要に応じて調整してください。このようにして必要なユーザーを作成すれば、普通にアクセスできるようになるはずです。
そのうちきちんとしたバックアップ方法を確立してご紹介したいと思っていますが、今回はこれでご勘弁ください。m(_ _)m
詳しくはこちらの記事をどうぞ!
この記事にコメントする