MySQL用户管理语句001

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL用户管理语句001相关的知识,希望对你有一定的参考价值。

总的来说mysql的用户管理方法可以分为如下两种:

  1、直接对mysql.user 表进行[insert | update | delete] + flush privileges 这种方式主要针对那种对mysql.user比较了解的DBA;

  2、使用uml(user managerment language)语句 create user | drop user | grant | revoke | alter user 这种方式也是mysql推荐使用的;

 

下面的部分也主要对第二种方法进行说明:

 

1、mysql中的用户是什么?

  我们和QQ做一个类比QQ的用户是一个人,腾讯公司用用QQ号来唯一标识这个人;与QQ不同是的mysql中的用户有两个维度一个是用户名、另一个就是它发起连接时

  所在的主机

 

2、怎么来创建一个用户?

  每一个mysql用户对应着mysql.user 表中的一行;如果你对mysql的用户管理了然于心那么你可以使用insert 一行到mysql.user表,来完成创建任务;这种方式本文不

  会提到了,因为这样太累人了;先来看一下它的语法:

CREATE USER user_specification [, user_specification] ...

user_specification:
    user [ identified_option ]

auth_option: {
    IDENTIFIED BY auth_string
  | IDENTIFIED BY PASSWORD hash_string
  | IDENTIFIED WITH auth_plugin
  | IDENTIFIED WITH auth_plugin AS hash_string
}

  创建一个dumper用户它只能通过本机的回环网卡连接到mysql数据库

create user [email protected]127.0.0.1 identified by [email protected];

 

3、grant 语句用来授权、权限是分层级的通常来说有实例级,数据库级,表级,列级;如果一用户有实例级别的select 权限,自然它也就有了数据库级,表级,列级的权限。

GRANT
    priv_type [(column_list)]
      [, priv_type [(column_list)]] ...
    ON [object_type] priv_level
    TO user_specification [, user_specification] ...
    [REQUIRE {NONE | tsl_option [[AND] tsl_option] ...}]
    [WITH {GRANT OPTION | resource_option} ...]

GRANT PROXY ON user_specification
    TO user_specification [, user_specification] ...
    [WITH GRANT OPTION]

object_type: {
    TABLE
  | FUNCTION
  | PROCEDURE
}

priv_level: {
    *
  | *.*
  | db_name.*
  | db_name.tbl_name
  | tbl_name
  | db_name.routine_name
}

user_specification:
    user [ auth_option ]

auth_option: {
    IDENTIFIED BY auth_string
  | IDENTIFIED BY PASSWORD hash_string
  | IDENTIFIED WITH auth_plugin
  | IDENTIFIED WITH auth_plugin AS hash_string
}

tsl_option: {
    SSL
  | X509
  | CIPHER cipher
  | ISSUER issuer
  | SUBJECT subject
}

resource_option: {
  | MAX_QUERIES_PER_HOUR count
  | MAX_UPDATES_PER_HOUR count
  | MAX_CONNECTIONS_PER_HOUR count
  | MAX_USER_CONNECTIONS count
}

 

授予一个用户所有权限:

这里有几个地方是要注意的

  1、all 权限并不包涵grant option 权限。

  2、all 权限也不包涵proxy 权限,并且proxy 的权限的层级是user级的

grant all on *.* to [email protected]127.0.0.1;
grant grant option on *.* to [email protected]127.0.0.1;
grant proxy on root@localhost to [email protected]127.0.0.1;

 

以上是关于MySQL用户管理语句001的主要内容,如果未能解决你的问题,请参考以下文章

mysql用户管理

MySQL的简单查询语句

MySQL用户管理及SQL语句详解

MySQL用户管理常用sql语句数据库备份恢复

MySQL用户管理及SQL语句详解

MySQL用户管理及SQL语句详解