mysql中权限参数说明

小明SEO博客 小明SEO博客,新时代SEO博客

权限是mysql中一个非常重要的功能,我们针对不用的用户会设置不同的权限,这样可以保证mysql数据库安全的运行,下面我来分享一些mysql权限参考介绍.

1 授权表范围列的大小写敏感性,如下:

  1. +--------------+-----+-----+---------+----+-----------+------------+
  2. |列|Host|User|Password|Db|Table_name|Column_name|
  3. |大小写敏感性|No|Yes|Yes|Yes|Yes|No|
  4. +--------------+-----+-----+---------+----+-----------+------------+

2 授权表权限列,授权表还包含权限列,他们指出在范围列中指定的用户拥有何种权限.

  1. +------------+-----------------+----------------------+
  2. |权限|列|作用域|
  3. +------------+-----------------+----------------------+
  4. |select|Select_priv|表|
  5. |insert|Insert_priv|表|
  6. |update|Update_priv|表|
  7. |delete|Delete_priv|表|
  8. |index|Index_priv|表|
  9. |alter|Alter_priv|表|
  10. |create|Create_priv|数据库、表或索引|
  11. |drop|Drop_priv|数据库或表|
  12. |grant|Grant_priv|数据库或表|
  13. |references|References_priv|数据库或表|
  14. |reload|Reload_priv|服务器管理|
  15. |shutdown|Shutdown_priv|服务器管理|
  16. |process|Process_priv|服务器管理|
  17. |file|File_priv|在服务器上的文件存取|
  18. +------------+-----------------+----------------------+

3.数据库和表权限.

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

  1. ALTER
  2. //允许使用ALTERTABLE语句
  3. CREATE
  4. //允许创建数据库和表,但不允许创建索引。
  5. DELETE
  6. //允许从表中删除现有记录。
  7. DROP
  8. //允许删除(抛弃)数据库和表,但不允许删除索引。
  9. INDEX
  10. //允许创建并删除索引。
  11. REFERENCES
  12. //目前不用。
  13. SELECT
  14. //允许使用SELECT语句从表中检索数据。对不涉及表的SELECT语句就不必要,如SELECTNOW()或SELECT4/2 //phpfensi.com
  15. UPDATE
  16. //允许修改表中的已有的记录。

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

FILE:允许读写服务器主机上的文件,该权限不应该随便授予,它很危险,虽然已经授予读写权限,但所写的文件必须不是现存的文件,这防止你迫使服务器重写重要文件,如/etc/passwd或属于别人的数据库的数据目录.

如果授权FILE权限,确保UNIX不以root用户运行服务器,因为root可在文件系统的任何地方创建新文件,如果你以一个非特权用户运行服务器,服务器只能该给用户能访问的目录中创建文件.

GRANT:允许将自己的权限授予别人,包括GRANT.

PROCESS:允许通过使用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中权限参数说明 mysql中权限参数说明 mysql中权限参数说明
相关阅读

mysql中权限参数说明

2019/10/10 17:37:13 | 谷歌SEO算法 | 微服务