• 技术文章 >数据库 >mysql教程

    mysql怎么增加权限

    青灯夜游青灯夜游2022-04-12 15:25:31原创80

    mysql中可用GRANT语句为用户增加权限,语法“GRANT 权限类型 ON 权限级别值 TO user [IDENTIFIED BY '密码'] [WITH子句];”;其中参数“user”表示用户账户,格式为“'用户名'@'主机名'”。

    本教程操作环境:windows7系统、mysql8版本、Dell G3电脑。

    在 MySQL 中,可以利用GRANT 语句为用户授权,增加权限。

    其语法格式如下:

    GRANT priv_type [(column_list)] ON database.table
    TO user [IDENTIFIED BY 'password']
    [WITH with_option [with_option]...]

    其中:

    MySQL 中可以授予的权限有如下几组:

    对应地,在 GRANT 语句中可用于指定权限级别的值有以下几类格式:

    在 MySQL 中,拥有 GRANT 权限的用户才可以执行 GRANT 语句.

    示例:

    使用 GRANT 语句创建一个新的用户 testUser,密码为 testPwd。用户 testUser 对所有的数据有查询、插入权限,并授予 GRANT 权限。

    mysql> GRANT SELECT,INSERT ON *.*
        -> TO 'testUser'@'localhost'
        -> IDENTIFIED BY 'testPwd'
        -> WITH GRANT OPTION;
    Query OK, 0 rows affected, 1 warning (0.05 sec)

    使用 SHOW GRANTS 语句查询用户 testUser 的权限,如下所示。

    1.png

    扩展知识:权限类型说明

    1)授予数据库权限时,<权限类型>可以指定为以下值:

    权限名称对应user表中的字段说明
    SELECTSelect_priv表示授予用户可以使用 SELECT 语句访问特定数据库中所有表和视图的权限。
    INSERTInsert_priv表示授予用户可以使用 INSERT 语句向特定数据库中所有表添加数据行的权限。
    DELETEDelete_priv表示授予用户可以使用 DELETE 语句删除特定数据库中所有表的数据行的权限。
    UPDATEUpdate_priv表示授予用户可以使用 UPDATE 语句更新特定数据库中所有数据表的值的权限。
    REFERENCESReferences_priv表示授予用户可以创建指向特定的数据库中的表外键的权限。
    CREATECreate_priv表示授权用户可以使用 CREATE TABLE 语句在特定数据库中创建新表的权限。
    ALTERAlter_priv 表示授予用户可以使用 ALTER TABLE 语句修改特定数据库中所有数据表的权限。
    SHOW VIEWShow_view_priv表示授予用户可以查看特定数据库中已有视图的视图定义的权限。
    CREATE ROUTINECreate_routine_priv表示授予用户可以为特定的数据库创建存储过程和存储函数的权限。
    ALTER ROUTINEAlter_routine_priv表示授予用户可以更新和删除数据库中已有的存储过程和存储函数的权限。
    INDEXIndex_priv表示授予用户可以在特定数据库中的所有数据表上定义和删除索引的权限。
    DROPDrop_priv表示授予用户可以删除特定数据库中所有表和视图的权限。
    CREATE TEMPORARY TABLESCreate_tmp_table_priv表示授予用户可以在特定数据库中创建临时表的权限。
    CREATE VIEWCreate_view_priv表示授予用户可以在特定数据库中创建新的视图的权限。
    EXECUTE ROUTINEExecute_priv表示授予用户可以调用特定数据库的存储过程和存储函数的权限。
    LOCK TABLESLock_tables_priv表示授予用户可以锁定特定数据库的已有数据表的权限。
    ALL 或 ALL PRIVILEGES 或 SUPERSuper_priv表示以上所有权限/超级权限

    2) 授予表权限时,<权限类型>可以指定为以下值:

    权限名称对应user表中的字段说明
    SELECTSelect_priv授予用户可以使用 SELECT 语句进行访问特定表的权限
    INSERTInsert_priv授予用户可以使用 INSERT 语句向一个特定表中添加数据行的权限
    DELETEDelete_priv授予用户可以使用 DELETE 语句从一个特定表中删除数据行的权限
    DROPDrop_priv授予用户可以删除数据表的权限
    UPDATEUpdate_priv授予用户可以使用 UPDATE 语句更新特定数据表的权限
    ALTERAlter_priv 授予用户可以使用 ALTER TABLE 语句修改数据表的权限
    REFERENCESReferences_priv授予用户可以创建一个外键来参照特定数据表的权限
    CREATECreate_priv授予用户可以使用特定的名字创建一个数据表的权限
    INDEXIndex_priv授予用户可以在表上定义索引的权限
    ALL 或 ALL PRIVILEGES 或 SUPERSuper_priv所有的权限名

    3) 授予列权限时,<权限类型>的值只能指定为 SELECT、INSERT 和 UPDATE,同时权限的后面需要加上列名列表 column-list。

    4) 最有效率的权限是用户权限。

    授予用户权限时,<权限类型>除了可以指定为授予数据库权限时的所有值之外,还可以是下面这些值:

    【相关推荐:mysql视频教程

    以上就是mysql怎么增加权限的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:mysql 增加权限
    上一篇:mysql怎么限制查询数量 下一篇:mysql怎么删除unique约束
    Web大前端开发直播班

    相关文章推荐

    • 完全掌握Mysql的explain• PHP中mysql_connect()函数不支持怎么办• mysql的select语句中in的用法是什么• mysql怎么修改表前缀• 夯实MySQL基础的问题归纳

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网