当前位置:   article > 正文

MySQL创建用户与授权_mysql 创建用户并授权

mysql 创建用户并授权


一. 创建用户

命令: CREATE USER ‘username’@‘host’ IDENTIFIED BY ‘password’;

说明:
username: 你将创建的用户名
host: 指定该用户在哪个主机上可以登陆, 如果是本地用户可用localhost, 如果想让该用户可以从任意远程主机登陆, 可以使用通配符%
password: 该用户的登陆密码, 密码可以为空, 如果为空则该用户可以不需要密码登陆服务器
例子:
CREATE USER ‘dog’@‘localhost’ IDENTIFIED BY ‘123456’;
CREATE USER ‘pig’@‘%’ IDENTIFIED BY ‘123456’;

二. 授权:

命令:GRANT privileges ON databasename.tablename TO ‘username’@‘host’

说明:
privileges: 用户的操作权限, 如SELECT, INSERT, UPDATE等, 如果要授予所的权限则使用ALL
databasename: 数据库名
tablename: 表名, 如果要授予该用户对所有数据库和表的相应操作权限则可用表示, 如.*
例子:
GRANT SELECT, INSERT ON test.user TO ‘pig’@‘%’;
GRANT ALL ON . TO ‘pig’@‘%’;
GRANT ALL ON maindataplus.* TO ‘pig’@‘%’;
注意:
用以上命令授权的用户不能给其它用户授权, 如果想让该用户可以授权, 用以下命令:
GRANT privileges ON databasename.tablename TO ‘username’@‘host’ WITH GRANT OPTION;

三.设置与更改用户密码

命令: SET PASSWORD FOR ‘username’@‘host’ = PASSWORD(‘newpassword’);

如果是当前登陆用户用:
SET PASSWORD = PASSWORD(“newpassword”);
例子:
SET PASSWORD FOR ‘pig’@‘%’ = PASSWORD(“123456”);

四. 撤销用户权限

命令: REVOKE privilege ON databasename.tablename FROM ‘username’@‘host’;
说明:
privilege, databasename, tablename: 同授权部分

例子:
REVOKE SELECT ON . FROM ‘pig’@‘%’;
注意:
假如你在给用户’pig’@‘%‘授权的时候是这样的(或类似的): GRANT SELECT ON test.user TO ‘pig’@’%’, 则在使用REVOKE SELECT ON . FROM ‘pig’@‘%’;命令并不能撤销该用户对test数据库中user表的SELECT 操作。相反, 如果授权使用的是GRANT SELECT ON . TO ‘pig’@‘%’;则REVOKE SELECT ON test.user FROM ‘pig’@‘%’;命令也不能撤销该用户对test数据库中user表的Select权限。

具体信息可以用命令SHOW GRANTS FOR ‘pig’@‘%’; 查看。

五.删除用户

命令: DROP USER ‘username’@‘host’;

MySQL 权限详解

All/All Privileges 权限代表全局或者全数据库对象级别的所有权限

Alter 权限代表允许修改表结构的权限,但必须要求有 create 和 insert 权限配合。如果是 rename 表名,则要求有 alter 和 drop 原表, create 和 insert 新表的权限

Alter routine 权限代表允许修改或者删除存储过程、函数的权限

Create 权限代表允许创建新的数据库和表的权限

Create routine 权限代表允许创建存储过程、函数的权限

Create tablespace 权限代表允许创建、修改、删除表空间和日志组的权限

Create temporary tables 权限代表允许创建临时表的权限

Create user 权限代表允许创建、修改、删除、重命名user的权限

Create view 权限代表允许创建视图的权限

Delete 权限代表允许删除行数据的权限

Drop 权限代表允许删除数据库、表、视图的权限,包括 truncate table 命令

Event 权限代表允许查询,创建,修改,删除MySQL事件

Execute 权限代表允许执行存储过程和函数的权限

File 权限代表允许在 MySQL 可以访问的目录进行读写磁盘文件操作,可使用的命令包括 load data infile,select … into outfile,load file()函数

Grant option 权限代表是否允许此用户授权或者收回给其他用户你给予的权限,重新付给管理员的时候需要加上这个权限

Index 权限代表是否允许创建和删除索引

Insert 权限代表是否允许在表里插入数据,同时在执行 analyze table,optimize table,repair table 语句的时候也需要 insert 权限

Lock 权限代表允许对拥有 select 权限的表进行锁定,以防止其他链接对此表的读或写

Process 权限代表允许查看 MySQL 中的进程信息,比如执行 show processlist, mysqladmin processlist, show engine 等命令

Reference 权限是在5.7.6版本之后引入,代表是否允许创建外键

Reload 权限代表允许执行 flush 命令,指明重新加载权限表到系统内存中,refresh 命令代表关闭和重新开启日志文件并刷新所有的表

Replication client 权限代表允许执行 show master status,show slave status,show binary logs 命令

Replication slave 权限代表允许 slave 主机通过此用户连接 master 以便建立主从复制关系

Select 权限代表允许从表中查看数据,某些不查询表数据的 select 执行则不需要此权限,如 Select 1+1, Select PI()+2;而且 select 权限在执行 update/delete 语句中含有 where 条件的情况下也是需要的

Show databases 权限代表通过执行 show databases 命令查看所有的数据库名

Show view 权限代表通过执行 show create view 命令查看视图创建的语句

Shutdown 权限代表允许关闭数据库实例,执行语句包括 mysqladmin shutdown

Super 权限代表允许执行一系列数据库管理命令,包括 kill 强制关闭某个连接命令, change master to创建复制关系命令,以及 create/alter/drop server 等命令

Trigger 权限代表允许创建,删除,执行,显示触发器的权限

Update 权限代表允许修改表中的数据的权限

Usage 权限是创建一个用户之后的默认权限,其本身代表连接登录权限

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/837034
推荐阅读
相关标签
  

闽ICP备14008679号