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

    -- 【两粒芝麻】建立用户 授权 取消授权 生效
    GRANT USAGE ON test.* TO 'llzm'@'%' IDENTIFIED BY  '123' ;
    GRANT select,insert on test.* to 'llzm'@'%';
    revoke select,insert on test.* from 'llzm'@'%';
    FLUSH PRIVILEGES;
    ====================================================================
    查看MySQL用户权限:

    show grants for 你的用户

    比如:
    show grants for root@'localhost';

    Grant 用法

    GRANT USAGE ON *.* TO 'discuz'@'localhost' IDENTIFIED BY PASSWORD '*C242DDD213BE9C6F8DA28D49245BF69FC79A86EB';
    GRANT ALL PRIVILEGES ON `discuz`.* TO 'discuz'@'localhost';

    我先按我的理解解释一下上面两句的意思
    建立一个只可以在本地登陆的 不能操作的用用户名 discuz 密码为 ***** 已经加密了的
    然后第二句的意思是 ,给这个discuz用户操作discuz数据库的所有权限

    使用GRANT

    GRANT命令用来建立新用户,指定用户口令并增加用户权限。其格式如下:

    mysql> GRANT <privileges> ON <what>
    -> TO <user> [IDENTIFIED BY "<password>"]
    -> [WITH GRANT OPTION];


    正如你看到的,在这个命令中有许多待填的内容。让我们逐一地对它们进行介绍,并最终给出一些例子以让你对它们的协同工作有一个了解。

    <privileges>是一个用逗号分隔的你想要赋予的MySQL用户权限的列表。你可以指定的权限可以分为三种类型:

    数据库/数据表/数据列权限: Alter: 修改已存在的数据表(例如增加/删除列)和索引。
    Create: 建立新的数据库或数据表。
    Delete: 删除表的记录。
    Drop: 删除数据表或数据库。
    INDEX: 建立或删除索引。
    Insert: 增加表的记录。
    Select: 显示/搜索表的记录。
    Update: 修改表中已存在的记录。

    全局管理MySQL用户权限:

    file: 在MySQL服务器上读写文件。
    PROCESS: 显示或杀死属于其它用户的服务线程。
    RELOAD: 重载访问控制表,刷新日志等。
    SHUTDOWN: 关闭MySQL服务。

    特别的权限:

    ALL: 允许做任何事(和root一样)。
    USAGE: 只允许登录--其它什么也不允许做。


    ========对于ROOT用户的密码操作(更改用户密码)========
    刚刚安装完的MySQL,MySQL权限管理上只一有个root用户,密码为空,而且只能在本机登录!

    为root加上密码xxx123:
    ./bin/mysqladmin -u root password xxx123
    或写成
    ./bin/mysqladmin -uroot password xxx123

    加下密码之后,在本进行进入mysql:
    ./bin/mysql -uroot -p

    更改root的密码由xxx123改为yy1234:
    ./bin/mysqladmin -uroot -pxxx123 password yy1234

    =======grant 权限 on 数据库对象 to 用户==========
    MySQL 赋予用户权限命令的简单格式可概括为:
    grant 权限 on 数据库对象 to 用户
    grant 权限 on 数据库对象 to 用户 identified by "密码"

    ========用户及权限管理:最常用操作实例========
    (用户名:dba1,密码:dbapasswd,登录IP:192.168.0.10)

    //开放管理MySQL中所有数据库的权限
    grant all on *.* to dba1@'192.168.0.10'identified by "dbapasswd";

    //开放管理MySQL中具体数据库(testdb)的权限
    grant all privileges on testdb to dba1@'192.168.0.10'identified by "dbapasswd";

    grant all on testdb to dba1@'192.168.0.10'identified by "dbapasswd";

    //开放管理MySQL中具体数据库的表(testdb.table1)的权限
    grant all on testdb.teable1 to dba1@'192.168.0.10'identified by "dbapasswd";

    //开放管理MySQL中具体数据库的表(testdb.table1)的部分列的权限
    grant select(id, se, rank) on testdb.table1 to ba1@'192.168.0.10'identified by "dbapasswd";

    //开放管理操作指令
    grant select, insert, update, delete on testdb.* to dba1@'192.168.0.10'identified by "dbapasswd";

    //回收权限
    revoke all on *.* from dba1@localhost;

    //查看 MySQL 用户权限
    show grants;
    show grants for dba1@localhost;
    *************************************************************
    其它参考地址:mysql 添加用户访问权限 http://blog.chinaunix.net/uid-73604-id-3045977.html
    http://blog.csdn.net/e_zhiwen/article/details/5060878

  • 相关阅读:
    Android自动化测试框架UIAutomator原理浅析
    UiAutomator和Appium之间的区别2
    UiAutomator、UiAutomator2、Bootstrap的关系
    好的博客和网站
    appium介绍和工作原理
    UiAutomator1.0 与 UiAutomator2.0
    Jenkins之配置GitHub-Webhook2
    jenkins部署github项目持续集成
    Windows下安装的Jenkins修改默认端口号8080(修改配置文件的方式)
    Git使用教程
  • 原文地址:https://www.cnblogs.com/zhima/p/7474845.html
Copyright © 2011-2022 走看看