MySQL 資料一覧

MySQLのrootのパスワードを初期化する

2009/2/6更新

対応バージョン: 5.1.30

MySQLのrootのパスワードを忘れてしまった場合などに初期化する手順を示す。

ここではFedora 10にインストールしてあるMySQLの場合を示す。

サーバ停止

% sudo service mysql.server stop

--skip-grant-tablesオプション付でサーバ起動

これによりユーザ権限のチェックをスキップした状態でサーバが起動する。

% sudo /usr/local/mysql/bin/mysqld_safe -u root --skip-grant-tables &

パスワード初期化

サーバに接続し、rootのパスワードを初期化する。

% mysql mysql
mysql> UPDATE user SET Password='' WHERE Host='localhost' and User='root';
mysql> FLUSH PRIVILEGES;

設定後、内容を反映するため「FLUSH PRIVILEGES」を実行する。

この段階で以下のようにしてパスワードを設定してもよい。

mysql> UPDATE user SET Password=password('pwd123') WHERE Host='localhost' and User='root';

サーバ再起動

% sudo service mysql.server restart

サーバ接続

これでパスワードなしでサーバに接続できるようになる。上記でパスワードを設定した場合はパスワードを指定して接続する。

(パスワードを設定していない場合)

% mysql mysql -u root
mysql>

(既にパスワードを設定している場合)

% mysql mysql -u root -p
Enter password: <現在のパスワード>
mysql>

パスワード再設定

新たにパスワードを設定する場合はmysqladminが使用できる。

(パスワードを設定していない場合)

% mysqladmin password -u root <新しいパスワード>

(既にパスワードを設定している場合)

% mysqladmin password -u root -p <新しいパスワード>
Enter password: <現在のパスワード>