mysql的权限级别

mysql有5个级别的权限,分别是:

Clobal Level,Database Level,Table level,Column Level,Routine Level。

1,Clobal Level:它是针对整个mysql数据库服务器的全局权限。对mysql里的某个数据库,或某个数据库的某张表的权限。所有的权限信息都存在mysql.user这张表中。

全局权限的设置语句:

GRANT ALL ON *.* to 'root'@'localhost'

第一个*代表数据库名,这里是所有的数据库,第二个*代表表名。

全局权限有ALTER ALTER ROUTINE  CREATE ALL CREATE ROUTINE CREATE TEMPORARY TABLES CREATE USER CREATE VIEW DELETE All DROP All EXECUTE FILE All INTO FILE INDEX All INSERT All LOCK TABLES PROCESS All RELOAD All REPLICATION CLIENT SLAVE STATUS REPLICATION SLAVE SELECT
SHOW DATABASES     SHOW VIEW view SHUTDOWN SUPER UPDATE USAGE

2,Database Level: 数据库级别的权限,通过databasename.* 设置权限。设置语句如下:

GRANT ALL ON databasename.* to 'root'@'localhost'

它会被global level的权限给覆盖掉,如有两条如下的权限设置语句:

GRANT SELECT on test.* to 'root'@'localhost';
REVOKE SELECT ON *.* FROM 'root'@'localhost';

‘root‘@‘localhost‘将不再对test拥有select权限。

数据库权限有: CREATE USER,FILE,PROCESS,RELOAD,REPLICATION CLIENT,REPLICATION SLAVE,SHOW DATABASES,SHUTDOWN,SUPER USAGE

3,Table Level:表级别的权限能被全局权限和数据库级别权限覆盖

GRANT SELECT ON test.test to 'root'@'localhost';
SHOW GRANTS FOR 'root'@'localhost';

可以通过use选中某个数据库,直接对table名设置权限

GRANT SELECT ON test to 'root'@'localhost';	

表的权限有:ALTER,CREATE,DELETE,DROP,INDEX,INSERT,SELECT UPDATE

4,Column Level:表的某个列的权限。它会被前面三个权限给覆盖掉

GRANT SELECT(id) ON test to 'root'@'localhost';

字段级别的权限有INSERT,SELECT ,UPDATE

5,Routine Level:是针对函数和存储过程的权限,他会被1,2,3个权限给覆盖掉。

GRANT EXECUTE ON test.p to'root'@'localhost';
时间: 2024-08-28 19:51:36

mysql的权限级别的相关文章

MySQL之权限管理

MySQL权限简介 权限简单的理解就是mysql允许权力以内的事情,不可越界.比如只允许执行select操作,那么就不能执行update操作.只允许从某台机器上连接mysql,那么就不能从除那台机器以外的其他机器连接mysql. 那么Mysql的权限是如何实现的呢?这就要说到mysql的两阶段验证,下面详细介绍: 第一阶段:服务器首先会检查是否允许连接.因为创建用户的时候会加上主机限制,可以限制成本地.某个IP.某个IP段.以及任何地方等,只允许从配置的指定地方登陆. 第二阶段:如果能连接,My

[MySQL]MySQL之权限管理

一.MySQL权限简介 关于mysql的权限简单的理解就是mysql允许你做你全力以内的事情,不可以越界.比如只允许你执行select操作,那么你就不能执行update操作.只允许你从某台机器上连接mysql,那么你就不能从除那台机器以外的其他机器连接mysql. 那么Mysql的权限是如何实现的呢?这就要说到mysql的两阶段验证,下面详细介绍:第一阶段:服务器首先会检查你是否允许连接.因为创建用户的时候会加上主机限制,可以限制成本地.某个IP.某个IP段.以及任何地方等,只允许你从配置的指定

MySQL中权限管理

权限管理 MySQL权限系统通过下面两个阶段进行认证: 对连接的用户进行身份认证,合法的用户通过认证,不合法的用户拒绝连接. 对通过认证的合法用户授予相应的权限,用户可以通过再这些权限范围内对数据库做相应的操作. 在权限存取过程中,主要涉及到mysql数据库下user表和db表.user表的数据结构如下: db表数据结构如下: 表的说明:其中包含用户列.权限列.安全列和资源控制列.用的最频繁的是用户列和权限列,权限分为普通权限和管理权限.普通权限用户数据库的操作如select_priv.inse

mysql访问权限GRANT ALL PRIVILEGES ON,访问权限表

开启远程连接:2, 修改 Mysql-Server 用户配置mysql> USE mysql; -- 切换到 mysql DBDatabase changedmysql> SELECT User, Password, Host FROM user; -- 查看现有用户,密码及允许连接的主机+------+----------+-----------+| User | Password | Host      |+------+----------+-----------+| root |   

mysql的权限管理

mysql的权限管理1.授权的基本原则   只授予满足要求的最小权限,但要注意使用户能够授权给别的用户(with grant option)   对用户设置登录的主机限制   删除没有密码的用户   满足密码的复杂度,设置较为复杂的密码   定期检查用户的权限,适当收回不需要的权限   2.给用户授权  mysql> grant all on *.* to 'root'@'10.0.5.150' identified by 'aixocm';  mysql> flush privileges;

mysql用户权限

mysql> show grants for [email protected]'localhost';+----------------------------------------------------------------------------------------------------------------------------------------+| Grants for [email protected] |+---------------------------

MySQL远程访问权限

1.登陆mysql数据库     mysql -u root -p#查看数据库mysql> show databases;+--------------------+| Database       |+--------------------+| information_schema || mysql         |+--------------------+2 rows in set (0.00 sec)#查看user表 mysql> use mysql;Database change

查询修改mysql事务隔离级别

1.查看当前会话隔离级别 select @@tx_isolation; 2.查看系统当前隔离级别 select @@global.tx_isolation; 3.设置当前会话隔离级别 set tx_isolation='read-committed'; 4.设置系统当前隔离级别 set global transaction isolation level read committed; 关于隔离级别的理解: 1.read uncommitted 可以看到未提交的数据(脏读),举个例子:别人说的话

mysql用户权限管理

mysql数据在实际生产环境中大量被使用,那平时在做好服务器上防火墙策略以外平时,对mysql下的用户权限也要严格管理,mysql的用户权限都是放在mysql.user这张表里,平时的用户权限管理都是隐式使用着这张表的,先说下权限: 权限 意义 select 查询 insert 插入 update 更新 delete 删除记录,一般用于清空表或者某一条记录 create 创建 drop 删除,从表空间里删除 grant 授予,一般用于给用户授权 references 引用 index 索引 al