状況

mysqlのパスワードを忘れた

mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

初期化の手順

プロセスの状態を確認し

$ ps auxwww | grep -i mysql

mysqlを強制的に停止する

$ killall mysqld

セーフモードで立ち上げてログインする

mysqld_safe --user=root --skip-grant-tables & mysql mysql

初期化するためのコマンドを発行

mysql> update mysql.user set Password=null where Host='localhost' and User='root';
mysql> exit

初期化した状態でmysqlを起動

$ /etc/init.d/mysql restart

mysqlにroot(パスワードなし)でログイン

$ mysql -u root

パスワードを再設定

mysql> set password for root@localhost=password('rootパスワード');

余談

バージョン確認だけのつもりでmysqladmin versionコマンド実行したら、起動からいままでのスロークエリの数の統計とか、いろいろ役立ちそうな情報も表示してくれることに気づいた。

$ mysqladmin version
mysqladmin  Ver 8.42 Distrib 5.5.25a, for Linux on x86_64
Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Server version      5.5.25a
Protocol version    10
Connection      Localhost via UNIX socket
UNIX socket     /tmp/mysql.sock
Uptime:         4 hours 4 min 44 sec

Threads: 21  Questions: 335514  Slow queries: 4  Opens: 3019  Flush tables: 1  Open tables: 400  Queries per second avg: 22.848


blog comments powered by Disqus

Categories

Tags

iPhone Sales

Books

Pinboard