mysql數據庫root密碼忘了怎麼辦?

一、以系統的root用戶登陸系統,進入終端
  [root@localhost /]#
二、殺掉mysql進程
  方法1、[root@localhost /]#killall mysqld
  方法2、[root@localhost /]#ps -aux //查看所有進程,找到mysql進程的pid
  然後
  [root@localhost /]#kill pid //pid是mysql的進程號
三、用--skip-grant-tables參數啓動mysqld
  [root@localhost /]#/usr/local/mysql/bin/mysqld_safe --skip-grant-tables&
  // 其中/usr..../bin是我的mysql安裝目錄
  

       [root@localhost /]#/usr/local/mysql/bin/mysql          //進入mysql
  mysql> use mysql                                                 //切換到mysql database
  mysql> UPDATE user SET password=password('123456') WHERE user='root';
  //將root密碼該爲123456了

 

附:操作過程

[root@cat bin]# ./mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
 

1、殺掉mysql進程

[root@cat /]#killall mysqld

2、用--skip-grant-tables參數啓動mysqld

[root@cat /]#/usr/local/mysql/bin/mysqld_safe --user=mysql --skip-grant-tables &

3、

[root@cat bin]# ./mysql -u root -p
Enter password:
Welcome to the MySQL monitor.

mysql> select * from mysql.user \G
*************************** 1. row ***************************
Host: localhost
User: root
Password: *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B
 

 

mysql> set password for 'root'@'localhost'=password(''); //改成相應密碼
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
 

 

4、

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

mysql> set password for 'root'@'localhost'=password('');
Query OK, 0 rows affected (0.00 sec)
 

mysql> select * from mysql.user \G ;
*************************** 1. row ***************************
Host: localhost
User: root
Password:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章