mysql忘記root密碼,修改root密碼

2021-08-20 16:29:32 字數 2277 閱讀 1772

修改root密碼的方法:

方法一:使用mysqladmin命令:

a. 沒有設定過密碼:

$mysql_home/bin/mysqladmin -u root password 「newpass」

b. 設定過初始密碼:

$mysql_home/bin/mysqladmin -u root password oldpass 「newpass」

方法二:使用sql語句修改資料庫

首先使用的是像linux的救援模式一樣的超級管理模式

ⅰ. 先停止mysql服務,然後,通過下面的方式進入超級管理模式

ⅱ. 進入超級管理模式的方法:

a. $mysql_home/bin/mysqld –skip-grant-tables &

b. 修改mysql的配置檔案(一般是/etc/my.cnf),在[mysqld]模組下新增skip-grant-tables,如下

[mysqld]

port = 3306

socket = /tmp/mysql.sock

datadir = /usr/local/mysql/var

skip-external-locking

key_buffer_size = 256m

max_allowed_packet = 1m

table_open_cache = 1024

sort_buffer_size = 4m

net_buffer_length = 8k

read_buffer_size = 4m

read_rnd_buffer_size = 512k

myisam_sort_buffer_size = 64m

thread_cache_size = 128

query_cache_size = 128m

tmp_table_size = 128m

**skip-grant-tables**

然後,啟動mysql

ⅲ. 通過$mysql_home/bin/mysql免密碼直接進入資料庫,修改mysql.user表

通過下面的sql語句修改root使用者密碼:

mysql 5.7以上的:

update mysql.user set authentication_string=password(『admin』) where user=』root』;

mysql 5.7 以下的:有的mysql版本可能沒有authentication_string欄位,是password,改一下

update mysql.user set password=password(『admin』) where user=』root』;即可

修改完後記得重新整理許可權:

執行flush privileges;

退出mysql

ⅳ. 停止$mysql_home/bin/mysqld –skip-grant-tables &程序(後台執行的程序),停止後台程序的方法詳見:

或者

如果是修改配置檔案啟動mysql服務的,將配置檔案還原(注釋掉skip-grant-tables),然後重啟即可。

ⅴ. 通過剛修改的新密碼連線資料庫即可

方法三:和方法二相似通過sql語句修改資料庫的方式修改root密碼的方法:

與方法二步驟大致相同,只是sql語句不同。

進入超級管理模式,修改重啟,重新連線即可。

由於sql裡儲存密碼都是加密的方式,所以,這種方法要使用加密後的密碼修改,一般不建議使用,或者修改為空密碼。

sql語句:

將密碼修改為空:

mysql 5.7以上版本:

update mysql.user set authentication_string=」 where user=』root』;

mysql 5.7以下版本:

update mysql.user set password=」 where user=』root』;

將密碼修改為123456:

mysql 5.7以上版本:

update mysql.user set authentication_string=』*6bb4837eb74329105ee4568dda7dc67ed2ca2ad9』 where user=』root』;

mysql 5.7以下版本:

update mysql.user set password=』*6bb4837eb74329105ee4568dda7dc67ed2ca2ad9』 where user=』root』;

mysql 密碼忘記 修改root密碼

通過網上的資料總結了一下 第一步 確定mysql服務是關閉狀態 然後執行下面命令 mysqld defaults file d mysql my.ini console skip grant tables 這句話表示跳過密碼驗證的許可權,現在 在登入mysql不用做驗證就可以進入 第二步 第乙個視窗...

mysql修改忘記root密碼

may 11,2016 8 50 pm mysql u root mysql set password for root localhost password newpass mysqladmin u root password newpass 如果root已經設定過密碼,採用如下方法 mysqla...

mysql 修改忘記root密碼

1 首先確認伺服器出於安全的狀態,也就是沒有人能夠任意地連線mysql資料庫。因為在重新設定mysql的root密碼的期間,mysql資料庫完全出於沒有密碼保護的 狀態下,其他的使用者也可以任意地登入和修改mysql的資訊。可以採用將mysql對外的埠封閉,並且停止apache以及所有的使用者程序的...