下面講講關于忘記mysql的密碼如何登錄,文字的奧妙在于貼近主題相關。所以,閑話就不談了,我們直接看下文吧,相信看完忘記mysql的密碼如何登錄這篇文章你一定會有所受益。
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的密碼如何登錄相關內容,大家還有什么不明白的地方嗎?或者想要了解更多相關,可以繼續關注我們的行業資訊板塊。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。