mysql数据库之用户权限

一、权限列表

Select_priv。确定用户是否可以通过SELECT命令选择数据。

Insert_priv。确定用户是否可以通过INSERT命令插入数据。

Update_priv。确定用户是否可以通过UPDATE命令修改现有数据。

Delete_priv。确定用户是否可以通过DELETE命令删除现有数据。

Create_priv。确定用户是否可以创建新的数据库和表。

Drop_priv。确定用户是否可以删除现有数据库和表。

Reload_priv。确定用户是否可以执行刷新和重新加载MySQL所用各种内部缓存的特定命令,包括日志、权限、主机、查询和表。

Shutdown_priv。确定用户是否可以关闭MySQL服务器。在将此权限提供给root账户之外的任何用户时,都应当非常谨慎。

Process_priv。确定用户是否可以通过SHOW PROCESSLIST命令查看其他用户的进程。

File_priv。确定用户是否可以执行SELECT INTO OUTFILE和LOAD DATA INFILE命令。

Grant_priv。确定用户是否可以将已经授予给该用户自己的权限再授予其他用户。例如,如果用户可以插入、选择和删除foo数据库中的信息,并且授予了GRANT权限,则该用户就可以将其任何或全部权限授予系统中的任何其他用户。

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。确定用户是否可以执行存储过程。此权限只在MySQL 5.0及更高版本中有意义。

Repl_slave_priv。确定用户是否可以读取用于维护复制数据库环境的二进制日志文件。此用户位于主系统中,有利于主机和客户机之间的通信。

Repl_client_priv。确定用户是否可以确定复制从服务器和主服务器的位置。

Create_view_priv。确定用户是否可以创建视图。此权限只在MySQL 5.0及更高版本中有意义。关于视图的更多信息,参见第34章。

Show_view_priv。确定用户是否可以查看视图或了解视图如何执行。此权限只在MySQL 5.0及更高版本中有意义。关于视图的更多信息,参见第34章。

Create_routine_priv。确定用户是否可以更改或放弃存储过程和函数。此权限是在MySQL 5.0中引入的。

Alter_routine_priv。确定用户是否可以修改或删除存储函数及函数。此权限是在MySQL 5.0中引入的。

Create_user_priv。确定用户是否可以执行CREATE USER命令,这个命令用于创建新的MySQL账户。

Event_priv。确定用户能否创建、修改和删除事件。这个权限是MySQL 5.1.6新增的。

Trigger_priv。确定用户能否创建和删除触发器,这个权限是MySQL 5.1.6新增的。

max_queries_per_hour:允许用户每小时执行的查询语句数量;

max_updates_per_hour:允许用户每小时执行的更新语句数量;

max_connections_per_hour:允许用户每小时连接的次数;

max_user_connections:允许用户同时连接服务器的数量;

二、创建用户sql语句

#创建用户(只能本地访问)
create user ‘user‘@‘localhost‘ identified by ‘pass‘;

#创建用户(所有远程主机访问访问)
create user ‘user‘@‘%‘ identified by ‘pass‘;

#用户授权(给user用户授予testdb数据的查询和增加权限)
grant select,insert on testdb to user;

#用户授权数据库。*代表整个数据库
#with grant option   允许被授予权限的人把这个权限授予其他的人。一般不加
grant all privileges on dbName.tableName to ‘username‘@‘localhost‘ identified by ‘password‘ with grant option;

#username对tdbNames数据库有select,delete,update,create,drop权限。
grant select,delete,update,create,drop on dbName.* to ‘username‘@‘192.168.%‘ identified by ‘pass‘;

#授权完成后需要重新载入赋权表
flush privileges;

#解除授权
#解除用户所有数据库(表)的所有权限(不包含赋权权限)
revoke all privileges on *.* from user;
#解除赋权权限
revoke grant option on *.* from user;  

#删除用户
delete from mysql.user where user=‘user‘;

#设置与更改用户密码
set password for ‘user‘@‘localhost‘ = password(‘newpassword‘);
set password for ‘user‘@‘%‘ = password(‘123456‘);
#如果是当前登陆用户用:
set password = password(‘newpassword‘);

原文地址:https://www.cnblogs.com/newbest/p/9384602.html

时间: 2024-07-29 20:31:15

