mysql 密碼驗證 MySQL8 的密碼認證

2021-10-17 12:18:21 字數 1410 閱讀 3156

mysql8 的密碼認證

1 wordpress (也就是php)中連線 mysql8

問題是安裝 wordpress 時,mysql 伺服器連線不上。檢查了一下原因,原來伺服器上使用的是 mysql8 新版本伺服器。估計原因就是密碼的認證方式問題,因此更新使用者密碼,使用語句:

alter user 'yourname'@'yourhost' identified with mysql_native_password by 'yourpassword';

flush privileges;

將使用者密碼認證的方式改為 mysql_native_password ,再去安裝 wordpress 時,mysql 伺服器連線成功!

其中 mysql_native_password 就是 mysql5 版本使用的密碼認證方式。

2 mysql8 支援的認證方式

在 mysql8 中,支援的認證方式有 3 種:caching_sha2_password,mysql8 預設

sha256_password

mysql_native_password,mysql5 支援

在設定使用者密碼時,使用 with 認證型別 的語法對每個使用者進行設定,例如:

alter user 'yourname'@'yourhost' identified with mysql_native_password by 'yourpassword';

也可以通過配置伺服器選項集中設定:

[mysqld]

default_authentication_plugin=caching_sha2_password

檢視使用者使用的密碼認證方式,

3 password() 函式

mysql5 版本中有個 password() 函式用於生成密碼,該函式在 mysql8 中被移除了。

password() 函式的演算法是:upper(sha1(unhex(sha1('abc'))))

mysql> select password('abc');

+-------------------------------------------+| password('abc') |

+-------------------------------------------+| *0d3ced9bec10a777aec23ccc353a8c08a633045e |

mysql> select upper(sha1(unhex(sha1('abc'))));

+------------------------------------------+| upper(sha1(unhex(sha1('abc')))) |

+------------------------------------------+| 0d3ced9bec10a777aec23ccc353a8c08a633045e |

MySQL8 許可權驗證

8.0修改了預設驗證方式,之前使用mysql native password外掛程式,新版使用caching sha2 password 驗證外掛程式兩個外掛程式並不相容,使用8版本之後要留意驗證問題。第一次登入後需要reset password才能操作 flush privileges alter...

mysql8忘記密碼

本人環境 window10 安裝了乙個mysql5.7版本,然後又安裝了mysql8版本 安裝完mysql8會有個初始密碼,但是忘記複製就關閉了。所以本篇文章針對 無重要資料的非線上環境mysql。因為不確定是否會刪除歷史資料。1.先關閉mysql 2.安裝完mysql8的目錄是這樣的,刪除data...

MySQL 8 忘記密碼

access denied for user root localhost using password no 忘記密碼該怎麼操作?在mysql安裝目錄下,開啟my.ini檔案,在 mysqld 下新增一行,使其登入時跳過許可權檢查。儲存,退出,重啟mysql服務 net stop mysql ne...