Mysql数据库安装使用教程04:新建用户+授权+查看删除用户+退出/断开连接

1、新建用户修改用户密码

我的安装配置好mysql后目前只有一个用户就是root,并且此root用户拥有最高权限,因此当我们需要别人也操作数据库时,是不建议直接使用这个root用户的。(mysql语句不区分大小写,本人始终习惯小写,故后续教程中语句都是小写,当然建议是使用大写的)

  1. 新建用户的语句格式:

     create user 'username'@'host' identified by 'psaaword'
    
  2. 创建用户语句格式解析:

    create user 'username'@'host' identified by 'psaaword'
    
    username:你创建用户的用户名;
    host:用户登录地址,指明该用户在哪个主机上可以登陆,如果是本地用户可用localhost,
    如果想让该用户可以从任意远程主机登陆,可以使用通配符%,如果是特定的主机用户可以配置ip地址;
    password:该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器;
    
    
  3. 创建用户语句实例:

    /*此处以创建用户,用户名:goodman,密码:123456,为例*/
    
    创建本地登录用户goodman,密码123456;
    create user 'goodman'@'localhost' identified by '123456';
    
    创建特定主机的登录用户goodman,密码123456,主机ip为:192.168.17.98;
    create user 'goodman'@'192.168.17.98' identified by '123456';
    
    创建可以从任意主机登录改数据库的登录用户goodman,密码123456;
    create user 'goodman'@'%' identified by '123456';
    
    创建无登录密码的用户:goodman;(两种语句均可创建成功)
    create user 'goodman'@'192.168.17.98' identified by '';
    create user 'goodman'@'192.168.17.98';
    
    
  4. 修改用户密码:

    root用户登录修改别的用户密码语句格式:
    revoke psaaword for ‘username’@'host' = password('newpassword');
    
    将本地用户goodman登录密码改为111111
    revoke psaaword for ‘goodman’@'localhost' = password('111111');
    
    用户登录修改自己的登录密码语句格式:
    set psssword = password('newpassword');
    
    本地用户goodman修改自己的登录密码改为111111
    set psssword = password('111111');
    

2、给用户授权+撤销授权

  1. 给用户授权语句格式:
    grant privileges on database.tablename to 'username'@'host'
    以上语句给用户授权后,这个用户不能再给别的用户授权,可以使用这个命令,这样被授权的用户也可以可别的用户授权:
    grant privileges on database.tablename to 'username'@'host' with grant option

  2. 给用户授权语句格式说明:

    grant privileges on database.tablename to 'username'@'host'
    

    privileges:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL
    databasename:数据库名
    tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*****表示,如*.*(是星号加点再加一个星号,第一个星号表示所有数据库,点表示数据库连接表,最后一个星号表示所有表。所有*.*表示这个用户可以操作所有数据库中的所有表)
    ’username’@‘host’:授权给哪个用户

  3. 给用户授权实例(假设数据库名是student,表名是name):

    给本地用户goodman授权select与insert操作权限,操作的数据库是student中的name表
    grant select,insert on sutdent.name to 'goodman'@'localhost';
    
    给本地用户goodman授权所有可操作性权限,并且可以操作任意数据库对应下的任意表
    grant ALLt on *.* to 'goodman'@'localhost';
    
    给本地用户goodman授权所有可操作性权限,并且可以操作student数据库下的任意表
    grant ALLt on student.* to 'goodman'@'localhost';
    

假如你在给用户’goodman’@'localhost’授权的时候是这样的(或类似的):GRANT SELECT ON sutdent.name TO ‘goodman’@'localhost,则在使用REVOKE SELECT ON . FROM ‘goodman’@'localhost;命令并不能撤销该用户对sutdent数据库中name表的SELECT 操作。

相反,如果授权使用的是GRANT SELECT ON . TO ‘goodman’@‘localhost’;则REVOKE SELECT ON sutdent.name FROM ‘goodman’@‘localhost’;命令也不能撤销该用户对sutdent数据库中name表的Select权限。

  1. 查看用户所授权限

    show grants;查看当前登录用户自己当前权限
    
    show grants for 'username'@'host'; 查看特定用户的权限
    
    查看本地用户goodman的权限
    show grants for 'goodman'@'localhost';
    
  2. 取消用户授权:

    revoke privilege on databasename.tablename from 'username'@'host';
    
    取消本地用户goodman的insert权限:
    revoke insert on databasename.tablename from 'goodman'@'localhost';
    
    取消本地用户goodman的所以可操作权限:
    revoke all on databasename.tablename from 'goodman'@'localhost';
    

3、查看+删除用户

  1. 查看都有哪些用户:

     查看数据库所有用户
     select user,host from mysql.user
    
    也可使用如下语句,显示更加详细:
    select distinct concat('User: ''',user,'''@''',host,''';') as query from mysql.user;
    

    在这里插入图片描述

  2. 删除用户:

    drop user 'username'@'host';
    

4、退出断开连接

  1. 退出/断开连接:exit;或quit;或 \q;或ctrl+c;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值