mysql数据库之用户权限的相关文章

百万年薪python之路 -- MySQL数据库之 用户权限

MySQL用户授权 (来自于https://www.cnblogs.com/dong-/p/9667787.html) 一. 对新用户的增删改 1. 增加用户 : ①. 指定某一个用户使用某一个ip登录并指定密码 create user "用户名"@"192.168.1.1" identified by "123"; ②. 指定某一个用户使用某一网段的ip登录 create user "用户名"@"192.168.1

MySQL数据库的用户管理、数据库备份与恢复

MySQL 是一个真正的多线程.多用户的 SQL 数据库服务,凭借其高性能.高可靠和易于使用的特性,成为服务器领域中最受欢迎的开源数据库系统.在2008年以前,MySQL 项目由 MySQL AB 公司进行开发.发布和支持,之后历经 Sun 公司收购 MySQL AB 公司,Oracle 公司收购 Sun 公司的过程,目前 MySQL 项目由 Oracle 公司负责运营和维护. MySQL 数据库的用户管理 新建用户mysql -u root -p ##登录数据库use mysql; ##进入m

设置、修改及找回 MySQL 数据库 root 用户的密码

1. MySQL 数据库用户安全策略介绍 安装 MySQL 数据库后,默认的管理员 root 密码为空,很不安全,需要设置密码.针对 MySQL数据库的用户处理,还有更严格的做法: ① 增加 system 并提升权限为超级管理员,即和 root 等价的用户,只是名字不同.     mysql> grant all privileges on *.* to [email protected]'localhost' identified by 'alinuxer123' with grant opt

postgres数据库查看用户权限

1.查看某用户的表权限 select * from information_schema.table_privileges where grantee='user_name'; 2.查看usage权限表 select * from information_schema.usage_privileges where grantee='user_name'; 3.查看存储过程函数相关权限表 select * from information_schema.routine_privileges whe

限制MySQL数据库单个用户最大连接数等的方法

服务器上总有一些网站用户的连接数过大,而影响了其他的网站的正常使用,那么如何把某一条臭鱼限制在自己的一亩三分地呢?限制MySQL数据库单个用户最大连接数等的方法下面我来说一下方法和原理: 1.对于Linux和Uinx操作系统需要找到my.cnf,对于windows操作系统需要找到my.ini 2.因为my文件是MySQL的配置文件,我们以前只知道他是对MySQL数据库的整体控制,其实他还可以对单个用户进行限制. 3.将my.cnf或my.ini下载下来,编辑,可以把多余项去掉,加入: max_c

mysql给其他用户权限访问我的数据库

先执行这条语句,给用户权限 grant all privileges on *.* to [email protected]"221.221.185.23" identified by "gyrgyr"; 再执行这行,刷新权限         flush privileges;

MySQL数据库设置远程访问权限方法小结

http://www.jb51.net/article/42441.htm MySQL基础知识第一期,如何远程访问MySQL数据库设置权限方法总结,讨论访问单个数据库,全部数据库,指定用户访问,设置访问密码,指定访问主机. 1,设置访问单个数据库权限 复制代码代码如下: mysql>grant all privileges on test.* to 'root'@'%'; 说明:设置用户名为root,密码为空,可访问数据库test 2,设置访问全部数据库权限 复制代码代码如下: mysql>g

Spring mvc整合mybatis基于mysql数据库实现用户增删改查及其分页显示的完整入门实例【转】

Spring mvc整合mybatis例子, 基于mysql数据库实现对用户的增.删.改.查,及分页显示的完整例子. 查询显示用户 添加用户 更新用户 官方验证: 项目截图 必须修改applicationContext.xml中mysql的配置为本地的,否则启动失败. 另外jar包多一个ehcache.jar无关紧要,删除即可. 1. 使用阿里巴巴Druid连接池(高效.功能强大.可扩展性好的数据库连接池.监控数据库访问性能.支持Common-Logging.Log4j和JdkLog,监控数据库

打开MySQL数据库远程访问的权限

在我们使用mysql数据库时,有时我们的程序与数据库不在同一机器上,这时我们需要远程访问数据库.缺省状态下,mysql的用户没有远程访问的权限.下面介绍两种方法,解决这一问题. 1.改表法 可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%&q