mysql資料庫的密碼忘記了怎麼辦?

2021-08-14 23:29:33 字數 2042 閱讀 5659

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資料庫root使用者密碼

2012 07 05 18 07 15 標籤 分類 mysql mysql 忘記了 root 密碼 1,啟用任務管理器,結束mysql程序 2,進入命令列,進入mysql的bin目錄 環境變裡 path裡面可以找到bin目錄 啟動mysql服務 mysqld nt skip grant tables...

Ubuntu下mysql資料庫密碼忘記怎麼辦

問題描述 ubuntu下忘記mysql資料庫密碼 解決辦法 1.修改mysql的登入設定 vi etc my.cnf 2 重新啟動mysqld etc init.d mysqld restart service mysqld restart 3 登入並修改mysql的root密碼 mysql use...

忘記了MySQL密碼?

如果你忘記了mysql密碼,如何重置它呢?下面是錯誤答案 首先停止mysql服務,然後使用skip grant tables引數啟動它 shell etc init.d mysql stop shell mysqld safe skip grant tables 此時無需授權就可以進入到mysql命...