zoukankan      html  css  js  c++  java
  • MySQL 用户管理与权限管理

    用户管理

    -- 创建名称为 zhang3 的用户,密码设为 123123;
    create user zhang3 identified by '123123';
    
    -- 查看用户和权限的相关信息
    select host,user,select_priv,insert_priv,drop_priv from mysql.user;
    
    -- 修改当前用户的密码
    set password = password('123456');
    
    -- 修改其他用户的密码。所有通过 user 表的修改,必须用 flush privileges; 命令才能生效
    update mysql.user set password = password('123456') where user = 'li4';
    flush privileges;
    
    -- 修改用户名
    update mysql.user set user = 'li4' where user = 'wang5';
    flush privileges;
    
    -- 删除用户,不要通过 delete from user where user='li4 进删除,系统会有残留信息保留。
    drop user li4;

    host:表示连接类型

    • %:表示所有远程通过 TCP 方式的连接
    • IP 地址:如 (192.168.1.2,127.0.0.1) 通过制定 ip 地址进行的 TCP 方式的连接
    • 机器名:通过制定网络中的机器名进行的 TCP 方式的连接
    • ::1:IPv6 的本地 ip 地址 等同于 IPv4 的 127.0.0.1
    • localhost:本地方式通过命令行方式的连接 ,比如 mysql -u xxx -p 123xxx 方式的连接。

    user:表示用户名

    • 同一用户通过不同方式链接的权限是不一样的。

    password:密码

    • 所有密码串通过 password(明文字符串) 生成的密文字符串。加密算法为 MYSQLSHA1 ,不可逆 。
    • mysql 5.7 的密码保存到 authentication_string 字段中不再使用 password 字段。

    *_priv:该用户所拥有的权限

    权限管理

    授予权限

    -- 格式:grant 权限 1,权限 2,…权限 n on 数据库名称. 表名称 to 用户名@用户地址 identified by ‘连接口令’
    -- 该权限如果发现没有该用户,则会直接新建一个用户。
    -- 例:给 li4 用户用本地命令行方式下,授予 mydb 这个库下的所有表的插删改查的权限。
    grant select,insert,delete,drop on mydb.* to li4@localhost;
    
    
    -- 授予通过网络方式登录的的 joe 用户 ,对所有库所有表的全部权限,密码设为 123
    grant all privileges on *.* to joe@'%' identified by '123';

    收回权限

    权限收回后,必须用户重新登录后,才能生效。

    -- 查看当前用户权限
    show grants;
    
    -- 收回权限命令
    revoke [权限 1,权限 2,…权限 n] on 库名.表名 from 用户名@用户地址;
    
    -- 收回全库全表的所有权限
    REVOKE ALL PRIVILEGES ON mysql.* FROM joe@localhost;
    
    -- 收回 mysql 库下的所有表的插删改查权限
    REVOKE select,insert,update,delete ON mysql.* FROM joe@localhost;

    查看权限

    -- 查看当前用户权限
    show grants;
    
    select * from mysql.user;

    https://dev.mysql.com/doc/refman/8.0/en/account-management-statements.html

  • 相关阅读:
    The 9th SWJTU ACM Final Tutorial
    The 9th SWJTU ACM Online Tutorial
    ACdream群赛(5) D Palindrome
    ACdream群赛(5)总结
    The 9th SWJTU ACM Qualification Tutorial
    IIUC Inter University Programming Contest 2012总结
    曾经流行的,即将流行的几种渲染模式(render pipeline)
    ogre线程及其死锁问题
    crysis shader系统简单分析
    编译并集成mono 2.6.4到应用程序中
  • 原文地址:https://www.cnblogs.com/jhxxb/p/13297742.html
Copyright © 2011-2022 走看看