Hey, MYSQL 8 用户管理要不要了解一下!

这口吻,估计马上就的把电话挂了, 不过MYSQL 8 的用户管理,老手,新人,还是了解一下比较好,当然如果你已经有了 ORACLE ,PG, SQL SERVER 等数据库的使用经验,你会发现 MYSQL 越来越“老”, 换个词,成熟。

MYSQL 5.X MYSQL 的用户管理,那些人(You know what I am talk about.)是残缺不全的,没有角色,没有更细分的权限管理(其实有,只不过你可能不知道),MYSQL 8 将这些残次的概念会一刷到底,换句话MYSQL 8的用户管理,你挑不到什么刺儿了。

先说点体外化,关于数据库安全,不论哪种数据库,其实都需要注意一点默认的账号应该怎么样。这里借用 MYSQL official one statment.

Do not ever give anyone (except Mysql root Accounts) access to the user table in the mysql system database ! That is critical.

我估计百分之 99.99%的人做不到,包括我,看来在安全方面还有更多的工作要做。

先说说MYSQL 8 在用户管理和安全上的变化

1 用户的密码加密方式改变了

2 关于用户方面的插件改变了

与其说是插件的方式改变了,不如说整体MYSQL 8 对待插件的概念改变了,整体MYSQL 8 都可以看做一个组件,其他的东西都是组件,有点程序上的微服务的意思,或许吧。

另外使用PERCONA 的 8.015 在

INSTALL COMPONENT 'file://component_validate_password';

会报错,的原因是这个组件已经安装了,并且和老的plug相安无事的

如何从老的插件更换到新的组件,找个时间再说。

不安装新的组件,以下的两个配置是无法生效,MYSQL 是无法启动的,同时如果使用官版,RPM ,SUSE, 等安装方式,是自动安装新的组件,而如果是编译和二进制的方式,则很可能不自动安装,这点是要注意的,PERONCA 二进制是自带默认安装的。

validate_password.length=10
validate_password.number_count=2

话归正题,MYSQL 8 既然支持ROLE ,我们的赶紧去学习,怎么去建立一个ROLE ,给ROLE 赋予权限,对用户赋予ROLE 是当前需要马上懂得的。

下面是

上图是一些简单的角色和用户之间的授予和回收的一些命令

同时MYSQL 8.0 也可以创建一个用户,在通过一个用户赋予另一个用户权限的方法来 进行权限的COPY。

另外在PERCONA 的 8.015 中的用户密码加密已经使用了 caching_sha2_password, 想要通过 pt工具进行账号的迁移的打算可以就此为止了,因为那个工具不支持,会报错。

本文分享自微信公众号 - AustinDatabases(AustinDatabases)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-05-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券