• 微信
    咨询
    微信在线咨询 服务时间:9:00-18:00
    纵横数据官方微信 使用微信扫一扫
    马上在线沟通
  • 业务
    咨询

    QQ在线咨询 服务时间:9:00-18:00

    选择下列产品马上在线沟通

    纵横售前-老古
    QQ:519082853 售前电话:18950029581
    纵横售前-江夏
    QQ:576791973 售前电话:19906048602
    纵横售前-小李
    QQ:3494196421 售前电话:18965140883
    纵横售前-小智
    QQ:2732502176 售前电话:17750597339
    纵横售前-燕子
    QQ:609863413 售前电话:17750597993
    纵横值班售后
    QQ:407474592 售后电话:400-1886560
    纵横财务
    QQ:568149701 售后电话:18965139141

    售前咨询热线:

    400-188-6560

    业务姚经理:18950029581

  • 关注

    关于纵横数据 更多优惠活动等您来拿!
    纵横数据官方微信 扫一扫关注官方微信
  • 关闭
  • 顶部
  • 您所在的位置 : 首页 > 新闻公告 > 供cn2香港服务器参考MySQL数据库权限管理

    供cn2香港服务器参考MySQL数据库权限管理

    cn2香港服务器参考MySQL数据库权限管理

    cn2香港服务器MySQL权限表

    MySQL数据库实际上是通过将用户写入mysql库中对应的权限表来控制访问权限的。
    权限表分别为: user,db,table_priv,columns_priv和host。
    user:记录允许连接到服务器的用户的信息,里面的权限是全局级的
    db:记录每个用户对各个数据库级别的操作权限
    table_priv:记录每个用户对数据表级别的操作权限
    columns_priv:记录每个用户对数据列级别的操作权限
    host:存储了某个主机对数据库的操作权限,配合db表对给定的主机上数据库级别的操作权限做更细致的控制,但host表一般很少用,新版本MySQL已经没有host表了
    ————————————————

    cn2香港服务器MySQL数据库权限命令格式

    注意:sql语句大小皆可,看个人的使用习惯
    关于数据库的权限管理是通过对用户的权限的设置来完成的
    MySQL创建用户的基础格式:
    在对权限的管理时,通常的写法是创建用户并授权,不会先创建一个用户再进行赋权,通常使用的是下方第两种格式的命令。
    MySQL创建用户的格式为:
    create user 用户名 identified by '该用户密码';
    MySQL赋权的基础格式为:
    grant  权限  on  授权对象(库.表)  to  用户@地址段   identified by  "该用户的密码";
    MySQL撤销权限的基础格式为:
    revoke 撤销相应的权限时,正好与授权相反。
    只要把该授权语句的"grant"改为"revoke", “to"改为"from”
    revoke  权限  on  授权对象(库.表)  from  用户@地址段   identified by  "该用户的密码";
    MySQL数据库权限示例及解析
    【1】授予的权限
    all privileges            除with grant option(让授权的用户,也可以将这些权限 grant 给其他用户,权限复制)之外的所有权限
    alter                     对数据表的修改的权限
    alter routine             更改或者删除存储函数或者存储过程的权限
    create                    创建数据库及表的权限
    create routine            更改和弃用存储过程的能力
    create temporary tables   创建临时表的权限
    create user               创建、重命名和撤销用户的权限
    create view               创建视图的权限
    delete                    数据表中删除数据的权限
    drop                      允许删除数据库、表、视图的权限
    execute                   执行存储过程或者调用函数的权限
    event                     允许查询,创建,修改,删除MySQL事件的权限
    file                      对系统中的文件(本地文件)读取和写操作的权限;
    grant option              用户委派权限的权限
    index                     创建、删除索引的权限
    insert                    向表中插入数据的权限
    lock tables               允许对拥有select权限的表进行锁表的权限
    process                   查看所有用户线程/连接的权限
    references                5.7.6版本后,允许是否创建外键的权限
    reload                    允许执行flush,重新加载权限表的权限
    replication client        允许用户查询从服务器和主服务器位置的权限
    replication slave         允许slave主机通过此用户连接master建立主从的权限
    select                    允许从表中查看数据的权限
    show databases            查看所有数据库名的权限
    show view                 查看视图详细信息的权限
    shutdown                  允许关闭数据库实例的权限
    super                     允许执行一系列数据库管理命令的权限(change、master、kill thread、mysqladmindebug、purge master logs、set global...)
    trigger                   MySQL5.1.6后,允许创建,删除,执行,显示触发器的权限
    update                    允许修改表中的数据的权限
    usage                     创建一个用户之后的默认权限,只代表连接,无其他任何权限
    【2】MySQL数据库授权注意事项
    注意1:
    grant select on 数据库.数据表* to 用户@'%'  identified  by  "密码"   with grant option;
    with grant option 是让该授权的用户,也可以将它的权限赋予给其他用户
    此种授权方法并不提倡,且实际上很少甚至几乎不用。应为权限最好是在DBA的手中,为了安全及方便管理
    注意2:
    grant 可以作用在单个数据库及单个数据表上
    被授权的范围的写法
    *.* 意为所有的数据库及表
    数据库名.*  意为该数据库下的所有表
    数据库名.数据表名 意为该数据库下的该数据表
    注意3:
    被授权的用户的写法
    %代替一整个网段
    '用户名'@'%' 意为所有网段都可以用该用户登陆数据库
    '用户名'@'192.168.123.234' 意为只有此IP可使用该用户登陆数据库
    '用户名'@'192.168.122.%' 意为192.168.122该网段的所有主机都可使用该用户登陆数据库
    【3】数据库授权
    <1>创建用户并授予只读权限
    grant select on 数据库名.* to 用户@'%'  identified  by  "密码";
    <2>创建用户并授予插入数据权限
    grant insert on 数据库名.* to 用户@'%'  identified  by  "密码";
    <3>创建用户并授予改变原有数据的权限
    grant update on 数据库名.* to 用户@'%'   identified  by  "密码";
    <4>创建用户并授予删除数据的权限
    grant delete on 数据库名.* to 用户@'%'   identified  by  "密码";
    要拥有以上所有权限,可写为一条,权限间用“,”逗号隔开。
    grant select, insert, update, delete on 数据库名.* to  用户@'%'   identified  by  "密码";
    <5>创建用户并授予所有权限
    grant all privileges on 数据库名.数据表明  to   用户@'网段或ip'  identified by  "密码" ;
    <6>创建用户并授予其对数据表的创建的权限
    grant create  on  数据库名.*  to  用户@‘网段或IP’  identified by  '密码';
    <7>创建用户并授予其对数据表的修改权限
    grant alter on 数据库名.*  to 用户@‘网段或IP’  identified by '密码';
    <8>创建用户并授予其对数据库/表/视图的删除的权限
    grant drop on  数据库名.*  to 用户@‘网段或IP’  identified by '密码';
    <9>创建用户并授予其对数据库下表的设置外键的权限
    grant references on 数据库名.*  to 用户@‘网段或IP’  identified by  '密码';
    <10>创建用户并授予其对数据库的设置临时表权限
    grant create temporary tables on 数据库名.*  to  用户@‘网段/IP’  identified by '密码';
    <11>创建用户并授予其对某数据库范围的表设置索引的权限
    grant  index on 数据库名.*  to 用户@‘网段或IP’  identified by '密码';
    <12>创建用户并授予其对某数据库范围内创建视图的权限
    grant create view on 数据库名.* to 用户@‘网段或IP’  identified by  '密码';
    <13>创建用户并授予其对某数据库范围内查看视图的权限
    grant show view on 数据库名.* to 用户@‘网段/IP’  identified by  '密码';
    <14>创建用户并授予其对某数据库范围内存储过程、函数的权限
    grant create routine on 数据库名.*  to 用户@‘网段或IP’;   -- now, can show procedure status
    grant alter routine on 数据库名.*  to 用户@'网段或IP';     -- now, you can drop a procedure
    grant execute on 数据库名.* to  用户@'网段或IP';
    <15>创建用户并授予其对数据表中列的权限
    如有很多列,要用逗号隔
    grant select(列的名字)   on 数据库.数据表 to 用户@‘网段或ip’ identified by  ‘密码';
    <16>创建用户并授予对数据表中的存储过程和函数的权限
    grant execute on procedure 数据库名.数据表名 to '用户'@'网段或IP'  identified by '密码';
    grant execute on function 数据库名.数据表名 to '用户'@'网段或IP' identified by '密码'
    ————————————————

    纵横数据cn2香港服务器     E5  16G 240G SSD 1IP  5M  450元/月 特价中
    cn2香港服务器  美国站群服务器 美国高防御服务器 欢迎在线客服  QQ 4001886560  482986990


    最新推荐


    微信公众帐号
    关注我们的微信