Mysql用户授权管理

Mysql 涉及用户权限的语句有GRANT,REVOKE

通过Mysql自带的help文档可以查看相应的语法:

GRANT

GRANT priv_type,...... ON [obj_type] priv_level TO user_specification [WITH with_option ...]

priv_type对应的有:
ALL | ALTER | ALTER ROUTINE | CREATE | CREATE ROUTINE | CREATE TEMPORARY TABLES | CREATE USER | CREATE VIEW | DELETE | DROP | EXECUTE | FILE | INDEX |  INSERT | LOCK TABLES | PROCESS | REFERENCES | RELOAD | REPLICATION CLIENT | REPLICATION SLAVE | SELECT | SHOW DATABASES | SHOW VIEW | SHUTDOWN | SUPER | UPDATE | USAGE


权限


意义


ALL [PRIVILEGES]


设置除GRANT OPTION之外的所有简单权限


ALTER


允许使用ALTER TABLE


ALTER ROUTINE


更改或取消已存储的子程序


CREATE


允许使用CREATE TABLE


CREATE ROUTINE


创建已存储的子程序


CREATE TEMPORARY TABLES


允许使用CREATE TEMPORARY TABLE


CREATE USER


允许使用CREATE USER, DROP USER, RENAME USER和REVOKE ALL PRIVILEGES。


CREATE VIEW


允许使用CREATE VIEW


DELETE


允许使用DELETE


DROP


允许使用DROP TABLE


EXECUTE


允许用户运行已存储的子程序


FILE


允许使用SELECT...INTO OUTFILE和LOAD DATA INFILE


INDEX


允许使用CREATE INDEX和DROP INDEX


INSERT


允许使用INSERT


LOCK TABLES


允许对您拥有SELECT权限的表使用LOCK TABLES


PROCESS


允许使用SHOW FULL PROCESSLIST


REFERENCES


未被实施


RELOAD


允许使用FLUSH


REPLICATION CLIENT


允许用户询问从属服务器或主服务器的地址


REPLICATION SLAVE


用于复制型从属服务器(从主服务器中读取二进制日志事件)


SELECT


允许使用SELECT


SHOW DATABASES


SHOW DATABASES显示所有数据库


SHOW VIEW


允许使用SHOW CREATE VIEW


SHUTDOWN


允许使用mysqladmin shutdown


SUPER


允许使用CHANGE MASTER, KILL, PURGE MASTER LOGS和SET GLOBAL语句,mysqladmin debug命令;允许您连接(一次),即使已达到max_connections。


UPDATE


允许使用UPDATE


USAGE


“无权限”的同义词


GRANT OPTION

object_type对应的有:
    TABLE  | FUNCTION | PROCEDURE

priv_level对应的有:
    * | *.* | db_name.* | db_name.tbl_name | tbl_name | db_name.routine_name

user_specification对应内容为:
    [ IDENTIFIED BY [PASSWORD] ‘password‘ | IDENTIFIED WITH auth_plugin [AS ‘auth_string‘] ]

ssl_option对应的有:
    SSL | X509 | CIPHER ‘cipher‘ | ISSUER ‘issuer‘ | SUBJECT ‘subject‘

with_option对应内容为:
    GRANT OPTION  | MAX_QUERIES_PER_HOUR count | MAX_UPDATES_PER_HOUR count  | MAX_CONNECTIONS_PER_HOUR count | MAX_USER_CONNECTIONS count

举例:

mysql> create database testdb;
mysql> grant all privileges on testdb.* to [email protected]‘localhost‘  identified by ‘testdb‘;

mysql> create user [email protected]‘localhost‘ identified by ‘testdb‘;

通过上述方式,用户被创建在mysql.user表中。

mysql> select host,user,authentication_string from mysql.user where user=‘test‘;

对于当前用户授权情况可以通过以下语句查询

mysql> show grants;
mysql> show grants for [email protected]‘localhost‘;
mysql> show grants for current_user;
mysql> show grants for current_user();

REVOKE

REOVKE priv_type,...... ON [obj_type] priv_level FROM user_specification

举例:

mysql> revoke all on testdb.* from [email protected]‘127.0.0.1’

删除user表中定义的用户

