mysql 怎麼辦 mysql 密碼忘記怎麼辦

2021-10-19 16:30:32 字數 2076 閱讀 8308

一、若資料庫是初次登陸

linux系統給資料庫生成了乙個原始密碼在檔案/var/log/mysqld.log中:

grep "temporary password" /var/log/mysqld.log 找到原始密碼

登陸 #mysql -uroot -p'你找到的密碼'

mysql>set global validate_password_policy=0 //設定密碼認證策略

mysql>set global validate_password_length=6 //設定密碼長度至少6位

mysql>alter user root@"localhost" identified by "123456" //設定密碼 我是重點要記的初次設定,必須alter 密碼

重啟服務,再次登陸即可 systemctl restart mysqld mysql -uroot -p123456

對於密碼認證策略上述是一次性的,永久設定需設定配置檔案

vim /etc/my.cnf

[mysql]

validate_password_policy=0

validate_password_length=6

:wq重啟服務即可

二、若資料庫非初次登陸:

修改配置檔案,跳過密碼監測表的監測

vim /etc/my.cnf

[mysql]

skip_grant_tables

#validate_password_policy=0

#validate_password_length=6

:wq重啟服務 systemctl restart mysqld

進入資料庫後修改儲存資料庫密碼的字段的值

該字段是mysql庫中的user表中的authentication_string

#mysql

mysql>update mysql.user set authentication_string=password("你要設定的新密碼") where user="root"

and host="localhost";//我是解釋分割 password()是mysql自帶的加密函式,因為mysql不可能把你的密碼銘文存 儲在自己的表裡

mysql>flush privileges;//我是解釋分割 flush 是重新整理 ,此步是重新整理許可權,即把你對密碼的修改儲存在表裡的過程,必不可少!!!否則跟新密碼就白更新了

退出資料庫後,修改配置檔案,不用跳過密碼監測表,用自己的新密碼登陸

mysql>exit

vim /etc/my.cnf

[mysqld]

#skip_grant_tables

validate_password_policy=0

validate_password_length=6

:wq#systemctl restart mysqld

#mysql -uroot -p新密碼

三、重要補充:

在寫密碼策略時要監測是否該變數

#find / -name "validate_password.so"

有,則查出如下結果,可按照一或者二操作

/usr/lib64/mysql/plugin/debug/validate_password.so

/usr/lib64/mysql/plugin/validate_password.so

若查詢無結果,則安裝該外掛程式並修改配置檔案後按照一或二操作,過程如下:

修改配置檔案:vim /etc/my.cnf

[mysqld]

plugin-load=validate_password.so ///我是解釋分割線:載入外掛程式

validate-password=force_plus_permanent 我是解釋分割線 :強制安裝以防止該外掛程式在執行時被刪除

安裝外掛程式:

mysql> install plugin validate_password soname 'validate_password.so';

重啟服務並監測是否安裝成功:

systemctl restart mysqld

#find / -name "validate_password.so"

mysql忘記密碼怎麼辦?

mysql忘記密碼怎麼辦?windows 1.用系統管理員登陸系統。2.停止mysql的服務。3.進入命令視窗,然後進入mysql的安裝目錄,比如我的安裝目錄是c mysql,進入c mysqlbin 4.跳過許可權檢查啟動mysql,c mysqlbin mysqld nt skip grant ...

mysql忘記密碼怎麼辦

1.關閉正在執行的mysql。2.開啟dos視窗,轉到mysql bin目錄。3.輸入mysqld skip grant tables回車。如果沒有出現提示資訊,那就對了。4.再開乙個dos視窗 因為剛才那個dos視窗已經不能動了 轉到mysql bin目錄。5.輸入mysql回車,如果成功,將出現...

mysql忘記密碼怎麼辦?

mysql有時候忘記密碼了怎麼辦?我給出案例和說明 一下就解決了 windows下的實際操作如下 1.關閉正在執行的mysql。2.開啟dos視窗,轉到mysql bin目錄。3.輸入mysqld skip grant tables回車。如果沒有出現提示資訊,那就對了。4.再開乙個dos視窗 因為剛...