MySQL 用户权限分配 Grant 语法详解
原址:http://www.dgpower.net/index.php/home/showonews/162
本文实例,运行于 MySQL 5.0 及以上版本。
MySQL 赋予用户权限命令的简单格式可概括为:
grant 权限 on 数据库对象 to 用户一、grant 普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利。
grant select on testdb.* to common_user@'%'
grant insert on testdb.* to common_user@'%'
grant update on testdb.* to common_user@'%'
grant delete on testdb.* to common_user@'%'或者,用一条 MySQL 命令来替代:
grant select, insert, update, delete on testdb.* to common_user@'%'二、grant 数据库开发人员,创建表、索引、视图、存储过程、函数。。。等权限。
grant 创建、修改、删除 MySQL 数据表结构权限。
grant create on testdb.* to developer@'192.168.0.%';
grant alter on testdb.* to developer@'192.168.0.%';
grant drop on testdb.* to developer@'192.168.0.%';grant 操作 MySQL 外键权限。
grant references on testdb.* to developer@'192.168.0.%';grant 操作 MySQL 临时表权限。
grant create temporary tables on testdb.* to developer@'192.168.0.%';grant 操作 MySQL 索引权限。
grant index on testdb.* to developer@'192.168.0.%';grant 操作 MySQL 视图、查看视图源代码 权限。
grant create view on testdb.* to developer@'192.168.0.%';
grant show view on testdb.* to developer@'192.168.0.%';grant 操作 MySQL 存储过程、函数 权限。
grant create routine on testdb.* to developer@'192.168.0.%'; -- now, can show procedure status
grant alter routine on testdb.* to developer@'192.168.0.%'; -- now, you can drop a procedure
grant execute on testdb.* to developer@'192.168.0.%';三、grant 普通 DBA 管理某个 MySQL 数据库的权限。
grant all privileges on testdb to dba@'localhost'其中,关键字 “privileges” 可以省略。
四、grant 高级 DBA 管理 MySQL 中所有数据库的权限。
grant all on *.* to dba@'localhost'五、MySQL grant 权限,分别可以作用在多个层次上。
1. grant 作用在整个 MySQL 服务器上:
grant select on *.* to dba@localhost; -- dba 可以查询 MySQL 中所有数据库中的表。
grant all on *.* to dba@localhost; -- dba 可以管理 MySQL 中的所有数据库2. grant 作用在单个数据库上:
grant select on testdb.* to dba@localhost; -- dba 可以查询 testdb 中的表。3. grant 作用在单个数据表上:
grant select, insert, update, delete on testdb.orders to dba@localhost;4. grant 作用在表中的列上:
grant select(id, se, rank) on testdb.apache_log to dba@localhost;5. grant 作用在存储过程、函数上:
grant execute on procedure testdb.pr_add to 'dba'@'localhost'
grant execute on function testdb.fn_add to 'dba'@'localhost'六、查看 MySQL 用户权限
查看当前用户(自己)权限:
show grants;查看其他 MySQL 用户权限:
show grants for dba@localhost;七、撤销已经赋予给 MySQL 用户权限的权限。
revoke 跟 grant 的语法差不多,只需要把关键字 “to” 换成 “from” 即可:
grant all on *.* to dba@localhost;
revoke all on *.* from dba@localhost;八、MySQL grant、revoke 用户权限注意事项
1. grant, revoke 用户权限后,该用户只有重新连接 MySQL 数据库,权限才能生效。
2. 如果想让授权的用户,也可以将这些权限 grant 给其他用户,需要选项 “grant option“
grant select on testdb.* to dba@localhost with grant option;这个特性一般用不到。实际中,数据库权限最好由 DBA 来统一管理。
九、应用实例:新建用户并只付给指定数据库操作权限.
//下面为创建lamfire用户,远程登录密码为123456,并分配其对lamfireDB数据库完全操作权限
CREATE USER 'lamfire'@'%' IDENTIFIED BY '123456';
GRANT USAGE ON * . * TO 'lamfire'@'%' IDENTIFIED BY '123456' ;
CREATE DATABASE IF NOT EXISTS lamfireDB ;
GRANT ALL PRIVILEGES ON `lamfireDB` . * TO 'lamfire'@'%';
FLUSH PRIVILEGES;
分享到:
相关推荐
MySQL创建用户与分配权限命令,能满足开发者的基本使用
基于基本权限的权限分配技术。 根据“用户表”、“基本权限表”设计一界面,每个用户进行基本权限的动态管理。
MySQL3.22.11引入了两个更容易进行这项工作的语句:GRANT 语句创建MySQL用户并指定其权限,REVOKE 语句删除权限。这两个语句充当mysql数据库中的授权表的前端,并提供直接操纵这些表内容的可选择的方法。本文将为...
Mysql用户密码设置修改和权限分配.
主要为大家演示下如果通过命令行实现mysql的新建用户、删除用户和权限分配,需要的朋友可以参考下
创建用户并分配权限; 代码如下: insert into mysql.user(Host,User,Password) values(“localhost”,”phplamp”,password(“1234”));//创建用户 grant all privileges on dbname.* to ‘username’@’%’ ...
5.8. MySQL用户账户管理 5.8.1. MySQL用户名和密码 5.8.2. 向MySQL增加新用户账户 5.8.3. 从MySQL删除用户账户 5.8.4. 限制账户资源 5.8.5. 设置账户密码 5.8.6. 使你的密码安全 5.8.7. 使用安全连接 5.9. 备份与...
MySQL 默认有个root用户,但是这个用户权限太大,一般只在管理数据库时候才用。如果在项目中要连接 MySQL 数据库,则建议新建一个权限较小的用户来连接。 在 MySQL 命令行模式下输入如下命令可以为 MySQL 创建一个新...
主要介绍了MySql添加新用户及为用户创建数据库和给用户分配权限方法介绍,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
本项目实现了一个系统权限演示系统),功能如下: 1、可以管理用户; 2、可以管理权限,权限有:查询、修改、删除、增加等;3、可以分配权限 ...4、实现了用户的管理界面、权限管理界面或用户权限分配界面
5.8. MySQL用户账户管理 5.8.1. MySQL用户名和密码 5.8.2. 向MySQL增加新用户账户 5.8.3. 从MySQL删除用户账户 5.8.4. 限制账户资源 5.8.5. 设置账户密码 5.8.6. 使你的密码安全 5.8.7. 使用安全连接 5.9. 备份与...
系统支持基于角色的用户权限分配功能。用户只有被分配的权限才能访问相应的资源。该系统通过账号、密码和登录验证来匹配用户的不同访问权限。使用一套代码实现多个系统的共享,并实现用户信息权限的隔离。如果需要...
5.8. MySQL用户账户管理 5.8.1. MySQL用户名和密码 5.8.2. 向MySQL增加新用户账户 5.8.3. 从MySQL删除用户账户 5.8.4. 限制账户资源 5.8.5. 设置账户密码 5.8.6. 使你的密码安全 5.8.7. 使用安全连接 5.9. 备份与...
MySQL用户账户管理 5.8.1. MySQL用户名和密码 5.8.2. 向MySQL增加新用户账户 5.8.3. 从MySQL删除用户账户 5.8.4. 限制账户资源 5.8.5. 设置账户密码 5.8.6. 使你的密码安全 5.8.7. 使用安全...
5.8. MySQL用户账户管理 5.8.1. MySQL用户名和密码 5.8.2. 向MySQL增加新用户账户 5.8.3. 从MySQL删除用户账户 5.8.4. 限制账户资源 5.8.5. 设置账户密码 5.8.6. 使你的密码安全 5.8.7. 使用安全连接 5.9. 备份与...
SpringMVC+mysql大型项目源码,目前客户在使用的,适合初学者及开发者,有系统管理用户权限分配、机械管理、分页、视图、IReport等,使用了extjs
5.8. MySQL用户账户管理 5.8.1. MySQL用户名和密码 5.8.2. 向MySQL增加新用户账户 5.8.3. 从MySQL删除用户账户 5.8.4. 限制账户资源 5.8.5. 设置账户密码 5.8.6. 使你的密码安全 5.8.7. 使用安全连接 5.9. ...
MySQL是一个多用户管理的数据库,可以为不同用户分配不同的权限,分为root用户和普通用户,root用户为超级管理员,拥有所有权限,而普通用户拥有指定的权限。 MySQL是通过权限表来控制用户对数据库访问的,权限表...