強(qiáng)制修改mysql的root密碼的六種方法分享(mysql忘記密碼)
2024-07-24 13:02:51
供稿:網(wǎng)友
 
方法一 
使用phpmyadmin,這是最簡(jiǎn)單的了,修改mysql庫的user表, 
不過別忘了使用PASSWORD函數(shù)。 
方法二 
使用mysqladmin,這是前面聲明的一個(gè)特例。 
mysqladmin -u root -p password mypasswd 
輸入這個(gè)命令后,需要輸入root的原密碼,然后root的密碼將改為mypasswd。 
把命令里的root改為你的用戶名,你就可以改你自己的密碼了。 
當(dāng)然如果你的mysqladmin連接不上mysql server,或者你沒有辦法執(zhí)行mysqladmin, 
那么這種方法就是無效的。 
而且mysqladmin無法把密碼清空。 
下面的方法都在mysql提示符下使用,且必須有mysql的root權(quán)限: 
方法三 
mysql> INSERT INTO mysql.user (Host,User,Password) 
VALUES('%','jeffrey',PASSWORD('biscuit')); 
mysql> FLUSH PRIVILEGES 
確切地說這是在增加一個(gè)用戶,用戶名為jeffrey,密碼為biscuit。 
在《mysql中文參考手冊(cè)》里有這個(gè)例子,所以我也就寫出來了。 
注意要使用PASSWORD函數(shù),然后還要使用FLUSH PRIVILEGES。 
方法四 
和方法三一樣,只是使用了REPLACE語句 
mysql> REPLACE INTO mysql.user (Host,User,Password) 
VALUES('%','jeffrey',PASSWORD('biscuit')); 
mysql> FLUSH PRIVILEGES 
方法五 
使用SET PASSWORD語句, 
mysql> SET PASSWORD FOR jeffrey@"%" = PASSWORD('biscuit'); 
擬也必須使用PASSWORD()函數(shù), 
但是不需要使用FLUSH PRIVILEGES。 
方法六 
使用GRANT ... IDENTIFIED BY語句 
mysql> GRANT USAGE ON *.* TO jeffrey@"%" IDENTIFIED BY 'biscuit'; 
這里PASSWORD()函數(shù)是不必要的,也不需要使用FLUSH PRIVILEGES。 
注意: PASSWORD() [不是]以在Unix口令加密的同樣方法施行口令加密。 
MySQL 忘記口令的解決辦法 
如果 MySQL 正在運(yùn)行,首先殺之: killall -TERM mysqld。 
啟動(dòng) MySQL :bin/safe_mysqld --skip-grant-tables & 
就可以不需要密碼就進(jìn)入 MySQL 了。 
然后就是 
>use mysql 
>update user set password=password("new_pass") where user="root"; 
>flush privileges; 
重新殺 MySQL ,用正常方法啟動(dòng) MySQL 。