色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

8.0mysql存放密碼的表

榮姿康2年前10瀏覽0評論

在MySQL 8.0版本中,存放密碼的表有所變化。這篇文章將介紹MySQL 8.0存放密碼的表是如何改變的,以及這些改變的意義。

在MySQL 8.0之前,存放密碼的表是user表。在user表中,密碼是以PLAINTEXT的形式儲存的。這種儲存方式有著嚴重的安全威脅,因為一旦這張表被黑客入侵,所有的密碼信息就會完全暴露。 MySQL 8.0開始改變了這種不安全的存儲方式。

CREATE TABLE mysql.user (
Host              CHAR(60) COLLATE utf8mb4_bin NOT NULL DEFAULT '',
User              CHAR(80) COLLATE utf8mb4_bin NOT NULL DEFAULT '',
authentication_string TEXT COLLATE utf8mb4_bin DEFAULT NULL,
...
PRIMARY KEY (Host, User),
...
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin

在MySQL 8.0中,存放密碼的表變成了mysql.user表,并修改了儲存密碼的方式。現在,密碼被以HASHED的形式儲存在authentication_string字段中。這個字段是TEXT類型,之所以使用TEXT類型,是因為密碼會經過加密,長度也會隨著加密算法的不同而改變。

mysql>CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';
Query OK, 0 rows affected (0.04 sec)
mysql>SELECT authentication_string FROM mysql.user WHERE User='myuser';
+------------------------------------------------------------------------+
| authentication_string                                                  |
+------------------------------------------------------------------------+
| *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9                                |
+------------------------------------------------------------------------+
1 row in set (0.00 sec)

這些改變帶來的好處是,當黑客入侵mysql數據庫時,他們將無法獲取明文密碼。這樣,就可以避免類似于Equifax數據泄露事件的發生。此外,這種密碼儲存方式還簡化了密碼管理的任務。例如,當需要重置密碼時,僅需要將authentication_string字段設定為HASHED的新密碼即可。

總之,MySQL 8.0中存放密碼的表已經從user表轉變為mysql.user表,并以HASHED形式儲存密碼。這種方式避免了安全威脅,同時也簡化了密碼管理的任務。這一改變是MySQL的一個重要進步,有望為MySQL數據庫的用戶提供更高的安全性保障。