mysql创建本地用户及赋予数据库权限的方法示例
前言
大家在安装 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
总结