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');
  • 相关阅读:
    微信小程序HTTPS
    微信商城-1简介
    va_list
    Event log c++ sample.
    EVENT LOGGING
    Analyze Program Runtime Stack
    unknow table alarmtemp error when drop database (mysql)
    This application has request the Runtime to terminate it in an unusual way.
    How to check if Visual Studio 2005 SP1 is installed
    SetUnhandledExceptionFilter
  • 原文地址:https://www.cnblogs.com/newbest/p/9384602.html
Copyright © 2011-2022 走看看