Mysql 5.5 重置root密碼

feelpurple發表於2016-04-06
如果忘記了root密碼,可以透過下面的流程來重置密碼:
注:需要重啟資料庫

由於不知道root的密碼,不能透過常規的方式來關閉資料庫

透過殺掉程式的方式來強制關閉資料庫

[root@localhost ~]# ps -ef|grep mysql
root     26764 55613  0 Apr04 pts/2    00:00:00 /bin/sh ./mysqld_safe --defaults-file=/etc/my.cnf
mysql    27174 26764  0 Apr04 pts/2    00:01:04 /data/bin/mysqld --defaults-file=/etc/my.cnf --basedir=/data --datadir=/var/lib/mysql --plugin-dir=/data/lib/plugin --user=mysql --log-error=/log/err.log --open-files-limit=10240 --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock --port=3306
root     27192 55613  0 Apr04 pts/2    00:00:00 ./mysql -usystem -px xxxxxxxxx mysql
root     34544 18985  0 12:11 pts/3    00:00:00 /data/bin/mysql -ufire -px xxxxxxxxx
root     37683 13290  0 19:32 pts/0    00:00:00 grep mysql

[root@localhost ~]# kill `cat /var/run/mysqld/mysqld.pid`

以下面方式啟動資料庫,忽略授權驗證和禁止網路客戶端連線

[root@localhost bin]# ./mysqld_safe --defaults-file=/etc/my.cnf --skip-grant-tables --skip-networking&
[1] 38252

更改管理員使用者密碼

[root@localhost bin]# ./mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.5.48-log production environment

Copyright (c) 2000, 2016, 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.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> select user();
+--------+
| user() |
+--------+
| root@  |
+--------+
1 row in set (0.00 sec)

mysql> update mysql.user set password=password('System#2013') where user='system';
Query OK, 0 rows affected (0.15 sec)
Rows matched: 1  Changed: 0  Warnings: 0

mysql> commit;
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.19 sec)

關閉資料庫並重新啟動資料庫

[root@localhost bin]# ./mysqladmin -usystem shutdown -p
Enter password: 
160405 19:48:22 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
[1]+  Done                    ./mysqld_safe --defaults-file=/etc/my.cnf --skip-grant-tables --skip-networking
[root@localhost bin]# ./mysqld_safe --defaults-file=/etc/my.cnf &
[1] 38903
[root@localhost bin]# 160405 20:07:43 mysqld_safe Logging to '/log/err.log'.
160405 20:07:43 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26506993/viewspace-2076005/,如需轉載,請註明出處,否則將追究法律責任。

相關文章