`

[转]MySQL 用户权限分配

阅读更多

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创建用户分配权限命令

    MySQL创建用户与分配权限命令,能满足开发者的基本使用

    JAVA MYSQL 权限分配技术

    基于基本权限的权限分配技术。 根据“用户表”、“基本权限表”设计一界面,每个用户进行基本权限的动态管理。

    MySQL数据库的用户账号管理基础知识

    MySQL3.22.11引入了两个更容易进行这项工作的语句:GRANT 语句创建MySQL用户并指定其权限,REVOKE 语句删除权限。这两个语句充当mysql数据库中的授权表的前端,并提供直接操纵这些表内容的可选择的方法。本文将为...

    Mysql用户密码

    Mysql用户密码设置修改和权限分配.

    mysql 新增、删除用户和权限分配

    主要为大家演示下如果通过命令行实现mysql的新建用户、删除用户和权限分配,需要的朋友可以参考下

    mysql数据库添加用户及分配权限具体实现

    创建用户并分配权限; 代码如下: insert into mysql.user(Host,User,Password) values(“localhost”,”phplamp”,password(“1234”));//创建用户 grant all privileges on dbname.* to ‘username’@’%’ ...

    MySql 5.1 参考手册.chm

    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中基本的用户和权限管理方法小结

    MySQL 默认有个root用户,但是这个用户权限太大,一般只在管理数据库时候才用。如果在项目中要连接 MySQL 数据库,则建议新建一个权限较小的用户来连接。 在 MySQL 命令行模式下输入如下命令可以为 MySQL 创建一个新...

    MySql添加新用户及为用户创建数据库和给用户分配权限方法介绍

    主要介绍了MySql添加新用户及为用户创建数据库和给用户分配权限方法介绍,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    基于JavaWeb、mysql的数据库权限系统

    本项目实现了一个系统权限演示系统),功能如下: 1、可以管理用户; 2、可以管理权限,权限有:查询、修改、删除、增加等;3、可以分配权限 ...4、实现了用户的管理界面、权限管理界面或用户权限分配界面

    MySQL 5.1中文手冊

    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. 备份与...

    通用权限管理系统前端页面+html5+css3+javascript+vue+elementui

    系统支持基于角色的用户权限分配功能。用户只有被分配的权限才能访问相应的资源。该系统通过账号、密码和登录验证来匹配用户的不同访问权限。使用一套代码实现多个系统的共享,并实现用户信息权限的隔离。如果需要...

    MySQL 5.1官方简体中文参考手册

    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. 备份与...

    mysql5.1中文手册

    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. 使用安全...

    MySQL 5.1参考手册

    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源代码

    SpringMVC+mysql大型项目源码,目前客户在使用的,适合初学者及开发者,有系统管理用户权限分配、机械管理、分页、视图、IReport等,使用了extjs

    MySQL 5.1参考手册中文版

    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中mysql.user用户表详解

    MySQL是一个多用户管理的数据库,可以为不同用户分配不同的权限,分为root用户和普通用户,root用户为超级管理员,拥有所有权限,而普通用户拥有指定的权限。 MySQL是通过权限表来控制用户对数据库访问的,权限表...

Global site tag (gtag.js) - Google Analytics