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

    权限管理

    核心开发权限

    权限

    可以针对的级别 

    DELETE

    DELETE_PRIV

    TABLES

    INSERT

    INSERT_PRIV

    TABLES OR COLUMNS

    SELECT

    SEELCT_PRIV

    TABLES OR COLUMNS

    UPDATE

    UPDATE_PRIV

    TABLES OR COLUMNS

    ALTER

    ALTER_PRIV

    TABLES

    CREATE_VIEW

    CREATE_TMP_TABLES_PRIV

    TABLES

    CREATE_TEMPORARY TABLES

    CREATE_TMP_TABLE_PRIV

    TABLES

    TRIGGER

    TRIGGER_PRIV

    TABLES

    CREATE_VIEW

    CREATE_VIEW_PRIV

    VIEWS

    SHOW VIEW

    SHOW_VIEW_PRIV

    VIEWS

    ALTER ROUTINE

    ALTER_ROUTINE_PRIV

    STORED ROUTINES

    CREATE ROUTINE

    CREATE_ROUTINEZ_PRIV

    STORED ROUTINES

    EXECUTE

    EXECUTE_PRIV

    STORED ROUTINES

    INDEX

    INDEX_PRIV

    TABLES

    EVENT

    EVENT_PRIV

    DATABASES

    开发权限就是给delete,insert,update,select 权限一般情况下不给alter权限,用到存储过程会给excute,create routine权限

    管理权限-表级别

    权限 

    可以针对级别

    CREATE

    CREATE_PRIV

    DATABASES,TABLES,OR INDEX

    FILE

    FILE_PRIV

    FILE ACCESS ON SERVER HOST

    DROP

    DROP_PRIV

    DATABASES,TABLES,OR VIEWS

    LOCK TABLES 

    LOCK_TABLES_PRIV

    DATABASES     

    管理权限-SERVER级别

    权限

    可以针对级别

    GRANT OPTION

    GRANT_PRIV

    DATABASES,TABLES,OR STORED ROUTINES

    CREATE_TABLESPACE

    CREATE_TABLESPACE_PRIV

    SERVER ADMINISTRATION

    CREATE USER

    CREATE_USER_PRIV

    SERVER ADMINISTRATION

    PROCESS

    PROCESS_PRIV

    SERVER ADMINISTRATION

    PROXY

    SEE_PROXIES_PRIV_TABLE

    SERVER ADMINISTRATION

    RELOAD

    RELOAD_PRIV

    SERVER ADMINISTRATION

    REPLICATION CLIENT

    REPL_CLIENT_PRIV

    SERVER ADMINISTRATION

    REPLICATION SLAVE

    REPL_SLAVE_PRI

    SERVER ADMINISTRATION

    SHOW DATABASES

    SHOW_DB_PRIV

    SERVER ADMINISTRATION

    SHUTDOWN

    SHUTDOWN_PRIV

    SERVER ADMINISTRATION

    SUPER

    SUPER_PRIV

    SERVER ADMINISTRATION

    ALL[privileges]

     

    SERVER ADMINISTRATION

    USAGE

     

    SERVER ADMINISTRATION

    replication client VS replication slave

    Replication client 执行  show master status; show slave status;权限的监控用的

    Replication slave 复制传输用的

    Shutdown 关机的权限

    All 权限是除了grant option之外的权限

    账号管理

    (product)root@localhost [(none)]> help create user   #查看帮助文档
    (product)root@localhost [(none)]> create user wwb@192.168.244.128 identified by '123456' ; #创建wwb用户只能从128这台机器登陆
    Query OK, 0 rows affected (0.00 sec)
    (product)root@localhost [(none)]> create user 'wwb'@'192.168.244.%' identified by '123456'; #创建244段都可以登陆的用户
    Query OK, 0 rows affected (0.00 sec)
    (product)root@localhost [(none)]> create user 'wwb'@'%' identified by '123456'; #创建可以从任何来源登陆的wwb账号
    Query OK, 0 rows affected (0.00 sec)

     更改密码和权限

    (product)wwb@localhost [(none)]> set password=password('mysql'); #给当前用户修改密码
    Query OK, 0 rows affected (0.00 sec)
    (product)root@localhost [(none)]> set password for 'wwb'@'192.168.244.128'=password('123456'); #给指定用户修改密码
    Query OK, 0 rows affected (0.00 sec)
    (product)root@localhost [(none)]> update mysql.user set password=password('123456') where user = 'wwb' and host = '%'; #直接修改授权表
    Query OK, 1 row affected (0.02 sec)
    Rows matched: 1  Changed: 1  Warnings: 0
    (product)root@localhost [(none)]> flush privileges;
    Query OK, 0 rows affected (0.01 sec)
    (product)root@localhost [(none)]> grant usage on *.* to 'wwb'@'%' identified by 'mysql'; #通过grant更改密码
    Query OK, 0 rows affected (0.01 sec)

    忘记root密码

    1.Skip-grants-table需要重启mysql

    2.现有的user表拷贝到别的地方 核心是让mysqld重新加载一下权限表

    密码过期

    指定一个用户的密码过期,用户上来只能先去改密码(调用set password使用)

    (product)root@localhost [(none)]> alter user 'wwb'@'%' password expire;
    Query OK, 0 rows affected (0.01 sec)

    5.6以后的客户端 能把用户的密码搞过期

    添加权限

    通过grant添加

    grant相应的权限to用户

    (product)root@localhost [(none)]> grant insert on wwb.* to 'wwb'@'192.168.244.128';
    Query OK, 0 rows affected (0.00 sec)

    grant授权可以达到 库级 表级 列

    grant select(col1),insert(col1,col2) on wubx.tb1 to’wub‘@‘%’;

    授予权限:库表列(表的名字要带上)

    用户改名

    rename user old_user to new_user;

    (product)root@localhost [(none)]> rename user 'wwb'@'192.168.244.128' to 'wwb_bak'@'192.168.244.128';
    Query OK, 0 rows affected (0.01 sec)

    权限清理

    revoke权限on对象from用户

    (product)root@localhost [(none)]> revoke insert on wwb.* from 'wwb_bak'@'192.168.244.128';
    Query OK, 0 rows affected (0.00 sec)
    (product)root@localhost [(none)]> show grants for 'wwb_bak'@'192.168.244.128';
    +----------------------------------------------------------------------------------------------------------------------+
    | Grants for wwb_bak@192.168.244.128                                                                                   |
    +----------------------------------------------------------------------------------------------------------------------+
    | GRANT USAGE ON *.* TO 'wwb_bak'@'192.168.244.128' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' |
    +----------------------------------------------------------------------------------------------------------------------+
    1 row in set (0.01 sec)

     

  • 相关阅读:
    HashMap的存储原理
    HashSet的存储原理
    ArrayList的底层实现原理
    $.getJSON()不执行回调函数
    JavaScript学习笔记(一)
    【转】日语口语简略型总结(更新中。。。)
    计算机常用符号(日文)更新中。。。
    异常
    注解
    多线程
  • 原文地址:https://www.cnblogs.com/weiwenbo/p/6652210.html
Copyright © 2011-2022 走看看