mysql> drop user ‘dbd‘@‘127.0.0.1‘;
时间: 2024-10-15 18:14:30

Mysql用户授权管理的相关文章

Mysql用户&权限管理

1.创建用户(相关表mysql.user) localhost root 本机 127.0.0.1  root 本机 ::1 root 本机 % cheng 远程用户(任意ip) 192.168.1.55 jake 远程用户(指定ip) 1).创建本地用户(只能在本机登陆本机数据库) create user 'cheng'@'localhost' identified by '123456';指定密码"123456". insert into mysql.user(Host,User,

MySQL用户授权 和 bin-log日志 详解和实战(http://www.cnblogs.com/it-cen/p/5234345.html)

看 了上一篇博文的发布时间,到目前已经有三个月没更新博文了.这三个月经历了很多事情,包括工作.生活和感情等等.由于个人发展的原因,这个月准备换工作 啦.在这段时间,我会把Web大型项目中所接触到的技术都总结出来,分享给各位支持我的博友.博客园是个好地方,在这里能学到很多东西,同时你也可以收获 很多东西,就比如我本人,去年被两个比较大型的在线培训机构邀请当讲师(只接受了一家,当然由于太忙所以课程录制也不是特别多),另有一企业聘请我写一本 技术相关的书籍(我拒了,没时间写)等等,这些都是我在博客园里

从一次修改MySQL用户授权IP, 看其用户管理

近期把数据库用户的授权IP由IP段, 调整为具体IP了, 用意是排查问题时, 可以定位到具体应用服务器, 或针对性的做某些设置. 本以为一个UPDATE就可搞定, 测试后却发现被修改的用户只剩下USAGE权限了, 演示如下: mysql> SELECT user, host, password FROM mysql.userWHERE user = 'zzzz_acc'\G *************************** 1. row***************************

MySQL数据库用户授权管理

一.用户授权 1.注意事项: -  MySQL数据库服务器搭建好之后,放在独立的房间里或者是IDC机房,MySQL数据库服务默认只允许数据库管理员root在本地登录,要在其他客户端登录管理数据库则需要授权才可以. -  程序员(网站运行数据)编程使用数据库都是在客户端,需要授权. -  默认只有数据库管理员在数据库服务器本机登录才有授权权限 2.授权库mysql,主要的几个表: - user表:记录用户的信息 host:客户端 user:授权用户名password:授权用户密码  *_priv:

mysql用户权限管理

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

MYSQL用户权限管理学习笔记

MYSQL 用户管理 1.权限表 MYSQL是一个多用户的数据库,MYSQL的用户可以分为两大类: (1)       超级管理员用户(root),拥有全部权限 (2)       普通用户,由root创建,普通用户只拥有root所分配的权限 1.1 权限表的位置 数据库:mysql 与权限相关的数据表:user,db,host,tables_priv,columns_priv,procs_priv等 1.2 user表 User表存储了: (1)用户的信息:hots(用户所在的主机),user

数据库的显示、创建、使用 、用户授权管理及忘记root用户后重置密码

1.显示数据库 show databases; 默认的数据库及大致功能: mysql -- 用户权限 相关数据 test --用于用户测试数据 information_schema -MySQL 本身江头相关的数据 2.创建数据库 create database 数据库名称 default charset utf8 collate utf8_general_ci ; 3.使用数据库 use db_name; 4.用户管理 1 -- 创建用户 2 create user '用户名@''ip地址'

mysql用户授权问题

MYSQL权限系统 一.Mysql权限控制包含两个阶段 检查用户是否能够连接 检查用户是否具有所执行动作的权限Mysql 授予权限可分为以下几个层级 全局层级 数据库层级 表层级 列层级 子程序层级* 二.创建用户及授权2.1创建一个用户及密码CREATE USER '' @'localhost' IDENTIFIED BY 'password';如CREATE USER 'jinyang' @'localhost' IDENTIFIED BY '123456';2.2 grant授权GRANT

Mysql用户授权

/***** 查看用户 *****/ mysql> select User,Host from mysql.user; +------+-----------+ | User | Host      | +------+-----------+ | root | 127.0.0.1 | | root | ::1       | | root | localhost | +------+-----------+ 3 rows in set (0.01 sec) /***** 授权用户 *****/