美文网首页
mysql用户相关操作

mysql用户相关操作

作者: 小小了墨 | 来源:发表于2019-08-13 11:44 被阅读0次

    使用用户登录

    mysql -u username -p
    # 执行后会提示输入密码
    

    查看用户信息

    # 切换到mysql系统数据库
    use mysql;
    # 查询用户信息
    select * from mysql.user;
    # 展示的数据太多,只取需要的
    select host, user from mysql.user;
    

    创建用户

    CREATE USER 'username'@'host' IDENTIFIED BY 'password'

    1. username: 用户名
    2. host: 指定用户能在哪个主机上登录,如果是localhost,是指定只能本机登录。如果使用通配符%,则可以让该用户从任意主机登录
    3. password: 登录密码,如果为空则不用密码登录

    删除用户

    • 删除用户
    DELETE FROM mysql.user WHERE USER='username' and HOST='host';
    
    1. username: 要删除的用户名
    2. host: 要删除用户的host
    • 刷新缓存
    flush privileges;
    
    • 删除账户及权限
    DROP USER 'username'@'host';
    

    修改制定用户密码

    1. 一种
    SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');
    

    如果是当前登陆用户用:

    SET PASSWORD = PASSWORD("newpassword");
    
    1. 另一种
    UPDATE mysql.user SET PASSWORD=PASSWORD('新密码') WHERE USER="test" and HOST="localhost";
    

    然后刷新缓存

    flush privileges;
    

    给用户授权

    GRANT privileges ON databasename.tablename TO 'username'@'host'
    
    1. privileges:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL
    2. databasename:数据库名
    3. tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,如*.*

    撤销用户权限

    REVOKE privilege ON databasename.tablename FROM 'username'@'host';
    

    注意:授权时是什么权限,撤销就要对应的权限,如果用*和ALL去撤销某个授权会失败

    相关文章

      网友评论

          本文标题:mysql用户相关操作

          本文链接:https://www.haomeiwen.com/subject/gdevjctx.html