mysql 权限控制笔记

摘要:
MySQL存取控制包含2个阶段:阶段1:服务器检查是否允许你连接。参考:5.8.MySQL用户账户管理1.权限查看mysql˃showgrantsfor'root'@'localhost';+---------------------------------------------------------------------+|Grantsforroot@localhost|+---------------------------------------------------------------------+|GRANTALLPRIVILEGESON*.*TO'root'@'localhost'WITHGRANTOPTION|+---------------------------------------------------------------------+1rowinset2.权限设置5.8.2.向MySQL增加新用户账户mysql˃GRANTALLPRIVILEGESON*.*TO'monty'@'localhost'-˃IDENTIFIEDBY'some_pass';mysql˃GRANTALLPRIVILEGESON*.*TO'monty'@'%'-˃IDENTIFIEDBY'some_pass'WITHGRANTOPTION;其中两个账户有相同的用户名monty和密码some_pass。mysql˃GRANTRELOAD,PROCESSON*.*TO'admin'@'localhost';该账户只用于从本机连接。授予了RELOAD和PROCESS管理权限。这些权限允许admin用户执行mysqladminreload、mysqladminrefresh和mysqladminflush-xxx命令,以及mysqladminprocesslist。未授予访问数据库的权限。mysql˃GRANTUSAGEON*.*TO'dummy'@'localhost';一个账户有用户名dummy,没有密码。要想不用GRANT设置custom账户,使用INSERT语句直接修改授权表:5.8.3.从MySQL删除用户账户DROPUSERuser;

MySQL存取控制包含2个阶段:

  • 阶段1:服务器检查是否允许你连接。
  • 阶段2:假定你能连接,服务器检查你发出的每个请求。看你是否有足够的权限实施它。例如,如果你从数据库表中选择(select)行或从数据库删除表,服务器确定你对表有SELECT权限或对数据库有DROP权限。
参考 : 5.8. MySQL用户账户管理
1.权限查看
mysql>showgrantsfor'root'@'localhost';
+---------------------------------------------------------------------+|Grantsforroot@localhost|+---------------------------------------------------------------------+|GRANTALLPRIVILEGESON*.*TO'root'@'localhost'WITHGRANTOPTION|+---------------------------------------------------------------------+1rowinset(0.06sec)

2.权限设置
5.8.2. 向MySQL增加新用户账户
mysql>GRANTALLPRIVILEGESON*.*TO'monty'@'localhost'->IDENTIFIEDBY'some_pass';

mysql
>GRANTALLPRIVILEGESON*.*TO'monty'@'%'->IDENTIFIEDBY'some_pass'WITHGRANTOPTION;
其中两个账户有相同的用户名monty和密码some_pass。两个账户均为超级用户账户,具有完全的权限可以做任何事情。一个账户('monty'@'localhost')只用于从本机连接时。另一个账户('monty'@'%')可用于从其它主机连接。
mysql>GRANTRELOAD,PROCESSON*.*TO'admin'@'localhost';
该账户只用于从本机连接。授予了RELOADPROCESS管理权限。这些权限允许admin用户执行mysqladmin reloadmysqladmin refreshmysqladmin flush-xxx命令,以及mysqladmin processlist。未授予访问数据库的权限。你可以通过GRANT语句添加此类权限。

mysql
>GRANTUSAGEON*.*TO'dummy'@'localhost';
一个账户有用户名dummy,没有密码。该账户只用于从本机连接。未授予权限。通过GRANT语句中的USAGE权限,你可以创建账户而不授予任何权限。它可以将所有全局权限设为'N'。假定你将在以后将具体权限授予该账户。

下面的例子创建3个账户,允许它们访问专用数据库。每个账户的用户名为custom,密码为obscure

mysql
>GRANTSELECT,INSERT,UPDATE,DELETE,CREATE,DROP->ONbankaccount.*->TO'custom'@'localhost'->IDENTIFIEDBY'obscure';
mysql
>GRANTSELECT,INSERT,UPDATE,DELETE,CREATE,DROP->ONexpenses.*->TO'custom'@'whitehouse.gov'->IDENTIFIEDBY'obscure';
mysql
>GRANTSELECT,INSERT,UPDATE,DELETE,CREATE,DROP->ONcustomer.*->TO'custom'@'server.domain'->IDENTIFIEDBY'obscure';

这3个账户可以用于:
·第1个账户可以访问bankaccount数据库,但只能从本机访问。
·第2个账户可以访问expenses数据库,但只能从主机whitehouse.gov访问。
·第3个账户可以访问customer数据库,但只能从主机server.domain访问。
要想不用GRANT设置custom账户,使用INSERT语句直接修改授权表:

5.8.3.从MySQL删除用户账户

DROP USER user;

免责声明:文章转载自《mysql 权限控制笔记》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇easy ui datagrid 获取选中行的数据如何设置报表参数的日期区间?下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

如何在Ubuntu 18.04上安装和使用PostgreSQL

  如何在Ubuntu 18.04上安装和使用PostgreSQL 关系数据库管理系统是许多网站和应用程序的关键组成部分。它们提供了一种结构化的方式来存储,组织和访问信息。 PostgreSQL或Postgres是一个关系数据库管理系统,提供SQL查询语言的实现。它是许多小型和大型项目的流行选择,并且具有符合标准并具有许多高级功能(如可靠事务和并发读取锁...

win10安装mysql5.7.29教程以及错误处理

重新配了一台电脑,装了win10系统,安装mysql是出现了一些问题以及解决的方法。记录于此,避免下次安装遇到重复问题。 首先下载mysql5.7.29安装包,本次使用的是zip。已保存在百度网盘 链接:https://pan.baidu.com/s/1y8aahxloQEJTGXqmd95xsg 提取码:e3c6 也可以自己去官网下载: 下载地址:  h...

Sybase配置中文语言支持及字符集

在windows平台上,Sybase ASE15.0.7安装完成后默认语言是:英语(us_english),默认字符集为:cp850。cp850是一个西欧字符集,虽然也能使用cp850字符集保存汉字,但是不推荐在生产环境中使用该字符集。 如果生产系统中Sybase ASE数据库仅考虑支持简体中文的话,则可以使用cp936或者utf8这两种字符集。如果需要国...

(转)AppiumLibrary基本操作

*** Settings ***Library AppiumLibraryLibrary CollectionsLibrary StringLibrary Dialogs*** Test Cases ***打开appComment Open Applicationhttp://localhost:4723/wd/hubalias=tudouapp plat...

【mysql】连接的空闲时间超过8小时后 MySQL自动断开该连接解决方案

1. 增加 MySQL 的 wait_timeout 属性的值。  修改 /etc/mysql/my.cnf文件,在 [mysqld] 节中设置: # Set a connection to wait 8hours in idle status. wait_timeout =86400  将这2个参数设置为24小时(60*60*24=604800)即可。 ...

SQL Server 2000详细安装过程及配置

说明:这篇文章是几年前我发布在网易博客当中的原创文章,但由于网易博客现在要停止运营了,所以我就把这篇文章搬了过来,虽然现如今SQL Server 2000软件早已经过时了,但仍然有一部分人在使用它,尤其是某些高校的学生在做毕业设计或者课程设计的时候可能会使用到,所以就把该软件的安装过程保留在这里吧。 另外,此SQL Server 2000软件只能在Wind...