本文介绍 OceanBase 数据库 MySQL 模式和 MySQL 5.7、8.0 版本的密码校验方式。
适用版本
OceanBase 数据库 V2.x 和 V3.x 版本。
详细内容
OceanBase 数据库 MySQL 租户默认的登录认证方式为 mysql_native_password。
MySQL [oceanbase]> show variables like '%auth%';
+-------------------------------+-----------------------+
| Variable_name | Value |
+-------------------------------+-----------------------+
| default_authentication_plugin | mysql_native_password |
+-------------------------------+-----------------------+
MySQL 5.7 版本的驱动和 MySQL 8.0 版本的驱动使用的认证方式不同:
- 5.7 版本:默认使用 mysql_native_password。该算法的特点是验证速度特别快,但是安全性不足,因为其使用 SHA1 和其他哈希算法(例如 MD5)容易被破解。
- 8.0 驱动:默认使用 caching_sha2_password。该算法提供了更高的安全性,未来会成为 MySQL 的主流认证方式。
如果使用 MySQL 8.0 客户端或驱动访问 OceanBase MySQL 租户,需要在连接串中添加 --default_auth=mysql_native_password。
客户端与驱动需要配置相同的校验方法来进行数据库的链接。下面就 OceanBase 和 MySQL 在客户端、驱动的密码校验方法进行比较。