破解mysql的root密碼的幾種方法
來(lái)源:程序員人生 發(fā)布時(shí)間:2013-10-26 23:40:32 閱讀次數(shù):4019次
幾種破解mysql root密碼的幾種方法:
方法一
使用phpmyadmin,這是最簡(jiǎn)單的了,修改mysql庫(kù)的user表,不過(guò)別忘了使用PASSWORD函數(shù)。
方法二
使用mysqladmin,這是前面聲明的一個(gè)特例。
mysqladmin -u root -p password mypasswd
輸入這個(gè)命令后,需要輸入root的原密碼,然后root的密碼將改為mypasswd。
把命令里的root改為你的用戶(hù)名,你就可以改你自己的密碼了。
當(dāng)然如果你的mysqladmin連接不上mysql server,或者你沒(méi)有辦法執(zhí)行mysqladmin,那么這種方法就是無(wú)效的,而且mysqladmin無(wú)法把密碼清空。
下面的方法都在mysql提示符下使用,且必須有mysql的root權(quán)限:
方法三
mysql> Insert INTO mysql.user (Host,User,Password)
VALUES(’%’,’jeffrey’,PASSWORD(’biscuit’));
mysql> FLUSH PRIVILEGES
確切地說(shuō)這是在增加一個(gè)用戶(hù),用戶(hù)名為jeffrey,密碼為biscuit。
在《mysql中文參考手冊(cè)》里有這個(gè)例子:
注意要使用PASSWORD函數(shù),然后還要使用FLUSH PRIVILEGES。
方法四
和方法三一樣,只是使用了REPLACE語(yǔ)句
mysql> REPLACE INTO mysql.user (Host,User,Password)
VALUES(’%’,’jeffrey’,PASSWORD(’biscuit’));
mysql> FLUSH PRIVILEGES
方法五
使用SET PASSWORD語(yǔ)句,
mysql> SET PASSWORD FOR jeffrey@"%" = PASSWORD(’biscuit’);
擬也必須使用PASSWORD()函數(shù),但是不需要使用FLUSH PRIVILEGES。
方法六
使用GRANT ... IDENTIFIED BY語(yǔ)句
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 。
mysql密碼清空
Windows:
1.用系統(tǒng)管理員登陸系統(tǒng)。
2.停止MySQL的服務(wù)。
3.進(jìn)入命令窗口,然后進(jìn)入MySQL的安裝目錄,比如我的安裝目錄是c:mysql,進(jìn)入C:mysqlin
4.跳過(guò)權(quán)限檢查啟動(dòng)MySQL,
c:mysqlin>mysqld-nt --skip-grant-tables
5.重新打開(kāi)一個(gè)窗口,進(jìn)入c:mysqlin目錄,設(shè)置root的新密碼
c:mysqlin>mysqladmin -u root flush-privileges password "newpassword"
c:mysqlin>mysqladmin -u root -p shutdown
將newpassword替換為你要用的root的密碼,第二個(gè)命令會(huì)提示你輸入新密碼,重復(fù)第一個(gè)命令輸入的密碼。
6.停止MySQL Server,用正常模式啟動(dòng)Mysql
7.你可以用新的密碼鏈接到Mysql了。
Unix&Linux:
1.用root或者運(yùn)行mysqld的用戶(hù)登錄系統(tǒng);
2.利用kill命令結(jié)束掉mysqld的進(jìn)程;
3.使用--skip-grant-tables參數(shù)啟動(dòng)MySQL Server
shell>mysqld_safe --skip-grant-tables &
4.為root@localhost設(shè)置新密碼
shell>mysqladmin -u root flush-privileges password "newpassword"
5.重啟MySQL Server
mysql修改密碼
mysql修改,可在mysql命令行執(zhí)行如下:
mysql -u root mysql
mysql> Update user SET password=PASSWORD("new password") Where user=’name’;
mysql> FLUSH PRIVILEGES;
mysql> QUIT
教你如何將MySQL數(shù)據(jù)庫(kù)的密碼恢復(fù)
因?yàn)镸ySQL密碼存儲(chǔ)于數(shù)據(jù)庫(kù)mysql中的user表中,所以只需要將我windows 2003下的MySQL中的user表拷貝過(guò)來(lái)覆蓋掉就行了。
在c:mysqldatamysql(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表索引文件
生活不易,碼農(nóng)辛苦
如果您覺(jué)得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)