mysql权限管理

  

2019/5/20星期一//这是mysql的权限问题具体的详情见第三章《mysql用户及赋予用户权限格兰特》
现在有一个需求,就是指定一个用户对一个数据库中的所有表只有只读权限
mysql用户及赋予用户权限格兰特
我们在我们的dev环境的192.168.0.36上进行试验

  
 <代码> @祝辞(没有);选择用户,从mysql.user主机;
  + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
  用户主机| | |
  + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
  | % | |根
  | mysql。会话| localhost |
  | mysql。sys localhost | |
  | | |根localhost
  + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
  4行集(0.00秒)
  首先创建一个试验的表
  创建数据库大学;//创建数据库字符集utf8mb4大学;
  使用大学;
  创建一个学生表
  创建表的学生(
  Sno char(9)主键,
  Sname char(20)独一无二的,
  Ssex char (2),
  圣人int,
  Sdept char (20)
  ); 
  

插入试验数据
插入学生价值观(200215121,”李勇”,男,20岁,“CS”);
插入学生价值观(100215122,“刘晨','女',19日“CS”);
插入学生价值观(100215123,“王敏','女',18岁,“马”);
插入学生价值观(100215124,”张立”,“男”,19日'是');

  
 <代码> @university>使用大学;
  数据库修改
  @university>显示表;
  +----------------------+
  | Tables_in_university |
  +----------------------+
  |学生|
  +----------------------+
  1行集(0.00秒)
  
  @university>从学生选择*;
  + - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - + +
  圣人| Sno | Sname | Ssex | | Sdept |
  + - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - + +
  19 | 100215122 |刘晨|女| | CS |
  18岁| 100215123 |王敏|女| | |
  19 | 100215124 |张立|男| | |
  | 200215121 |李勇|男20 | CS | |
  + - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - + +
  4行集(0.00秒) 
  

接下来,我们要创建一个用户majihui只对大学库下的所有表有权限。
mysql>帮助格兰特;
名称:“授予”
描述:
语法:格兰特

priv_type [(column_list)]
[, priv_type [(column_list)]]…在[object_type] priv_level

user_specification [, user_specification]…
[需要{没有| ssl_option[[和]ssl_option]…与with_option}]
[…]

  

object_type:


| |函数过程

  

priv_level:

  
      <李>所有
    | 所有库所有表
    | db_name。*指定库的所有表
    | db_name。tbl_name指定库的指点表
    | tbl_name指定一个表
    | db_name.routine_name指定一个库的存储过程李   
  

user_specification:
用户(被【密码】“密码”)

  

ssl_option:
SSL X509

| |密码'密码'
|发行人“发行人”
|主题“主题”

  

with_option:
格兰特选择
| MAX_QUERIES_PER_HOUR计数每小时查询几次
| MAX_UPDATES_PER_HOUR计数每小时更新几次
| MAX_CONNECTIONS_PER_HOUR计数每小时链接几次
| MAX_USER_CONNECTIONS计数每小时使用几次

  

GRANT语句授予特权MySQL用户帐户。格兰特
也可以指定其他账户的特点如使用
安全连接和限制访问服务器资源。使用
格兰特,你必须给予选择特权,您必须
特权授予。

  

正常情况下,数据库管理员首先使用创建用户创建一个
账户,然后来定义它的特权授予和特点。对于
示例:

  

创建用户“杰弗里”@“localhost”被“mypass”,
格兰特db1。“杰弗里”@“localhost”;在db2上
格兰特选择。发票“杰弗里”@“localhost”;格兰特
上使用。*“杰弗里”@“localhost”MAX_QUERIES_PER_HOUR 90;

  

然而,如果一个帐户名为GRANT语句
已经不存在,格兰特可以创造条件下描述在
的讨论NO_AUTO_CREATE_USER SQL模式。

  

的REVOKE语句与格兰特和使管理员能够
删除账户权限。看到[帮助撤销].

  

从mysql项目成功执行时,格兰特与
查询响应好,0行受影响。以确定哪些特权源于
操作,使用显示赠款。见[帮助显示赠款)。

  

的URL: http://dev.mysql.com/doc/refman/5.1/en/grant.html

  
 <代码>首先方法1
  方法1:
  创建用户“杰弗里”@“localhost”被“mypass”;
  格兰特db1。*“杰弗里”@“localhost”;
  mysql>创建用户oldboy@“localhost”被“oldboy123”;创建一个用户名为卑劣的密码为oldboy123的用户
  查询好,0行影响(0.00秒)//此部分在dba第三章有详细解释,请转至第三章创建mysql用户及赋予用户权限* * * * * 

mysql权限管理