1.查看用户及用户权限
mysql中的用户信息和权限等都存储在一个名为mysql的数据库中。其中主要用到的是user、db、tables_priv、columns_priv、procs_priv这五张表,最重要的是user表。
user表存储全局权限,适用于一个给定服务器中的所有数据库,在命令中展现形式为*.*;
db表存储数据库权限,适用于一个给定数据库中的所有表,在命令中展现形式为[数据库名].*;
tables_priv表存储表权限,适用于一个给定表中的所有列,在命令中展现形式为[数据库名].[表名];
columns_priv表存储列权限,适用于一个给定表中的单一列,在命令中展现形式为;
CREATE ROUTINE, ALTER ROUTINE, EXECUTE和GRANT权限,适用于已存储的子程序。这些权限可以被授予为全局层级和数据库层级,而且除了CREATE ROUTINE外,这些权限可以被授予为子程序层级,并存储在procs_priv表中。
查看用户及使用范围(也叫作用域),注意user表中user+host是复合主键,下面很多地方都是用的这个复合主键确认唯一值。
例1:查看当前数据库的用户及主机信息
use mysql; select user,host from user;
2.创建用户
MySQL提供了CREATE USER
语句,允许您创建一个新的用户帐户。 CREATE USER
语句的语法如下:
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
参数说明:
- username:你将创建的用户名
- host:指定该用户在哪个主机上可以登录,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登录,可以使用通配符%,还可以指定的ip地址范围
- password:给用户设置密码,
password
必须是明文。 在将用户帐户保存到用户表之前,MySQL将加密明文密码
例2:创建一个名为张三的本地账户,账户的密码为123456
create user 'zhangsan'@'localhost' IDENTIFIED by '123456';
说明:如果需要指定主机地址登录的用户,则将localhost改为对应的主机Ip即可;如果需要创建任意地址登录的账户,则将localhost改为%,如create user 'lisi'@'%' IDENTIFIED by '123456';如果需要创建无密码的用户,则可以省略identified by关键字,如create user 'wangwu'@'%' ;
标签:管理,数据库,用户,user,MySQL,权限,CREATE,priv From: https://www.cnblogs.com/YorkZhangYang/p/16992139.html