zoukankan      html  css  js  c++  java
  • mysql用户管理(开户、权限)

    一、用户创建:

    1、最简单的创建方法: CREATE USER 123 IDENTIFIED BY '123';        123表示你要建立的用户名,后面的123表示密码

    2、限制在固定地址登陆,比如localhost 登陆:CREATE USER yy@localhost IDENTIFIED BY '123';

    二、简单的授权:

    1、全部授权: GRANT ALL PRIVILEGES ON *.* TO user;@localhost

    2、选择性授权:grant select,insert,update,delete on *.* to test1@"%" Identified by "123";  grant select on 数据库.* to 用户名@登录主机 identified by "密码"

    三、以下是比较全的授权与撤销权限的说明:

    GRANT 语句的语法如下:
         GRANT privileges (columns)
               ON what
               TO user IDENTIFIEDBY "password"
               WITH GRANT OPTION
    
    
    对用户授权
    mysql>grant rights on database.* to user@host identified by "pass";
    
    例1:
       增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。
        grant select,insert,update,delete on *.* to mailto:test1@"" Identified by "abc";
    
          ON 子句中*.* 说明符的意思是“所有数据库,所有的表”
    
    
    例2:
       增加一个用户test2密码为abc, 让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作。
    grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc";
    
    
    例子3
    增加一个用户custom,他能从主机localhost、server.domain和whitehouse.gov连接。他只想要从 localhost存取bankaccount数据库,从whitehouse.gov存取expenses数据库和从所有3台主机存取customer 数据库。他想要从所有3台主机上使用口令stupid。
    
    为了使用GRANT语句设置个用户的权限,运行这些命令:
    
    shell> mysql --user=root mysql
    
    mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
                    ON bankaccount.* TO custom@localhost   IDENTIFIED BY 'stupid';
    mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
                    ON expenses.*   TO custom@whitehouse.gov IDENTIFIED BY 'stupid';
    mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
                    ON customer.* TO custom@'%'   IDENTIFIED BY 'stupid';
    
    ==============================================
    权限信息用user、db、host、tables_priv和columns_priv表被存储在mysql数据库中(即在名为mysql的数据库中)。
    
    权限             列                   Context
    select           Select_priv          表                                      
    insert           Insert_priv          表  
    update           Update_priv          表 
    delete           Delete_priv          表 
    index            Index_priv           表 
    alter            Alter_priv           表 
    create           Create_priv          数据库、表或索引 
    drop             Drop_priv            数据库或表 
    grant            Grant_priv           数据库或表 
    references       References_priv      数据库或表 
    reload           Reload_priv          服务器管理 
    shutdown         Shutdown_priv        服务器管理 
    process          Process_priv         服务器管理 
    file             File_priv            在服务器上的文件存取
    
    1.
    select、insert、update和delete权限        
    允许你在一个数据库现有的表上实施操作,是基本权限
    
    2.
    alter权限允许你使用ALTER TABLE
    
    3.
    create和drop权限允许你创建新的数据库和表,或抛弃(删除)现存的数据库和表
           如果你将mysql数据库的drop权限授予一个用户,该用户能抛弃存储了MySQL存取权限的数据库!
    
    4.
    grant权限允许你把你自己拥有的那些权限授给其他的用户。
    
    你不能明显地指定一个给定用户应该被拒绝存取。即,你不能明显地匹配一个用户并且然后拒绝连接。 
    你不能指定一个用户有权创建立或抛弃一个数据库中的表,也不能创建或抛弃数据库本身。
    
    
    可以同时列出许多被授予的单个权限。
    
    例如,如果想让用户能读取和修改已有表的内容,但又不允许创建新表或删除表,可按如下授权:
         GRANT SELECT,INSERT,DELETE,UPDATE   ON samp_db.*    TO mailto:user@
             IDENTIFIEDBY "pass" 
    
     
    
    grant ALL PRIVILEGES on *.* to username@"xxx.xxx.xxx.xxx" identified by 'password' with grant option;
    flush tables;
    flush privileges;
    
    创建一个用户,并赋予所有权利,当然你可将grant ALL PRIVILEGES 改成:grant insert,select,update,delete,create,alter,index
    
    查看:
    select host,user,password from user;
    修改:
    use mysql
    update user set host='xxx.xxx.xxx.%' where user='root'
    删除:
    delete from user where host='%';
  • 相关阅读:
    Working with macro signatures
    Reset and Clear Recent Items and Frequent Places in Windows 10
    git分支演示
    The current .NET SDK does not support targeting .NET Core 2.1. Either target .NET Core 2.0 or lower, or use a version of the .NET SDK that supports .NET Core 2.1.
    Build website project by roslyn through devenv.com
    Configure environment variables for different tools in jenkins
    NUnit Console Command Line
    Code Coverage and Unit Test in SonarQube
    头脑王者 物理化学生物
    头脑王者 常识,饮食
  • 原文地址:https://www.cnblogs.com/xuzhenmin/p/3713358.html
Copyright © 2011-2022 走看看