zoukankan      html  css  js  c++  java
  • mysql数据库之用户权限(三)

    一、权限列表

    Select_priv。确定用户是否可以通过SELECT命令选择数据。

     

    Insert_priv。确定用户是否可以通过INSERT命令插入数据。

     

    Update_priv。确定用户是否可以通过UPDATE命令修改现有数据。

     

    Delete_priv。确定用户是否可以通过DELETE命令删除现有数据。

     

    Create_priv。确定用户是否可以创建新的数据库和表。

     

    Drop_priv。确定用户是否可以删除现有数据库和表。

     

    Reload_priv。确定用户是否可以执行刷新和重新加载MySQL所用各种内部缓存的特定命令,包括日志、权限、主机、查询和表。

     

    Shutdown_priv。确定用户是否可以关闭MySQL服务器。在将此权限提供给root账户之外的任何用户时,都应当非常谨慎。

     

    Process_priv。确定用户是否可以通过SHOW PROCESSLIST命令查看其他用户的进程。

     

    File_priv。确定用户是否可以执行SELECT INTO OUTFILE和LOAD DATA INFILE命令。

     

    Grant_priv。确定用户是否可以将已经授予给该用户自己的权限再授予其他用户。例如,如果用户可以插入、选择和删除foo数据库中的信息,并且授予了GRANT权限,则该用户就可以将其任何或全部权限授予系统中的任何其他用户。

     

    References_priv。目前只是某些未来功能的占位符;现在没有作用。

     

    Index_priv。确定用户是否可以创建和删除表索引。

     

    Alter_priv。确定用户是否可以重命名和修改表结构。

     

    Show_db_priv。确定用户是否可以查看服务器上所有数据库的名字,包括用户拥有足够访问权限的数据库。可以考虑对所有用户禁用这个权限,除非有特别不可抗拒的原因。

     

    Super_priv。确定用户是否可以执行某些强大的管理功能,例如通过KILL命令删除用户进程,使用SET

     

    GLOBAL修改全局MySQL变量,执行关于复制和日志的各种命令。

     

    Create_tmp_table_priv。确定用户是否可以创建临时表。

     

    Lock_tables_priv。确定用户是否可以使用LOCK TABLES命令阻止对表的访问/修改。

     

    Execute_priv。确定用户是否可以执行存储过程。此权限只在MySQL 5.0及更高版本中有意义。

     

    Repl_slave_priv。确定用户是否可以读取用于维护复制数据库环境的二进制日志文件。此用户位于主系统中,有利于主机和客户机之间的通信。

     

    Repl_client_priv。确定用户是否可以确定复制从服务器和主服务器的位置。

     

    Create_view_priv。确定用户是否可以创建视图。此权限只在MySQL 5.0及更高版本中有意义。关于视图的更多信息,参见第34章。

     

    Show_view_priv。确定用户是否可以查看视图或了解视图如何执行。此权限只在MySQL 5.0及更高版本中有意义。关于视图的更多信息,参见第34章。

     

    Create_routine_priv。确定用户是否可以更改或放弃存储过程和函数。此权限是在MySQL 5.0中引入的。

     

    Alter_routine_priv。确定用户是否可以修改或删除存储函数及函数。此权限是在MySQL 5.0中引入的。

     

    Create_user_priv。确定用户是否可以执行CREATE USER命令,这个命令用于创建新的MySQL账户。

     

    Event_priv。确定用户能否创建、修改和删除事件。这个权限是MySQL 5.1.6新增的。

     

    Trigger_priv。确定用户能否创建和删除触发器,这个权限是MySQL 5.1.6新增的。

     

    max_queries_per_hour:允许用户每小时执行的查询语句数量;

    max_updates_per_hour:允许用户每小时执行的更新语句数量;

    max_connections_per_hour:允许用户每小时连接的次数;

    max_user_connections:允许用户同时连接服务器的数量;

    二、创建用户sql语句

    #创建用户(只能本地访问)
    create user 'user'@'localhost' identified by 'pass';
    
    #创建用户(所有远程主机访问访问)
    create user 'user'@'%' identified by 'pass';
    
    #用户授权(给user用户授予testdb数据的查询和增加权限)
    grant select,insert on testdb to user;
    
    #用户授权数据库。*代表整个数据库 
    #with grant option   允许被授予权限的人把这个权限授予其他的人。一般不加
    grant all privileges on dbName.tableName to 'username'@'localhost' identified by 'password' with grant option;
    
    #username对tdbNames数据库有select,delete,update,create,drop权限。
    grant select,delete,update,create,drop on dbName.* to 'username'@'192.168.%' identified by 'pass';
    
    #授权完成后需要重新载入赋权表
    flush privileges;
    
    #解除授权
    #解除用户所有数据库(表)的所有权限(不包含赋权权限) 
    revoke all privileges on *.* from user;
    #解除赋权权限 
    revoke grant option on *.* from user;  
    
    #删除用户
    delete from mysql.user where user='user';
    
    #设置与更改用户密码
    set password for 'user'@'localhost' = password('newpassword'); 
    set password for 'user'@'%' = password('123456');
    #如果是当前登陆用户用: 
    set password = password('newpassword');
  • 相关阅读:
    C语言实现数据结构中的顺序栈
    什么是A股什么是B股,为什么有AB股之分?
    C语言实现数据结构中的链队列
    C语言实现数据结构中的循环链表
    C语言实现数据结构的链表
    C语言中指针变量作为函数参数和一般变量作为函数参数的区别
    javascrip实现下拉框联动
    C语言实现数据结构中的顺序表
    C语言实现数据结构中的链栈
    SQL语句之基础增删改查 time
  • 原文地址:https://www.cnblogs.com/newbest/p/9384602.html
Copyright © 2011-2022 走看看