mysql中权限参数说明

1 授权表范围列的大小写敏感性
+--------------+-----+-----+---------+----+-----------+------------+
| 列           |Host |User |Password |Db  |Table_name |Column_name |
| 大小写敏感性 |No   |Yes  |Yes      |Yes |Yes        |No          |
+--------------+-----+-----+---------+----+-----------+------------+

2 授权表权限列
  授权表还包含权限列,他们指出在范围列中指定的用户拥有何种权限。
+------------+-----------------+----------------------+
| 权限       | 列              | 作用域               |
+------------+-----------------+----------------------+
| select     | Select_priv     | 表                   |
| insert     | Insert_priv     | 表                   |
| update     | Update_priv     | 表                   |
| delete     | Delete_priv     | 表                   |
| index      | Index_priv      | 表                   |
| alter      | Alter_priv      | 表                   |
| create     | Create_priv     | 数据库、表或索引     |
| drop       | Drop_priv       | 数据库或表           |
| grant      | Grant_priv      | 数据库或表           |
| references | References_priv | 数据库或表           |
| reload     | Reload_priv     | 服务器管理           |
| shutdown   | Shutdown_priv   | 服务器管理           |
| process    | Process_priv    | 服务器管理           |
| file       | File_priv       | 在服务器上的文件存取 |
+------------+-----------------+----------------------+

3.数据库和表权限
下列权限运用于数据库和表上的操作。

ALTER
  允许使用ALTER TABLE语句
CREATE
  允许创建数据库和表,但不允许创建索引。
DELETE
  允许从表中删除现有记录。
DROP
  允许删除(抛弃)数据库和表,但不允许删除索引。
INDEX
  允许创建并删除索引。
REFERENCES
  目前不用。
SELECT
  允许使用SELECT语句从表中检索数据。对不涉及表的SELECT语句就不必要,如SELECT NOW()或SELECT 4/2。
UPDATE
  允许修改表中的已有的记录。

管理权限
下列权限运用于控制服务器或用户授权能力的操作的管理性操作。

FILE
  允许读写服务器主机上的文件。该权限不应该随便授予,它很危险。
  虽然已经授予读写权限,但所写的文件必须不是现存的文件,
  这防止你迫使服务器重写重要文件,如/etc/passwd或属于别人的数据库的数据目录。
  如果授权FILE权限,确保UNIX不以root用户运行服务器,因为root可在文件系统的任何地方创建新文件。
  如果你以一个非特权用户运行服务器,服务器只能该给用户能访问的目录中创建文件。

GRANT
  允许将自己的权限授予别人,包括GRANT。
PROCESS www.111cn.net
  允许通过使用SHOW PROCESS语句或mysqladmin process命令查看服务器内正在运行的线程(进程)的信息。
  这个权限也允许你用KILL语句或mysqladmin kill命令杀死线程。
  你同样可以看到或杀死你自己的线程。
  PROCESS权限赋予了你对任何线程做这些事情的权力。

RELOAD
 允许执行大量的服务器管理操作。
 你可以发出FLUSH语句,
 你也能执行mysqladmin的reload、refresh、flush-hosts、flush-logs、flush-privileges和flush-tables等命令。

SHUTDOWN
 允许用mysqladmin shutdown关闭服务器。

用户权限

实例:

例如:

指定用户访问,设置访问密码,指定访问主机。

① 设置访问单个数据库权限

01.mysql>grant all privileges on test.* to 'root'@'%';(说明:设置用户名为root,密码为空,可访问数据库test)

②设置访问全部数据库权限

01.mysql>grant all privileges on *.* to 'root'@'%';(说明:设置用户名为root,密码为空,可访问所有数据库*)

③设置指定用户名访问权限

01.mysql>grant all privileges on *.* to 'lanping'@'%';(说明:设置指定用户名为 lanping ,密码为空,可访问所有数据库*)

④设置密码访问权限

01.mysql>grant all privileges on *.* to 'lanping'@'%' IDENTIFIED BY ' lanping';(说明:设置指定用户名为 lanping ,密码为 lanping ,可访问所有数据库*)

⑤设置指定可访问主机权限

01.mysql>grant all privileges on *.* to ' lanping '@'10.2.1.11';说明:设置指定用户名为 lanping ,可访问所有数据库*,只有127.0.0.1这台机器有权限访问
 

REVOKE

REVOKE和作用和GRANT相反,语法格式为:

REVOKE privileges ON 数据库名[.表名] FROM user_name

例如:

创建用户Bob,密码为“bob”,但不给他任何权限:

GRANT usage on * to Bob identified by ’bob’;
 
授予Bob在books数据库中的查询和插入权限:

GRANT select, insert on books.* to  Bob;

取消Bob在books数据库中的所有权限:

REVOKE all on books.* from Bob;

注:需要指出的是,REVOKE all...仅仅是回收用户的权限,并不删除用户。在MySQL中,用户信息存放在mysql.User中。MySQL可以通过DROP USER来彻底删除一个用户,其用法为:

DROP USER user_name; 

例如,要删除用户Bob,可以用:

DROP USER Bob;

时间: 2024-08-02 04:47:07

