mysql.user表权限介绍。以及创建某个库的用户权限
【摘要】 在实际开发过程中,特别是对安全有额外的要求的项目或者公司,难免会对连接数据库的用户权限进行限制,一般禁止直接使用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)