linux 下修改 忘記MySQL如何修改

2021-08-02 07:39:46 字數 3505 閱讀 3426

一、伺服器環境

1、系統windows2003 中文企業版 sp2

2、mysql 5.1.55

3、php 5.2.17

4、iis 6.0

二、破解過程

1、停止mysql服務(以管理員身份,在cmd命令列下執行)使用如下命令:

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的ro

ot使用者或者是你所執行的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,使用使用者名稱ro

ot和剛才設定的新密碼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時就不行了,於是google了一下,找到了解決方法.

用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.

linux下 修改 忘記 mysql密碼

好尷尬,經常忘記自己的密碼 修改的使用者都以root為列。一 擁有原來的myql的root的密碼 方法一 在mysql系統外,使用mysqladmin mysqladmin u root p password test123 enter password 輸入原來的密碼 方法二 通過登入mysql系...

Linux下修改MySqL密碼 忘記密碼

解決mysql密碼錯誤 mysql u root p enter password error 1045 28000 access denied for user using password no 現在終於被我找到了解決方法,方法一 etc init.d mysql stop mysqld saf...

Linux下修改mysql密碼以及忘記密碼重置

以下基於我在centos7.2的方法 第一步 用帳號登入mysql root centos5 mysql u root 或 mysql uroot p 或使用密碼登入 mysql uroot p old password 第二步 改變使用者資料庫 mysql use mysql reading ta...