MySQL用户管理

1.创建用户

create user '用户'@'主机' identified by '密码' ;

(1)说明:

①用户名:登录的用户名,此时的引号可以省略不写。

②@:@的前后不能含有空格

③登录主机:登录主机的引号可省略,使用通配符%的时候不可以省略。

    ◆仅本机:localhost

    ◆任意远程主机:%(不写则默认是%)

    ◆特定主机:特定主机的IP

④密码:登录密码,可以为空,表示不需要密码,此时的引号不能省略

(2)示例:

CREATE USER 'xyc'@'localhost' IDENTIFIED BY '1234567890';
CREATE USER 'gm'@'%' IDENTIFIED BY ''; /* 任意主机不需要密码 */
CREATE USER gm2; /* 简写 */
CREATE USER 'gm2'@'192.168.1.6';/* 仅192.168.1.6,不需要密码 */

 

2.为用户授权

grant 权限 on 数据库.表 to '用户'@'主机' ;

(1)说明:

①权限:用户的操作权限,多个权限可以用(,)分隔

  • usage:默认权限,无权限;
  • select:查询权限(只读权限);
  • insert:插入权限;
  • update:更新权限;
  • all:所有权限。

②数据库:授权的数据名,所有数据库用*表示

③表:授权的数据表,所有表使用*表示,所有数据库下的所有数据表*.*

④此种授权的用户不具备给其他用户授权的能力

(2)具备授权的用户给其他用户的授权:

grant 权限 on 数据库.表 to '用户'@'主机' with grant option ;

移除用户的权限

revoke 权限 on 数据库.表 to '用户'@'主机' ;

注:多个权限可以用(,)分隔。

 

3.查看用户的权限

show grants for '用户'@'主机' ;

 

4.修改用户名

rename user '用户'@'主机' to '新用户'@'主机' ;

(1)说明:修改用户的时候建议不要修改主机,即两个主机名一致。

(2)不加主机,表示默认,主机是任意(%)。

 

5.设置与更改用户密码

set password for '用户名'@'主机' = password('新密码');

(1)在不指定用户名时,set password更新当前登录用户的口令。

(2)password('新密码')表示使用password()函数对密码进行加密处理。

SET PASSWORD FOR 'xyc'@'localhost' = PASSWORD('1234567890');

 

6.删除用户

(1)伪代码:

drop user '用户名'@'主机' ;

(2)示例:

DROP USER 'gm2'@'192.168.1.6';

 

7.查询用户

(1)伪代码:

select 字段 from mysql.user ;

(2)示例:

SELECT USER, HOST FROM mysql.user;

 

8.关于主机host的说明

  • 仅本机:localhost
  • 任意远程主机:%(不写则默认是%)
  • 特定主机:特定主机的IP

当不写的时候,增删改查都在默认主机下进行。

 

posted @ 2021-04-13 15:20  xzlike  阅读(99)  评论(0)    收藏  举报