mysql中权限参数说明的相关文章

MySQL中基本的用户和权限管理方法小结_Mysql

MySQL 默认有个root用户,但是这个用户权限太大,一般只在管理数据库时候才用.如果在项目中要连接 MySQL 数据库,则建议新建一个权限较小的用户来连接. 在 MySQL 命令行模式下输入如下命令可以为 MySQL 创建一个新用户: CREATE USER username IDENTIFIED BY 'password'; 新用户创建完成,但是此刻如果以此用户登陆的话,会报错,因为我们还没有为这个用户分配相应权限,分配权限的命令如下: GRANT ALL PRIVILEGES ON *.

详解MySQL中的存取权限_Mysql

看到很多网友提出关于MySQL登录不上服务器的问题,包括有的是在PHP中调用MySQL时发生的不能登录MySQL数据库服务器的问题,以为是PHP出了问题.其实是MySQL权限的问题. MySQL的权限系统在MySQL的手册中是很长的一章,我把它打印出来足足印了20多页!这里就将我对它的理解简要地写出来,希望能对刚刚接触MySQL的同志有点帮助:有说得不对的地方,也请同志们指出. 在我了解了MySQL的权限机制后,不由得不赞叹它的严密与巧妙:也许所有的数据库系统都是如此罢,只是别的大型数据库把权限

MySQL中如何得到权限信息

    最近在做一次MySQL数据迁移的时候,突然发现自己遗漏了一个地方,那就是权限信息没有导出,如果我们使用mysqldump --all-databases的时候没有添加--flush-privileges的时候,导出的数据中是不会包含mysql数据库的.    而我其实是比较懒的,不想因为这个重新导出一次,那么我就有几种方式选择.    如果在MySQL 5.5,5.6的版本中,我可以直接导出mysql.user的数据即可.    如果使用脚本化完成,基本是这样的形式即可,本意其实就是sh

MySQL中关于JDBC URL几个重要参数说明

本文将介绍MySQL中关于JDBC URL几个重要参数,这里还将介绍一些具体实例,希望大家通过本文能得 到一些帮助. MySQL JDBC Driver 常用的有两个,一个是gjt(Giant Java Tree)组织提供的mysql驱动,其JDBC Driver名称(JAVA类 名)为:org.gjt.mm.mysql.Driver 详情请参见网站:http://www.gjt.org/ 或在本网站下载mysql JDBC Driver(mm.jar) 另一个是MySQL官方提供的JDBC D

MySQL用户权限(Host,User,Password)管理(mysql.user)

1:新增用户: 注:mysql数据库下user表中,Host和User为两个主键列(primary key),已经各版本下非空未设置默认字段. 登录后,切换db: mysql> use mysql; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed 新增用

MySQL中的SQL特征

  为了与MySQL服务器进行通信,必须熟练掌握SQL.例如,在使用诸如mysql客户机这样的程序时,其功能首先是作为一种发送SQL 语句给服务器执行的工具.而且,如果编写使用编程语言所提供的MySQL接口的程序时,也必须熟悉SQL 语言,因为需要发送SQL 语句与服务器沟通.    第1章"MySQL与SQL介绍"的教程介绍了许多MySQL功能.本章在该教程的基础上进一步对MySQL的SQL的几个方面进行研究.它讨论了怎样引用数据库的要素,包括命名规则以及区分大小写约束的适用性.它还

如何实现MySQL中的用户管理

mysql|用户管理 MySQL有一套先进的但非标准的安全/授权系统,掌握其授权机制是开始操作MySQL数据库必须要走的第一步,对于一个熟悉SQL基本操作的人来说,也是MySQL所有的知识中比较难以理解的一个部分.本文通过揭开其授权系统的运作机制,希望大家能够可以更好地操作和使用这个优秀的数据库系统. 本文主要参考了MySQL安装所附的使用手册第六章中的部分内容. 1.授权机制的主要作用是什么? 授权机制的基本作用是给某个主机上的用户对某个数据库以select,insert,update和det

MySQL中修改密码及访问限制设置详解

mysql|访问|详解 MySQL是一个真正的多用户.多线程SQL数据库服务器.MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成.由于其源码的开放性及稳定性,且与网站流行编徎语言PHP的完美结合,现在很多站点都利用其当作后端数据库,使其获得了广泛应用.处于安全方面的考虑,需要为每一用户赋于对不同数据库的访问限制,以满足不同用户的要求.下面就分别讨论,供大家参考. 一.MySQL修改密码方法总结首先要说明一点的是:一般情况下,修改MySQL

MySQL中文参考手册7(MySQL 存取权限系统) grant 设置密码 password

mysql|word|参考|参考手册|中文 MySQL中文参考手册7(MySQL 存取权限系统)转载 译者:晏子 [返回][转发] 译者:晏子 (clyan@sohu.com)主页:http://linuxdb.yeah.net6 MySQL 存取权限系统MySQL有一个先进但非标准的安全/权限系统.本节描述它的工作原理.  6.1 权限系统做什么MySQL权限系统的主要功能是证实连接到一台给定主机的一个用户,并且赋予该用户在一个数据库上select. insert.update和delete的