MySQL忘卻暗碼恢復暗碼的完成辦法。本站提示廣大學習愛好者:(MySQL忘卻暗碼恢復暗碼的完成辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是MySQL忘卻暗碼恢復暗碼的完成辦法正文
1、辦事器情況
1、體系windows2003 中文企業版 sp2
2、mysql 5.1.55
3、php 5.2.17
4、IIS 6.0
2、破解進程
1、停滯mysql辦事(以治理員身份,在cmd敕令行下運轉)應用以下敕令:
net stop mysql
2、.應用敕令啟動mysql數據庫,敕令以下
mysqld --skip-grant-tables 或許 mysqld-nt --skip-grant-tables
3.新開一個cmd窗口,停止以下敕令操作
1、mysql -uroot
2、update mysql.user set password=password('root') where user='你的暗碼';
如圖:
4、翻開義務治理器,停滯mysql,mysqld過程,應用net start mysql啟動mysqld辦事,便可以應用root用戶 root暗碼進入數據庫了(這步可以省略重啟機械)
mysql5.1治理員暗碼破解到此停止。
1. 向mysqld server 發送kill敕令關失落mysqld server(不是 kill -9),寄存過程ID的文件平日在MYSQL的數據庫地點的目次中。
killall -TERM mysqld
你必需是UNIX的root用戶或許是你所運轉的SERVER上的一致用戶,能力履行這個操作。
2. 應用`--skip-grant-tables' 參數來啟動 mysqld。 (LINUX下/usr/bin/safe_mysqld --skip-grant-tables , windows下c:\mysql\bin\mysqld --skip-grant-tables)
3. 然後無暗碼登錄到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. 載入權限表: `mysqladmin -h hostname flush-privileges' ,或許應用 SQL 敕令`FLUSH PRIVILEGES'。
5.killall -TERM mysqld
6.用新暗碼上岸
修改一下:我在Windows下的現實操作以下
1.封閉正在運轉的MySQL。
2.翻開DOS窗口,轉到mysql\bin目次。
3.輸出mysqld-nt --skip-grant-tables回車。假如沒有湧現提醒信息,那就對了。
4.再開一個DOS窗口(由於適才誰人DOS窗口曾經不克不及動了),轉到mysql\bin目次。
5.輸出mysql回車,假如勝利,將湧現MySQL提醒符 >
6. 銜接權限數據庫>use mysql; (>是原來就有的提醒符,別忘了最初的分號)
6.改暗碼:> update user set password=password("123456") where user="root"; (別忘了最初的分號)
7.刷新權限(必需的步調)>flush privileges;
8.加入 > \q
9.刊出體系,再進入,開MySQL,應用用戶名root和適才設置的新暗碼123456上岸。
聽說可以用直接修正user表文件的辦法:
封閉MySQL,Windows下翻開Mysql\data\mysql,有三個文件user.frm,user.MYD,user.MYI找個曉得暗碼的MySQL,調換響應的這三個文件,假如user表構造沒悛改,普通也沒人去改,調換user.MYD便可以了。
也能夠直接編纂user.MYD,找個十六進制編纂器,UltraEdit就有這個功效。封閉MySQL,翻開user.MYD。將用戶名root前面的八個字符改成565491d704013245,新暗碼就是123456。或許將它們對應的十六進制數字,(右邊那邊,一個字符對應兩個數字),改成 00 02 02 02 02 02 02 02,這就是空暗碼,在編纂器左邊看到的都是星號*,看起來很象小數點。重開MySQL,輸出root和你的新暗碼。
明天有點事要進mssql,由於是良久之前裝的,所以忘卻了sa的暗碼,固然用windows身份驗證便可以進,然則假如用php銜接mssql時就不可了,因而谷歌了一下,找到懂得決辦法.
用windows身份驗證機制出來,然後
輸出以下敕令,履行:
exec sp_password null,'newpass','sa'
示例
A.無原暗碼的情形下更改登錄暗碼
上面的示例將登錄 Victoria 的暗碼更改成 123
EXEC sp_password NULL,'123','sa'
B.更改暗碼
上面的示例將登錄 Victoria 的暗碼由 123 改成 456
EXEC sp_password '123','456'
別的我發明了一個成績,那就是windows和SQL Server身份驗證機制有些分歧
windows身份驗證
辦事器地址 上岸成果
127.0.0.1 ok
localhost wrong
. ok
SQL Server身份驗證
辦事器地址 上岸成果
127.0.0.1 ok
localhost wrong
. wrong
別的記載一下忘卻mysql 暗碼的取回辦法
假如 MySQL 正在運轉,
起首殺之: killall -TERM mysqld(假如是windows,直接調出過程治理器,停止之)
以平安形式啟動 MySQ:
/usr/bin/safe_mysqld --skip-grant-tables &
(windows 下 mysql裝置所以盤/mysql/bin/safe_mysqld --skip-grant-tables )
便可以不須要暗碼就進入 MySQL 了.
然後就是
>use mysql
>update user set password=password("new_pass") where user="root";
>flush privileges;
從新殺 MySQL,用正常辦法啟動 MySQL.