必威体育Betway必威体育官网
当前位置:首页 > IT技术

mysql创建用户并赋权

时间:2019-08-30 10:13:16来源:IT技术作者:seo实验室小编阅读:59次「手机版」
 

赋权

新建一个数据库 ljw

create   database ljw;

[sql] view plain copy

  1. use ljw;  
  2. select * from user;  

效果如上图,最后用数据库软件,因为在linux下界面看不清效果,太乱了。

从上图可以看到,会列出数据库所有的用户及权限

2.创建用户

CREATE USER  'user_name'@'host'  IDENTIFIED BY  'password';

user_name:要创建用户的名字。

host:表示要这个新创建的用户允许从哪台机登陆,如果只允许从本机登陆,则 填 ‘localhost’ ,如果允许从远程登陆,则填 ‘%’

password:新创建用户的登陆数据库密码,如果没密码可以不写。

例:

CREATE USER  ‘aaa’@‘localhost’ IDENTIFED BY ‘123456’;         //表示创建的新用户,名为aaa,这个新用户密码为123456,只允许本机登陆

CREATE USER  'bbb'@'%' IDENTIFED BY '123456';//表示新创建的用户,名为bbb,这个用户密码为123456,可以从其他电脑远程登陆mysql所在服务器

CREATE USER  ‘ccc’@‘%’ ;//表示新创建的用户ccc,没有密码,可以从其他电脑远程登陆mysql服务器

我用 CREATE USER  'aaa'@‘%’;创建新用户,再用 select * from user;查看用户列表:

可以看出 有 aaa用户了。但是可以看到 aaa 的权限很多都是 N,表示没有权限,因为还要为用户授予权限。

3.授权用户

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

privileges:表示要授予什么权力,例如可以有 select , insert ,delete,update等,如果要授予全部权力,则填 ALL

databasename.tablename:表示用户的权限能用在哪个库的哪个表中,如果想要用户的权限很作用于所有的数据库所有的表,则填 *.*,*是一个通配符,表示全部。

’username‘@‘host’:表示授权给哪个用户。

例:

GRANT  select,insert  ON  zje.zje  TO ‘aaa’@‘%’;         //表示给用户aaa授权,让aaa能给zje库中的zje表 实行 insert 和 select。

GRANT  ALL  ON  *.*  TO  ‘aaa’@‘%’;//表示给用户aaa授权,让aaa能给所有库所有表实行所有的权力。

用GRANT  ALL  ON  *.*  TO  ‘aaa’@‘%’ ;再看用户列表,可以发现权限都变成 Y了。

注意:

用以上命令授权的用户不能给其他用户授权,如果想这个用户能够给其他用户授权,就要在后面加上   WITH GRANT OPTION

如:GRANT  ALL  ON   *.*   TO  ’aaa‘@'%'  WITH GRANT OPTION; 

4.删除用户

命令:DROP  USER ‘user_name’@‘host’ 

例:

DROP USER 'aaa'@‘%’;//表示删除用户aaa;

5.设置与更改用户密码

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

如果是设置当前用户的密码:

SET  PASSWORD = PASSWORD('newpassword');

如:SET  PASSWORD = PASSWORD(‘123456’);

6.撤销用户权限:

命令:REVOKE   privileges   ON  database.tablename  FROM  ‘username’@‘host’;

例如:REVOKE  SELECT ON  *.*  FROM  ‘zje’@‘%’;

但注意:

若授予权利是这样写: GRANT  SELECT  ON  *.*  TO ‘zje’@‘%’;

则用 REVOKE  SELECT ON   zje.aaa  TO  ‘zje’@‘%’;是不能撤销用户zje 对 zje.aaa 中的SELECT 权利的。

反过来 GRANT SELECT  ON  zje.aaa  TO  ‘zje’@‘%’;授予权力

用 REVOKE SELECT ON  *.*  FROM  ‘zje’@‘%’;也是不能用来撤销用户zje 对zje库的aaa表的SELECT 权利的

相关阅读

深入理解MySQL索引原理和实现——为什么索引可以加速

说到索引,很多人都知道“索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址,在数据十分庞大的时

Ubuntu 安装Mysql

1.安装 ubuntu上安装mysql非常简单只需要几条命令就可以完成。 1. sudo apt-get install mysql-server 2. sudo apt-get instal

什么是触发器(mysql),它的利与弊,使用实例

转载至:https://www.cnblogs.com/zyshi/p/6618839.html#_label3(个人总结:下面内容已经验证了,代码实例没有问题。触发器只是用在特定

15款最佳的MySQL管理工具和应用程序

【转】15款最佳的MySQL管理工具和应用程序@TOC工欲善其事,必先利其器。几乎每个开发人员都有最钟爱的 MySQL 管理工具,它帮助开发人

MySQL nullif()函数

转载自   MySQL nullif()函数 MySQL NULLIF函数简介 NULLIF函数是接受2个参数的控制流函数之一。如果第一个参数等于第二个参

分享到:

栏目导航

推荐阅读

热门阅读