mysql忘記密碼或需要徹底刪除 skip-grant-tables
我來幫你搞定吧 先用RPM -QA|GREP MYSQL 找出所有的 MYSQL版本包 然後一個個卸掉 然後記得把 VAR/LIB/MYSQL 目錄下的 檔案全部 TAR 備份出來 複製到 ROOT下 現在在用 切換到跟目錄下 FIND / -NAME MYSQL 全部找出MYSQL的所有的檔案 SUDO RM -R 一個個全部刪掉就可以了 再找一下 FIND / -NAME MYSQLD 也山掉 就徹底沒了。
修改MYSQL ROOT 密碼辦法:
1.修改MySQL的登入設定:
# vi /etc/my.cnf
在[mysqld]的段中加上一句:skip-grant-tables
例如:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-name-resolve
skip-grant-tables
儲存並且退出vi。
3.重新啟動mysqld
# /etc/init.d/mysqld restart
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]
4.登入並修改MySQL的root密碼
# /usr/bin/mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3 to server version: 3.23.56
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> USE mysql ;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> UPDATE user SET Password = password ( 'new-password' ) WHERE User = 'root' ;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 2 Changed: 0 Warnings: 0
mysql> flush privileges ;
Query OK, 0 rows affected (0.01 sec)
mysql> quit
Bye
5.將MySQL的登入設定修改回來
# vi /etc/my.cnf
將剛才在[mysqld]的段中加上的skip-grant-tables刪除
儲存並且退出vi。
6.重新啟動mysqld
# /etc/init.d/mysqld restart
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]
7.恢復伺服器的正常工作狀態
將步驟一中的操作逆向操作。恢復伺服器的工作狀態。
rpm -qa|grep -i mysql
rpm -ev MySQL-server-4.0.14-0 MySQL-client-4.0.14-0
解除安裝後/var/lib/mysql中的資料及/etc/my.cnf不會刪除,如果確定沒用後就手工刪除
rm -f /etc/my.cnf
rm -rf /var/lib/mysql