2014年2月10日月曜日

MySQLのパスワードを忘れた。。。

今日は1日MySQLを勉強するつもりが随分前にインストールしたので、パスワード忘れているということで仕方なくその辺を全部はじめからやりなおしました。

具体的にはrootのパスワードを変更して、それ以外のログインユーザー、ホストは消してしまいます。これが今回やることです。
そしてこちらが今回参考にしたページです。


Desktop Linux Q&A

参考ページにしたがって、まずSQLを停止します。

$sudo service mysql stop
$/etc/init.d/mysql stop

どちらかを実行します。

次に

sudo /usr/sbin/mysql --skip-grant-tables --skip-networking &


このコマンドを実行するともしかしたらちょっとメッセージがダラっと出てきたりしますが、'Enter'は押さずに以下のコマンドは実行します。

$mysql -u root

mysql>flush privileges;
mysql>set password for root@'localhost' = password('password');
mysql>quit


set password for root@'localhost' = password('password');の'password'は自分の設定したいパスワードを'(シングルコーテーションマーク)でくくってください。

んで最後にもう一度sqlサーバーを起動させます。

$sudo service mysql  start
$/etc/init.d/mysql  start

のどちらかを実行。
$sudo mysql -u root -p
を実行。そしたらSQLのパスワードを聞かれるので、それを入れてログインできたら成功です。

次に自分の場合は以前いろいろテキトーにユーザーとかをつくっていたので その辺も整理していきます。まずはSQLにログインして、今登録されているユーザー、ホストを確認します。この時に参考にしたページはこちら

Tomo's pageMySQLの基本操作


mysql>select host,user from mysql.user;
を実行。以下のような結果がでてきました。


+-------------------+------------------+
| host              | user             |
+-------------------+------------------+
| ::1               | root             |
| localhost         | debian-sys-maint |
| localhost         | root             |

+--------------------+


 ::1               | root             |   これを消します。

消すときのコマンドは


mysql>delete from mysql.user where user='root' and host ='::1';

を実行。んで、もう一度
mysql>select host,user from mysql.user;
を実行。以下のような感じになりました。


+-------------------+------------------+
| host              | user             |
+-------------------+------------------+
| localhost         | debian-sys-maint |
| localhost         | root             |


消えましたね。やっとこれからちゃんと勉強出来ます。

ではでは


0 件のコメント:

コメントを投稿