mysql用户管理

前言:mysql创建用户的方法分成三种:INSERT USER表的方法、CREATE USER的方法、GRANT的方法。

一、账号名称的构成方式

账号的组成方式:用户名+主机(所以可以出现重复的用户名,跟其他的数据库不一样)

用户名:16字符以内.

主机名:可以用主机名和IP地址,也可以用通配符

通配符说明:172.18.10.%(IP地址为172.18.10段的所有IP地址都可以访问)

二、通过CREATE USER命令进行创建用户

脚本:CREATE USER 'username'@'localhost' [IDENTIFIED BY 'PASSWORD'] 其中密码是可选项;

例子:CREATE USER 'john'@'192.168.189.71' IDENTIFIED BY "123"; ip 为 192.168.189.71 主机才能登录

CREATE USER 'john'@'localhost' IDENTIFIED BY "123";  ## 本地才能登陆

CREATE USER 'john'@'192.168.189.%' IDENTIFIED BY "123"; ## 所以ip都能的登陆,但是登录不了本地。

CREATE USER 'john' ;

说明:该方法创建出来的用户只有连接数据库的权限,需要后续继续授权;

注意:用户与@后主机地址不是一体的,用@分隔,如果环境不同,创建的用户不能登录,可以用root账号, select user,host from mysql.user; 来查询,看看创建的账号和host是否是正确的。这里可以参考root用户。

提醒:mysql中的用户是可以重复的,具体怎么访问是host决定的,所以可以看到root有很多条记录。

grant all privileges on *.* to 'john'@'localhost';  所有的表所有权限赋给john用户 *.*代码所有的表

grant all privileges on test.* to 'test1'@'localhost'; 这里赋权限test数据库的所有表

flush privileges; 情况权限缓存。

 三、 通过赋权来创建用户

GRANT ALL PRIVILEGES  ON *.* TO 'test1'@'localhost' IDENTIFIED BY '123456';

这里的 ALL PRIVILEGES 标示 赋权的数据库表的所有权限,包括(增删改查等)。

上面的 'test1'@'localhost' 表示和上面的一样

 四、 直接在 mysql.user表中添加用户,这种方法比较简单,不常用。

 五、 修改用户和删除用户

    rename user 'test'@'localhost' to 'test5'@'localhost'; 

        drop user  'test'@'localhost';

原文地址:https://www.cnblogs.com/shaoshao/p/6647247.html