mysql.user表权限介绍。以及创建某个库的用户权限

举报
object 发表于 2024/05/15 10:00:16 2024/05/15
【摘要】 在实际开发过程中,特别是对安全有额外的要求的项目或者公司,难免会对连接数据库的用户权限进行限制,一般禁止直接使用root连接数据库注:表格只对权限相关的字段进行说明,mysql.user中还包含了其他的列名。例如ssl设置,密码设置列名解释Select_priv确定用户是否可以通过SELECT命令选择数据Insert_priv确定用户是否可以通过INSERT命令插入数据Update_priv...

在实际开发过程中,特别是对安全有额外的要求的项目或者公司,难免会对连接数据库的用户权限进行限制,一般禁止直接使用root连接数据库

mysql.user介绍

注:表格只对权限相关的字段进行说明,mysql.user中还包含了其他的列名。例如ssl设置,密码设置

列名 解释
Select_priv 确定用户是否可以通过SELECT命令选择数据
Insert_priv 确定用户是否可以通过INSERT命令插入数据
Update_priv 确定用户是否可以通过UPDATE命令修改现有数据
Delete_priv 确定用户是否可以通过DELETE命令删除现有数据
Create_priv 确定用户是否可以创建新的数据库和表
Drop_priv 确定用户是否可以删除现有数据库和表
Reload_priv 用户是否可以执行刷新和重新加载MySQL所用各种内部缓存的特定命令
Shutdown_priv 确定用户是否可以关闭MySQL服务器。 重要权限
Process_priv 确定用户是否可以通过SHOW PROCESSLIST命令查看其他用户的进程。 重要权限
File_priv 确定用户是否可以执行SELECT INTO OUTFILE和LOAD DATA INFILE命令。 重要权限
Grant_priv 确定用户是否可以将已经授予给该用户自己的权限再授予其他用户
References_priv 目前只是某些未来功能的占位符
Index_priv 确定用户是否可以创建和删除表索引
Alter_priv 确定用户是否可以重命名和修改表结构
Show_db_priv 确定用户是否可以查看服务器上所有数据库的名字重要权限
Super_priv 确定用户是否可以执行某些强大的管理功能,例如通过KILL命令删除用户进程,使用SET GLOBAL修改全局MySQL变量重要权限
Create_tmp_table_priv 确定用户是否可以创建临时表
Lock_tables_priv 确定用户是否可以使用LOCK TABLES命令阻止对表的访问/修改
Execute_priv 确定用户是否可以执行存储过程
Repl_slave_priv 确定用户是否可以读取用于维护复制数据库环境的二进制日志文件
Repl_client_priv 确定用户是否可以确定复制从服务器和主服务器的位置
Create_view_priv 确定用户是否可以创建视图
Show_view_priv 确定用户是否可以查看视图或了解视图如何执行
Create_routine_priv 确定用户是否可以更改或放弃存储过程和函数
Alter_routine_priv 确定用户是否可以修改或删除存储函数及函数
Create_user_priv 确定用户是否可以执行CREATE USER命令重要权限
Event_priv 确定用户能否创建、修改和删除事件
Trigger_priv 确定用户能否创建和删除触发器

以上的权限,一般是针对服务器的权限,操作系统库。 但是对于我们一般用于项目的连接用户,一般不需要这些权限。

针对项目中使用到的数据库用户连接,一般推荐其他的另外方式,因为一个数据库连接中可能存在多个库,而一般一个项目只需要使用到其中的一个库即可,所以建议直接从库层面授予权限即可

推荐方式一:SQL执行方式

使用root,或者其他有权限的用户。直接连接数据库或者使用navicat进行授权

1.添加用户   add_user_name 用户名  ;允许所有主机连接登录 ;add_user_password  登录密码

CREATE USER 'add_user_name'@'%' IDENTIFIED BY 'add_user_password'
2.授予某个用户的某个库的所有权限     ,仅针对该库有效 

GRANT ALL PRIVILEGES ON 数据库名称.* TO 'add_user_name'@'%' IDENTIFIED BY 'add_user_password';
3.刷新权限
FLUSH PRIVILEGES

推荐方式二:navicat 界面操作方式

通过界面的用户设置。 点击“用户”

选择执行的用户,如果没有用户也可以选择新建用户。 选择权限,添加权限

选择需要授予的库,选择勾选所有的权限,即可。 然后保存返回

登录该账号,就只能看到指定的数据库和information_schema库。

其中information_schema库是一个视图,便于方便查询一些资源,是当前用户已有的权限的条件下查询所得

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。