mysql认证机构

MySQL是一款开源的关系型数据库,它的安全性至关重要。为了确保安全性,MySQL引入了认证机构的概念。

mysql认证机构

认证机构就是MySQL服务器端用来验证客户端身份的可插拔式插件。MySQL服务器默认使用基于密码的认证机构来验证客户端身份,也可以使用其他的认证机构。

MySQL 8.0之前支持多种认证方式:Native, mysql_old_password, mysql_native_password, sha256_password等。而在MySQL 8.0之后,为了提高安全性,只支持使用caching_sha2_password认证机构。

caching_sha2_password认证机构是一种基于SHA-256和随机盐的加密算法。它使用用户密码和随机的salt来创建加密哈希。对于每个新连接,服务器会生成一个新的salt。

mysql>CREATE USER 'test_user'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'test_password'; Query OK, 0 rows affected (0.03 sec) mysql>GRANT ALL PRIVILEGES ON test_db.* TO 'test_user'@'localhost'; Query OK, 0 rows affected (0.01 sec)