教程集 www.jiaochengji.com
教程集 >  数据库  >  mysql  >  正文 mysql中权限参数说明

mysql中权限参数说明

发布时间:2023-04-30   编辑:jiaochengji.com
教程集为您提供mysql中权限参数说明等资源,欢迎您收藏本站,我们将为您提供最新的mysql中权限参数说明资源
权限是mysql中一个非常重要的功能,我们针对不用的用户会设置不同的权限,这样可以保证mysql数据库安全的运行,下面我来分享一些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;

您可能感兴趣的文章:
MySQL数据库设置远程访问权限的方法
ubuntu12.04下mysql用户授权
mysql权限管理教程详解
Mysql数据库中用户授权原则分析
mysql数据库用户与权限管理学习笔记
mysql删除用户授权的方法
mysql新建用户与用户授权详解
mysql新建用户、用户授权、修改密码(实例)
linux下mysql添加用户、删除用户、授权、修改密码
Linux Apache Mysql PHP典型配置

[关闭]
~ ~