STEP① MYSQLを停止させる。

[root@colinux ~]# /etc/init.d/mysql.server stop
Shutting down MySQL.. SUCCESS!
[root@colinux ~]#

STEP② GRANTテーブルをSKIPして、外部ユーザーが接続して来ないようにネットワークもSKIPして起動

[root@colinux ~]# mysqld --skip-grant-tables --skip-networking &
[1] 2643
[root@colinux ~]# 090405 9:39:59 [Warning] option 'thread_stack': unsigned value  65536 adjusted to 131072
090405 9:40:00 InnoDB: Started; log sequence number 0 303628
090405 9:40:00 [Note] mysqld: ready for connections.
Version: '5.1.30-log' socket: '/tmp/mysql.sock' port: 0 MySQL Community Server (GPL)

[root@colinux ~]#

STEP③ mysqlコマンドで接続する。(GRANTテーブルは読み込んでいないのでパスワード不要)

[root@colinux ~]# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.30-log MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

skip_grant_tables

STEP④ パスワードをリセット

mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| DATABASE |
| DB01 |
| DB02 |
| TEST |
| client_test_db |
| mysql |
+--------------------+
7 rows in set (0.09 sec)

mysql> update mysql.user set password = password('Dontforget')
-> where user ='root';
Query OK, 3 rows affected (0.00 sec)
Rows matched: 3 Changed: 3 Warnings: 0

mysql>

mysql> exit
Bye
[root@colinux ~]#

STEP⑤ MYSQLをシャットダウンして通常起動させる。

[root@colinux ~]# mysqladmin shutdown
090405 9:51:48 [Note] mysqld: Normal shutdown

090405 9:51:48 InnoDB: Starting shutdown...
090405 9:51:49 InnoDB: Shutdown completed; log sequence number 0 303628
090405 9:51:49 [Note] mysqld: Shutdown complete

[1]+ Done mysqld --skip-grant-tables --skip-networking
[root@colinux ~]#

※ メモリー内のgrantテーブルをflushしていないので、パスワードは不要。

[root@colinux ~]# /etc/init.d/mysql.server start
Starting MySQL.. SUCCESS!

STEP⑥ DB接続の確認。

[root@colinux ~]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.30-log MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| DATABASE |
| DB01 |
| DB02 |
| TEST |
| client_test_db |
| mysql |
+--------------------+
7 rows in set (0.00 sec)

mysql>

STEP⑦ もしkillコマンドでDBをシャットダウンした場合 (オプション:メンテ時間が許せば。。。。)

━ エラーログの確認
━ mysqlcheckでデータベースの確認

[root@colinux ~]# mysqlcheck -u root -p --all-databases

[hup]
mysql.help_category OK
mysql.help_keyword OK
mysql.help_relation OK
mysql.help_topic OK
mysql.host OK
mysql.ndb_binlog_index OK
mysql.plugin OK
mysql.proc OK
mysql.procs_priv OK
mysql.servers OK
mysql.slow_log
Error : You can’t use locks with log tables.
status : OK
mysql.tables_priv OK
mysql.time_zone OK
mysql.time_zone_leap_second OK
mysql.time_zone_name OK
mysql.time_zone_transition OK
mysql.time_zone_transition_type OK
mysql.user OK
mysql.user_info OK
[root@colinux ~]#

mysqlcheck

================================
メモ (パスワード変更方法)
================================

1: パスワード関数

mysql> set password for 'hatena'@'%' = PASSWORD('password-change');
Query OK, 0 rows affected (0.00 sec)

2: GRANTコマンド

mysql> GRANT USAGE ON *.* TO 'hatena'@'%' IDENTIFIED BY 'Password-Change';
Query OK, 0 rows affected (0.00 sec)

Comments are closed.

Post Navigation