MySQL數(shù)據庫的root口令恢複方法總結
方(fāng)法一
1. 下載MySQL源碼(mǎ)分發包,不用區分操作(zuò)係統,我們(men)需要(yào)的東(dōng)西是一樣的;
2. 重命名自己的mysql的data目(mù)錄下的(de)mysql文件夾為oldmysql;
3. 將源(yuán)碼包中data目錄下的mysql目錄複製(zhì)到你的mysql的data目錄下(xià);
4. 重新啟(qǐ)動mysql,現在mysql的授(shòu)權(quán)關係同全(quán)新安裝(zhuāng)的一樣(yàng),空密碼(mǎ)登陸,然後自行調整(zhěng)授權;
5. 打開oldmysql這個庫檢查到底出現了什麽問題(tí) ;
6. 如果有(yǒu)備份(fèn)對係(xì)統中原有的數(shù)據庫進(jìn)行完整性檢測(cè),以免(miǎn)被人修改。
方法二
1. 向mysqld server發送kill命令關掉mysqld server(不是 kill -9),存放進程ID的文件通常(cháng)在MYSQL的數據(jù)庫所在的目(mù)錄中。
kill `cat /mysql-data-directory/hostname.pid`
你必須是Linux的root用戶或者是你所運行的SERVER上的同等用戶,才(cái)能執行這個(gè)操作;
killall -TERM mysqld
2. 使用`--skip-grant-tables’ 參數來啟動(dòng) mysqld;
shell>mysqld_safe --skip-grant-tables &
/ bin/safe_mysqld --skip-grant-tables &
3. 使用`mysql -h hostname mysql’命令登錄到mysqld server ,用grant命令改(gǎi)變口令。你也可以這(zhè)樣做:
`mysqladmin -h hostname -u user password ’new password’’
其實也可(kě)以用(yòng)
use mysql; update user set password =password(’yourpass’) where user=’root’
來做到(dào);
shell>mysqladmin -u root flush-privileges password "newpassword"
>use mysql
>update user set password=password("new_pass") where user="root";
>flush privileges;
4. 載入(rù)權限表:
mysqladmin -h hostname flush-privileges’
或者使用SQL命(mìng)令
`FLUSH PRIVILEGES’
當(dāng)然,在(zài)這裏,你也可(kě)以重(chóng)啟mysqld。
關(guān)鍵(jiàn)詞(cí):MySQL,數據庫(kù)
閱讀本文後您有什(shí)麽感想? 已有 人給(gěi)出評價!
- 1
- 1
- 1
- 1
- 1
- 1