「MySQL-03」用户管理与给用户授权

目录

一、用户管理

1. 用户信息

2. 创建用户

3. 删除用户

4. 修改用户密码

二、给用户授权

0.MySQL数据库提供的权限列表

1. 给用户授权

2. 回收权限


一、用户管理

1. 用户信息

1.0 数据库mysql和user表
        安装好 MySQL后,里面会有一个默认的数据库mysql里面有一个user表。MySQL 中的用户,都存储在数据库 mysql user 表中。
所有的用户管理工作,全部都在这张表中进行。即:所有用户管理工作对应的sql,本质其实都是对这个表进行增删查改。

1.1 查询所有用户的所有信息
        先进入数据库mysql  :  use mysql;
        再使用语句: select * from user\G 查询所有用户信息。
*************************** 1. row ***************************
                  Host: localhost
                  User: root
           Select_priv: Y
                    …………
 authentication_string: *************************
                    …………


字段解释:
    Host  : 表示这个用户可以从哪个主机登陆,如果是localhost,表示只能从本机登陆
    User  : 用户名
    _priv : 用户拥有的权限(Y表示有权限,N表示没有权限)
    authentication_string: 用户密码通过password函数加密后的

1.2 查询所有用户的主要信息
        使用语句: select host,user,authentication_string from user; 查询所有用户的主要信息。

字段解释:

        host: 表示这个用户可以从哪个主机登陆,如果是localhost,表示只能从本机登陆。如果是'%'表示可以从任意主机登录。

        user: 用户名。

        authentication_string: 用户密码通过password函数加密后的。

2. 创建用户

  • 语法:create user '用户名'@'登陆主机/ip' identified by '密码';
  • 示例:create user 'test'@'localhost' identified by '123';
创建用户时如果报错,可以先使用  flush privileges; 刷新权限,再重新执行上面的语句。

 当然我们也可以使用insert语句进行插入,但是不推荐。

3. 删除用户

  • 语法:drop user '用户名'@'主机名'
  • 示例:drop user 'test'@'localhost';

4. 修改用户密码

  • 修改当前登录MySQL用户的密码:set password=password('新密码'); 

  • root用户修改指定用户的密码:set password for '用户名'@'主机名'=password('新密码');

5. 新用户登录MySQL 

1.使用指令 mysql -uroot -p 登录,然后输入密码 

2.mysql -uroot -p密码

 

「拓」查看当前登录用户:select user();


二、给用户授权

0.MySQL数据库提供的权限列表

1. 给用户授权

1.1 给用户授予指定数据库或表的指定权限

  • 语法  :  grant 权限列表 on 库[.表名] to '用户名'@'登陆位置'
  • 示例  :  
    grant select on base.table to 'test'@'localhost'
    grant select, delete, create on base.table to 'test'@'localhost-- 多个权限用逗号分开
    grant all on base.table to 'test'@'localhost' -- all表示赋予该用户在该库/表上的所有权限

1.2 查看指定用户现有权限

        show grants for ' 用户名 ' @ ' 登陆位置 ';

注意:如果发现赋权限后,没有生效,执行指令:flush privileges;

2. 回收权限

语法:revoke 权限列表 on .对象名 from '用户名'@'登陆位置';

示例:revoke all on test.* from 'test'@'localhost';


------------------------END-------------------------

才疏学浅,谬误难免,欢迎各位批评指正。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

烛火萤辉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值