MYSQL的创建用户,授权用户,删除用户,查看用户

1.查看用户

2.创建用户

3.授权用户

4.删除用户

5.设置与更改用户密码

6.撤销用户权限


1.查看用户

查看用户并没有直接的SQL语句,而是进入 mysql数据库的user表(这个mysql库和user表都是一开始就有的),直接用 select * from user;来查看有什么用户

由于在linux下比较难看,因为格式比较乱,所以我用了 SQLyog这个软件登陆数据库来操作。

代码如下:

use mysql;
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 权利的

  • 69
    点赞
  • 504
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
MySQL中,可以通过三种方法来创建普通用户。第一种方法是使用"create user"命令来创建用户,该命令的语法为"create user '用户名'@'主机名' identified by '密码';"。其中,'用户名'是要创建的用户的名称,'主机名'是用户可以访问MySQL的主机地址,'密码'是为用户设置的密码。这样就可以创建一个新的普通用户了。 第二种方法是使用"grant"命令来创建用户授权,该命令的语法为"grant 权限列 on 数据库名.名 to '用户名'@'主机名' identified by '密码';"。其中,'权限列'是要赋予用户的权限,可以是多个权限,例如select、insert等,'数据库名.名'是要授权数据库,'用户名'和'主机名'同样是用户的名称和主机地址,'密码'是为用户设置的密码。通过这种方式,可以一步完成用户创建和授权的操作。 第三种方法是直接操作mysql授权创建用户。可以使用"insert into mysql.user (User, Host, authentication_string, ...) values ('用户名', '主机名', password('密码'), ...);"的方式向mysql.user中插入一条新的记录来创建用户。其中,'用户名'、'主机名'和'密码'同样是用户的名称、主机地址和密码。这种方法需要对mysql.user有写入权限,并且需要手动指定其他字段的值(例如权限)。 需要注意的是,创建用户之后,还需要使用"flush privileges;"命令来刷新MySQL的权限缓存,使新创建的用户可以立即生效。另外,如果需要修改已存在用户的密码,可以使用"update mysql.user set password=password('新密码') where User='用户名' and Host='主机名';"的方式来更新密码。 如果需要删除已存在的用户,可以使用"delete from mysql.user where User='用户名' and Host='主机名';"的方式来删除用户。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [MySQL如何创建用户](https://blog.csdn.net/weixin_45375866/article/details/123512884)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [MYSQL添加新用户 MYSQL用户创建数据库 MYSQL为新用户分配权限(重要)](https://blog.csdn.net/weixin_33586619/article/details/113283736)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值