MySQL的root口令恢復方法總結
方法一
1 下載MySQL源碼分發(fā)包,不用區分操作系統,我們需要的東西是一樣的;
2 重命名自己的mysql的data目錄下的mysql文件夾為oldmysql;
3 將源碼包中data目錄下的mysql目錄復制到你的mysql的data目錄下;
4 重新啟動(dòng)mysql,現在mysql的授權關(guān)系同全新安裝的一樣,空密碼登陸,然后自行調整授權;
5 打開(kāi)oldmysql這個(gè)庫檢查到底出現了什么問(wèn)題 ;
6 如果有備份對系統中原有的數據庫進(jìn)行完整性檢測,以免被人修改。
方法二
1. 向mysqld server發(fā)送kill命令關(guān)掉mysqld server(不是 kill -9),存放進(jìn)程ID的文件通常在MYSQL的數據庫所在的目錄中。
kill `cat /mysql-data-directory/hostname.pid`,你必須是Linux的root用戶(hù)或者是你所運行的SERVER上的同等用戶(hù),才能執行這個(gè)操作;
killall -TERM mysqld
2. 使用`--skip-grant-tables’ 參數來(lái)啟動(dòng) mysqld;
shell>mysqld_safe --skip-grant-tables &
/ bin/safe_mysqld --skip-grant-tables &
3. 使用`mysql -h hostname mysql’命令登錄到mysqld server ,用grant命令改變口令。你也可以這樣做:
`mysqladmin -h hostname -u user password ’new password’’。其實(shí)也可以用
use mysql; update user set password =password(’yourpass’) where user=’root’ 來(lái)做到;
shell>mysqladmin -u root flush-privileges password "newpassword"
>use mysql
>update user set password=password("new_pass") where user="root";
>flush privileges;
4. 載入權限表: `mysqladmin -h hostname flush-privileges’ ,或者使用 SQL 命令`FLUSH PRIVILEGES’。當然,在這里,你也可以重啟mysqld。
作者:本站綜合 更新日期:2005-01-12
來(lái)源:internet 瀏覽次數:
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請
點(diǎn)擊舉報。