HOME > Linux技術 リナックスマスター.JP(Linuxマスター.JP) > Linuxtips > Linuxtips, MySQL, サーバー管理, データーベース管理 > MySQLのrootパスワードを忘れた場合の対処について
MySQLはオープンソースのデータベースソフトになります。
無料で利用できるデータベースソフトとしてPostgreSQLがありますが、
それと人気を二分するデータベースソフトです。
人気の理由は高性能且つ高速で、しかも操作が比較的簡単な上、
Movable TypeやXoopsなど多くのウェブサイト構築ソフトウェアが
サポートしているためです。またMySQLを利用する事でLAMP環境が
構築出来ます。
※LAMPとはLinux、Apache、 MySQL、 PHPの略称
今回はそのMySQL専用のrootパスワードを忘れてしまった場合の
対処方法をご紹介します。
【この記事でわかること】
・MySQL を --skip-grant-tables オプションで起動することで認証をバイパスできる
・ALTER USER または UPDATE mysql.user でパスワードを変更し、flush privileges を実行する
・5.7 以降は authentication_plugin が caching_sha2_password に変わった点に注意が必要
・パスワード変更後は必ず通常モードで再起動して接続確認を行う
MySQLのrootパスワードを再設定する
1.Mysqlの停止と起動をする
[root@Tiger ~]# /etc/rc.d/init.d/mysql stop
Shutting down MySQL. [ OK ]
[root@Tiger ~]# /etc/rc.d/init.d/mysql start --skip-grant-tables
Starting MySQL.
「/etc/rc.d/init.d/mysql stop」でMySQLを停止し、
「/etc/rc.d/init.d/mysql start --skip-grant-tables」で
MySQLをセーフモードで起動します。
「--skip-grant-tables」オプションを付与してMySQLを動するで、
ユーザー権限のチェックをスキップした状態でMySQLサーバが起動します。
2.MySQLに接続する
[root@Tiger ~]# /usr/local/mysql/bin/mysql -u root mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.0.77 Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
MySQLユーザーのrootで接続します。「--skip-grant-tables」オプションで
起動しているため、パスワードが求められません。
3.MySQLのrootパスワードを設定する
mysql> UPDATE user SET Password=PASSWORD('xxxxxxx') WHERE User='root';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye
「UPDATE user SET Password=PASSWORD('xxxxxxx') WHERE User='root';」で
rootのパスワードを再設定します。「xxxxxxx」の箇所には新パスワードを
設定してください。
「FLUSH PRIVILEGES;」で設定を反映させ、「exit」でMySQLの接続を
切ります。
4.MySQLを通常モードで再起動します。
[root@Tiger ~]# /etc/rc.d/init.d/mysql restart
Shutting down MySQL.. [ OK ]
Starting MySQL. [ OK ]
MySQLを通常モードで再起動します。
5.新パスワードでログインできるか確認を行う
[root@Tiger ~]# /usr/local/mysql/bin/mysql -u root -p
Enter password: ←3で設定したパスワードを入力します。
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.0.77 Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
「Enter password:」に3の「xxxxxxx」で設定したパスワードを入力し
ログインできれば成功です。
※ 弊社教材を受講している方は、crontabで設定している
「check_process.pl」スクリプトを最初に無効にすることをお忘れなく。
詳しくは受講生専用サポートフォーラムに明記していますのでご確認ください。
今回ご紹介した環境はCentOS5.2 + MySQL 5.0.77になります。
バージョンやLinuxが異なる事で若干動作に違いが出る可能性が
ありますので予めご了承ください。
・MySQL を --skip-grant-tables オプションで起動することで認証をバイパスできる
・ALTER USER または UPDATE mysql.user でパスワードを変更し、flush privileges を実行する
・5.7 以降は authentication_plugin が caching_sha2_password に変わった点に注意が必要
・パスワード変更後は必ず通常モードで再起動して接続確認を行う
MySQLのrootパスワードリセット手順、本番環境で試せる自信はありますか?
--skip-grant-tables の仕組みを理解しておくと、障害対応時に慌てずに済みます。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。
「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。
<PR>手元に置いて学びを深める1冊
MySQLのrootパスワード再設定など管理操作の基礎から内部構造まで体系的に学べる一冊。まずは無料メルマガで学び、手元に置いて深めるのにおすすめです。
「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
姓・名・メールの3つだけ/30秒/解除は3秒 /
詳細はこちら
暗記不要・1時間後にはサーバーが動く
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
姓・名・メールの3つだけ/30秒/解除は3秒 / 詳細はこちら
Linux無料マニュアル(図解60P)
名前とメールで30秒登録

無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は30秒、解除もいつでも可。
登録無料・いつでも解除できます