程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL忘卻暗碼恢復暗碼的完成辦法

MySQL忘卻暗碼恢復暗碼的完成辦法

編輯:MySQL綜合教程

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.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved