本文为【讲解几种破解MySQL数据库root密码的方法】的汉字拼音对照版显示拼音
几ji种zhong破po解jiemysql root密mi码ma的de几ji种zhong方fang法fa:方fang法fa一yi
使shi用yongphpmyadmin,这zhe是shi最zui简jian单dan的de了le,修xiu改gaimysql库ku的deuser表biao,不bu过guo别bie忘wang了le使shi用yongPASSWORD函han数shu。
方fang法fa二er
使shi用yongmysqladmin,这zhe是shi前qian面mian声sheng明ming的de一yi个ge特te例li。
mysqladmin -u root -p password mypasswd
输shu入ru这zhe个ge命ming令ling后hou,需xu要yao输shu入ruroot的de原yuan密mi码ma,然ran后houroot的de密mi码ma将jiang改gai为weimypasswd。
把ba命ming令ling里li的deroot改gai为wei你ni的de用yong户hu名ming,你ni就jiu可ke以yi改gai你ni自zi己ji的de密mi码ma了le。
当dang然ran如ru果guo你ni的demysqladmin连lian接jie不bu上shangmysql server,或huo者zhe你ni没mei有you办ban法fa执zhi行xingmysqladmin,那na么me这zhe种zhong方fang法fa就jiu是shi无wu效xiao的de,而er且qiemysqladmin无wu法fa把ba密mi码ma清qing空kong。
下xia面mian的de方fang法fa都dou在zaimysql提ti示shi符fu下xia使shi用yong,且qie必bi须xu有youmysql的deroot权quan限xian:
方fang法fa三san
mysql> Insert INTO mysql.user (Host,User,Password)
VALUES(’%’,’jeffrey’,PASSWORD(’biscuit’));
mysql> FLUSH PRIVILEGES
确que切qie地di说shuo这zhe是shi在zai增zeng加jia一yi个ge用yong户hu,用yong户hu名ming为weijeffrey,密mi码ma为weibiscuit。
在zai《mysql中zhong文wen参shen考kao手shou册ce》里li有you这zhe个ge例li子zi:
注zhu意yi要yao使shi用yongPASSWORD函han数shu,然ran后hou还huan要yao使shi用yongFLUSH PRIVILEGES。
方fang法fa四si
和he方fang法fa三san一yi样yang,只zhi是shi使shi用yong了leREPLACE语yu句ju
mysql> REPLACE INTO mysql.user (Host,User,Password)
VALUES(’%’,’jeffrey’,PASSWORD(’biscuit’));
mysql> FLUSH PRIVILEGES
方fang法fa五wu
使shi用yongSET PASSWORD语yu句ju,
mysql> SET PASSWORD FOR jeffrey@"%" = PASSWORD(’biscuit’);
拟ni也ye必bi须xu使shi用yongPASSWORD()函han数shu,但dan是shi不bu需xu要yao使shi用yongFLUSH PRIVILEGES。
方fang法fa六liu
使shi用yongGRANT ... IDENTIFIED BY语yu句ju
mysql> GRANT USAGE ON *.* TO jeffrey@"%" IDENTIFIED BY ’biscuit’;
这zhe里liPASSWORD()函han数shu是shi不bu必bi要yao的de,也ye不bu需xu要yao使shi用yongFLUSH PRIVILEGES。
注zhu意yi: PASSWORD() [不bu是shi]以yi在zaiUnix口kou令ling加jia密mi的de同tong样yang方fang法fa施shi行xing口kou令ling加jia密mi。
MySQL 忘wang记ji口kou令ling的de解jie决jue办ban法fa
如ru果guo MySQL 正zheng在zai运yun行xing,首shou先xian杀sha之zhi: killall -TERM mysqld。
启qi动dong MySQL :bin/safe_mysqld --skip-grant-tables &
就jiu可ke以yi不bu需xu要yao密mi码ma就jiu进jin入ru MySQL 了le。
然ran后hou就jiu是shi
>use mysql
>update user set password=password("new_pass") where user="root";
>flush privileges;
重chong新xin杀sha MySQL ,用yong正zheng常chang方fang法fa启qi动dong MySQL 。
mysql密mi码ma清qing空kong
Windows:
1.用yong系xi统tong管guan理li员yuan登deng陆lu系xi统tong。
2.停ting止zhiMySQL的de服fu务wu。
3.进jin入ru命ming令ling窗chuang口kou,然ran后hou进jin入ruMySQL的de安an装zhuang目mu录lu,比bi如ru我wo的de安an装zhuang目mu录lu是shic:\mysql,进jin入ruC:\mysql\bin
4.跳tiao过guo权quan限xian检jian查cha启qi动dongMySQL,
c:\mysql\bin>mysqld-nt --skip-grant-tables
5.重chong新xin打da开kai一yi个ge窗chuang口kou,进jin入ruc:\mysql\bin目mu录lu,设she置zhiroot的de新xin密mi码ma
c:\mysql\bin>mysqladmin -u root flush-privileges password "newpassword"
c:\mysql\bin>mysqladmin -u root -p shutdown
将jiangnewpassword替ti换huan为wei你ni要yao用yong的deroot的de密mi码ma,第di二er个ge命ming令ling会hui提ti示shi你ni输shu入ru新xin密mi码ma,重chong复fu第di一yi个ge命ming令ling输shu入ru的de密mi码ma。
6.停ting止zhiMySQL Server,用yong正zheng常chang模mo式shi启qi动dongMysql
7.你ni可ke以yi用yong新xin的de密mi码ma链lian接jie到daoMysql了le。
Unix&Linux:
1.用yongroot或huo者zhe运yun行xingmysqld的de用yong户hu登deng录lu系xi统tong;
2.利li用yongkill命ming令ling结jie束shu掉diaomysqld的de进jin程cheng;
3.使shi用yong--skip-grant-tables参shen数shu启qi动dongMySQL Server
shell>mysqld_safe --skip-grant-tables &
4.为weiroot@localhost设she置zhi新xin密mi码ma
shell>mysqladmin -u root flush-privileges password "newpassword"
5.重chong启qiMySQL Server
mysql修xiu改gai密mi码ma
mysql修xiu改gai,可ke在zaimysql命ming令ling行xing执zhi行xing如ru下xia:
mysql -u root mysql
mysql> Update user SET password=PASSWORD("new password") Where user=’name’;
mysql> FLUSH PRIVILEGES;
mysql> QUIT
教jiao你ni如ru何he将jiangMySQL数shu据ju库ku的de密mi码ma恢hui复fu
因yin为weiMySQL密mi码ma存cun储chu于yu数shu据ju库kumysql中zhong的deuser表biao中zhong,所suo以yi只zhi需xu要yao将jiang我wowindows 2003下xia的deMySQL中zhong的deuser表biao拷kao贝bei过guo来lai覆fu盖gai掉diao就jiu行xing了le。
在zaic:\mysql\data\mysql\(linux 则ze一yi般ban在zai/var/lib/mysql/mysql/)目mu录lu下xia有you三san个geuser表biao相xiang关guan文wen件jianuser.frm、user.MYD、user.MYI
user.frm //user表biao样yang式shi文wen件jian
user.MYD //user表biao数shu据ju文wen件jian
user.MYI //user表biao索suo引yin文wen件jian
为wei保bao险xian起qi见jian,三san个ge都dou拷kao贝bei过guo来lai,不bu过guo其qi实shi如ru果guo之zhi前qian在zai要yao恢hui复fu的de那na个geMySQL上shang没mei有you更geng改gai过guo表biao结jie构gou的de话hua,只zhi要yao拷kao贝beiuser.MYD就jiu行xing了le
然ran后hou
#. /etc/rc.d/init.d/mysql stop
#. /etc/rc.d/init.d/mysql start
#mysql -u root -p XXXXXX
好hao了le,可ke以yi用yongwindows 2003下xiamysql密mi码ma登deng陆lu了le
mysql>use mysql
mysql>update user set Password=PASSWORD(’xxxxxx’) where User=’root’;
这zhe时shi候hou会hui出chu错cuo,提ti示shiuser表biao只zhi有you读du权quan限xian
我wo分fen析xi了le一yi下xia原yuan因yin,只zhi这zhe样yang的de,因yin为weiuser.*文wen件jian的de权quan限xian分fen配pei是shiwindows 2003下xia的de,在zaiwindows 2003下xia我wols -l一yi看kan权quan限xian是shi666
在zailinux下xia我wo一yi看kan,拷kao过guo来lai后hou权quan限xian变bian成cheng了le600(其qi实shi正zheng常chang情qing况kuang下xia600就jiu行xing了le,只zhi不bu过guo这zhe里li的de文wen件jian属shu主zhu不bu是shimysql,拷kao过guo来lai后hou的de属shu主zhu变bian为wei了leroot,所suo以yi会hui出chu现xian权quan限xian不bu够gou,这zhe时shi候hou如ru果guo你ni改gai成cheng权quan限xian666则ze可ke以yi了le,当dang然ran这zhe样yang不bu好hao,没mei有you解jie决jue问wen题ti的de实shi质zhi),在zai/var/lib/mysql/mysql/下xials -l看kan了le一yi下xia再zai
#chown -R mysql:mysql user.*
#chmod 600 user.*
//OK,DONE
重chong起qi一yi下xiaMYSQL
重chong新xin连lian接jie
mysql>use mysql
mysql>update user set Password=PASSWORD(’xxxxxx’) where User=’root’;
mysql>FLUSH PRIVILEGES;
有you一yi点dian值zhi得de注zhu意yi:如ru果guo你niwindows 下xiamysql如ru果guo是shi默mo认ren配pei置zhi的de话hua,注zhu意yi要yao还huan要yao执zhi行xing
mysql>delete from user where User=’’;
mysql>delete from user where Host=’%’;
mysql>FLUSH PRIVILEGES;
好hao了le,到dao这zhe里li恢hui复fu密mi码ma过guo程cheng就jiu完wan成cheng了le
这zhe个ge方fang法fa么me就jiu是shi有you点dian局ju限xian性xing,你ni必bi须xu也ye具ju备bei另ling外wai的deuser表biao文wen件jian
其qi他ta还huan有you几ji种zhong方fang法fa
其qi它ta方fang法fa一yi(这zhe个ge是shi网wang上shang流liu传chuan较jiao广guang的de方fang法fa,mysql中zhong文wen参shen考kao手shou册ce上shang的de)
1. 向xiangmysqld server 发fa送songkill命ming令ling关guan掉diaomysqld server(不bu是shi kill -9),存cun放fang进jin程chengID的de文wen件jian通tong常chang在zaiMYSQL的de数shu据ju库ku所suo在zai的de目mu录lu中zhong。
killall -TERM mysqld
你ni必bi须xu是shiUNIX的deroot用yong户hu或huo者zhe是shi你ni所suo运yun行xing的deSERVER上shang的de同tong等deng用yong户hu,才cai能neng执zhi行xing这zhe个ge操cao作zuo。
2. 使shi用yong`--skip-grant-tables’ 参shen数shu来lai启qi动dong mysqld。 LINUX下xia:
/usr/bin/safe_mysqld --skip-grant-tables , windows下xiac:\mysql\bin\mysqld --skip-grant-tables
3. 然ran后hou无wu密mi码ma登deng录lu到daomysqld server ,
>use mysql
>update user set password=password("new_pass") where user="root";
>flush privileges;
你ni也ye可ke以yi这zhe样yang做zuo:
mysqladmin -h hostname -u user password ’new password’’
4. 载zai入ru权quan限xian表biao:
mysqladmin -h hostname flush-privileges’
或huo者zhe使shi用yong SQL 命ming令ling
FLUSH PRIVILEGES’
5.killall -TERM mysqld
6.用yong新xin密mi码ma登deng陆lu
其qi它ta方fang法fa二er
直zhi接jie用yong十shi六liu进jin制zhi编bian辑ji器qi编bian辑jiuser.MYD文wen件jian
不bu过guo这zhe个ge里li面mian我wo要yao说shuo明ming一yi点dian,我wo这zhe里li编bian辑ji的de时shi候hou发fa现xian个ge问wen题ti,加jia密mi的de密mi码ma串chuan有you些xie是shi连lian续xu存cun储chu的de,有you些xie的de最zui后hou两liang位wei被bei切qie开kai了le,后hou两liang位wei存cun储chu在zai后hou面mian其qi他ta地di方fang.这zhe一yi点dian我wo还huan没mei想xiang明ming白bai.还huan有you注zhu意yi一yi点dian就jiu是shi编bian辑ji的de是shi加jia密mi过guo的de密mi码ma串chuan,也ye就jiu是shi说shuo你ni还huan是shi需xu要yao另ling外wai有youuser表biao文wen件jian。这zhe种zhong方fang法fa和he我wo最zui上shang面mian介jie绍shao的de方fang法fa的de区qu别bie在zai于yu,这zhe种zhong方fang法fa直zhi接jie编bian辑jilinux下xia的deuser表biao文wen件jian,就jiu不bu需xu要yao重chong新xin改gai文wen件jian属shu主zhu和he权quan限xian了le
修xiu正zheng一yi下xia:我wo在zaiWindows下xia的de实shi际ji操cao作zuo如ru下xia
1.关guan闭bi正zheng在zai运yun行xing的deMySQL。
2.打da开kaiDOS窗chuang口kou,转zhuan到daomysql\bin目mu录lu。
3.输shu入ru
mysqld-nt --skip-grant-tables
回hui车che。如ru果guo没mei有you出chu现xian提ti示shi信xin息xi,那na就jiu对dui了le。
4.再zai开kai一yi个geDOS窗chuang口kou(因yin为wei刚gang才cai那na个geDOS窗chuang口kou已yi经jing不bu能neng动dong了le),转zhuan到daomysql\bin目mu录lu。
5.输shu入rumysql回hui车che,如ru果guo成cheng功gong,将jiang出chu现xianMySQL提ti示shi符fu >
6. 连lian接jie权quan限xian数shu据ju库ku
>use mysql;
(>是shi本ben来lai就jiu有you的de提ti示shi符fu,别bie忘wang了le最zui后hou的de分fen号hao)
6.改gai密mi码ma:
> update user set password=password("123456") where user="root"; (别bie忘wang了le最zui后hou的de分fen号hao)
7.刷shua新xin权quan限xian(必bi须xu的de步bu骤zhou)
>flush privileges;
8.退tui出chu
> \q
9.注zhu销xiao系xi统tong,再zai进jin入ru,开kaiMySQL,使shi用yong用yong户hu名mingroot和he刚gang才cai设she置zhi的de新xin密mi码ma123456登deng陆lu。
据ju说shuo可ke以yi用yong直zhi接jie修xiu改gaiuser表biao文wen件jian的de方fang法fa:
关guan闭biMySQL,Windows下xia打da开kaiMysql\data\mysql,有you三san个ge文wen件jianuser.frm,user.MYD,user.MYI找zhao个ge知zhi道dao密mi码ma的deMySQL,替ti换huan相xiang应ying的de这zhe三san个ge文wen件jian,如ru果guouser表biao结jie构gou没mei改gai过guo,一yi般ban也ye没mei人ren去qu改gai,替ti换huanuser.MYD就jiu可ke以yi了le。
也ye可ke以yi直zhi接jie编bian辑jiuser.MYD,找zhao个ge十shi六liu进jin制zhi编bian辑ji器qi,UltraEdit就jiu有you这zhe个ge功gong能neng。关guan闭biMySQL,打da开kaiuser.MYD。将jiang用yong户hu名mingroot后hou面mian的de八ba个ge字zi符fu改gai为wei565491d704013245,新xin密mi码ma就jiu是shi123456。或huo者zhe将jiang它ta们men对dui应ying的de十shi六liu进jin制zhi数shu字zi,(左zuo边bian那na里li,一yi个ge字zi符fu对dui应ying两liang个ge数shu字zi),改gai为wei 00 02 02 02 02 02 02 02,这zhe就jiu是shi空kong密mi码ma,在zai编bian辑ji器qi右you边bian看kan到dao的de都dou是shi星xing号hao*,看kan起qi来lai很hen象xiang小xiao数shu点dian。重chong开kaiMySQL,输shu入ruroot和he你ni的de新xin密mi码ma。【原文】