mysql创建本地用户及赋予数据库权限的方法示例

时间:2022-04-03 08:53:05

大家在安装 mysql 时通常会生成一个超级用户 root,很多人之后就一直沿用这一个用户,虽然这会很方便,但超级用户权限太大,在所有地方使用它通常是一个安全隐患。

这一点跟操作系统的用户管理也是类似的,多数人贪图方便都直接使用 administrator 或 root 用户,其实是一种不建议的做法。

那么,要如何在 mysql 中创建 root 之外的用户并赋予相应权限呢?

我们直接来看一个示例:

CREATE USER ‘golden‘@'localhost' IDENTIFIED BY ‘gd2017‘;
GRANT ALL ON myapp.* TO ‘golden‘@'localhost';
FLUSH PRIVILEGES;

对上述语句,这里简单解析一下:

1、create user 语句用于创建用户(及密码)。

      其中 golden 是用户名,gd2017 是密码。localhost 则表明是本地用户。

2、grant 语句用于对用户进行赋权。

      其中,all 表示所有的权限,包括对数据的增删改查及更改数据库;myapp 为具体某个数据库名,myapp.* 表示该数据库下所有的表(以及视图等);golden 则为刚才所建立的用户名。

3、flush 语句使更改生效。

拓展:

通常,以上设置能满足一般的需求了,更细化的配置,可以参考 mysql 官方在线文档(5.7 版):

https://dev.mysql.com/doc/refman/5.7/en/create-user.html

https://dev.mysql.com/doc/refman/5.7/en/grant.html