人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動(dòng)態(tài)

恢復(fù)MySQL密碼筆記

發(fā)布日期:2022-01-04 08:35 | 文章來(lái)源:gibhub
因?yàn)镸ySQL密碼存儲(chǔ)于數(shù)據(jù)庫(kù)mysql中的user表中
所以只需要將我windows 2003下的MySQL中的user表拷貝過來(lái)覆蓋掉就行了
在c:\mysql\data\mysql\(linux 則一般在/var/lib/mysql/mysql/)目錄下有三個(gè)user表相關(guān)文件user.frm、user.MYD、user.MYI
user.frm //user表樣式文件
user.MYD //user表數(shù)據(jù)文件
user.MYI //user表索引文件
為保險(xiǎn)起見,三個(gè)都拷貝過來(lái),不過其實(shí)如果之前在要恢復(fù)的那個(gè)MySQL上沒有更改過表結(jié)構(gòu)的話,只要拷貝user.MYD就行了
然后#. /etc/rc.d/init.d/mysql stop
#. /etc/rc.d/init.d/mysql start
#mysql -u root -p XXXXXX
好了,可以用windows 2003下mysql密碼登陸了
mysql>use mysql
mysql>update user set Password=PASSWORD('xxxxxx') where User='root';
這時(shí)候會(huì)出錯(cuò),提示user表只有讀權(quán)限

我分析了一下原因,只這樣的,因?yàn)閡ser.*文件的權(quán)限分配是windows 2003下的,在windows 2003下我ls -l一看權(quán)限是666
在linux下我一看,拷過來(lái)后權(quán)限變成了600(其實(shí)正常情況下600就行了,只不過這里的文件屬主不是mysql,拷過來(lái)后的屬主變?yōu)榱藃oot,所以會(huì)出現(xiàn)權(quán)限不夠,這時(shí)候如果你改成權(quán)限666則可以了,當(dāng)然這樣不好,沒有解決問題的實(shí)質(zhì)),在/var/lib/mysql/mysql/下ls -l看了一下再
#chown -R mysql:mysql user.*
#chmod 600 user.*
//OK,DONE
重起一下MYSQL
重新連接
mysql>use mysql
mysql>update user set Password=PASSWORD('xxxxxx') where User='root';
mysql>FLUSH PRIVILEGES;
有一點(diǎn)值得注意:如果你windows 下mysql如果是默認(rèn)配置的話,注意要還要執(zhí)行
mysql>delete from user where User='';
mysql>delete from user where Host='%';
mysql>FLUSH PRIVILEGES;
好了,到這里恢復(fù)密碼過程就完成了
這個(gè)方法么就是有點(diǎn)局限性,你必須也具備另外的user表文件

其他還有幾種方法

其它方法一(這個(gè)是網(wǎng)上流傳較廣的方法,mysql中文參考手冊(cè)上的)
1. 向mysqld server 發(fā)送kill命令關(guān)掉mysqld server(不是 kill -9),存放進(jìn)程ID的文件通常在MYSQL的數(shù)據(jù)庫(kù)所在的目錄中。
killall -TERM mysqld
你必須是UNIX的root用戶或者是你所運(yùn)行的SERVER上的同等用戶,才能執(zhí)行這個(gè)操作。
2. 使用`--skip-grant-tables' 參數(shù)來(lái)啟動(dòng) mysqld。 (LINUX下/usr/bin/safe_mysqld --skip-grant-tables , windows下c:\mysql\bin\mysqld --skip-grant-tables)

3. 然后無(wú)密碼登錄到mysqld server ,
>use mysql
>update user set password=password("new_pass") where user="root";
>flush privileges;
。你也可以這樣做:`mysqladmin -h hostname -u user password 'new password''。

4. 載入權(quán)限表: `mysqladmin -h hostname flush-privileges' ,或者使用 SQL 命令`FLUSH PRIVILEGES'。
5.killall -TERM mysqld
6.用新密碼登陸

其它方法二

直接用十六進(jìn)制編輯器編輯user.MYD文件

不過這個(gè)里面我要說(shuō)明一點(diǎn),我這里編輯的時(shí)候發(fā)現(xiàn)個(gè)問題,加密的密碼串有些是連續(xù)存儲(chǔ)的,有些的最后兩位被切開了,后兩位存儲(chǔ)在后面其他地方.這一點(diǎn)我還沒想明白.還有注意一點(diǎn)就是編輯的是加密過的密碼串,也就是說(shuō)你還是需要另外有user表文件。這種方法和我最上面介紹的方法的區(qū)別在于,這種方法直接編輯linux下的user表文件,就不需要重新改文件屬主和權(quán)限了

版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開通

自選配置、實(shí)時(shí)開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對(duì)1客戶咨詢顧問

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部