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...