95992828九五至尊2

mysql学习之权能管理九五至尊ii

一月 28th, 2019  |  九五至尊ii

数据库权限的意思:

数据库权限的意思:

  为了确保数据库中的业务数据不被非授权的用户私自窃取,需求对数据库的访问者举行各类限制,而数据库安全性控制措施首要有那两种,第一种用户地点识别,手段可以是口令,磁卡,指纹等技术,唯有具备合法地位的姿色可以进入数据库。第三种存取权限决定,分裂角色,对数据库的存取权限是分化的,必须为每一个角色设置其访问的数据库对象、权限。第两种制定数据库管理的管理制度,制度最终约束人的一坐一起,通过制定相应的规章制度,可以确保在适用的小运、由格外的人对数码开展适当的操作。

  为了有限支撑数据库中的业务数据不被非授权的用户私自窃取,需求对数据库的访问者举行各类限制,而数据库安全性控制措施紧要有那三种,第一种用户身份鉴别,手段可以是口令,磁卡,指纹等技能,唯有具备合法身份的红颜能够进去数据库。第二种存取权限决定,差别角色,对数据库的存取权限是差别的,必须为每一个角色设置其访问的数据库对象、权限。第三种制定数据库管理的管理制度,制度最后约束人的行为,通过制定相应的规章制度,可以保险在恰当的时光、由卓殊的人对数据开展适当的操作。

mysql对用户权限的自我批评分为八个级次

mysql对用户权限的检查分为多个级次

1、是还是不是足以与mysql服务器建立链接

1、是不是足以与mysql服务器建立链接

2、是或不是具有某些操作权限(如:select update 等)

2、是不是富有某些操作权限(如:select update 等)

一、与mysql服务器建立链接

mysql服务器如何校验用户是还是不是足以创设链接

1、验证你从哪来 host

2、你是谁 user

3、密码 password

链接mysql的方式:C:\Users\PC003>mysql -h192.168.6.223 -uroot
-pjalja

参数解释:-h:从何方要建立链接

     -u:user

     -p:密码

mysql> select user,host,password from user;
+------+-----------+-------------------------------------------+
| user | host      | password                                  |
+------+-----------+-------------------------------------------+
| root | localhost | *CFAFE434FB0E5D64538901E668E1EACD077A54DF |
| root | %         | *CFAFE434FB0E5D64538901E668E1EACD077A54DF |
+------+-----------+-------------------------------------------+

host=localhost表示可以应用默许主机进行链接(C:\Users\PC003>mysql 
-uroot -pjalja,C:\Users\PC003>mysql -hlocalhost -uroot
-pjalja,C:\Users\PC003>mysql -h127.0.0.1 -uroot -pjalja)
host=%意味该服务器可以与它所在一个局域网(公网)内的有着主机建立链接,该措施在生产环境中不安全

host=192.168.6.224意味该服务器只可以与192.168.6.224主机建立链接 
C:\Users\PC003>mysql -h192.168.6.223 -uroot -pjalja

什么修改host:

mysql> update user set host=’192.168.6.223′ where user =’root’

mysql> flush
privileges;刷新权限(因为修改后数据是在内存中老是操成效户权限相关操作都要开展刷新)

修改密码:

mysql> update user set password=password(‘111111′) where user=’root’;

mysql> flush privileges;

一、与mysql服务器建立链接

mysql服务器怎样校验用户是不是足以创制链接

1、验证你从哪来 host

2、你是谁 user

3、密码 password

链接mysql的方式:C:\Users\PC003>mysql -h192.168.6.223 -uroot
-pjalja

参数解释:-h:从何处要创建链接

     -u:user

     -p:密码

mysql> select user,host,password from user;
+------+-----------+-------------------------------------------+
| user | host      | password                                  |
+------+-----------+-------------------------------------------+
| root | localhost | *CFAFE434FB0E5D64538901E668E1EACD077A54DF |
| root | %         | *CFAFE434FB0E5D64538901E668E1EACD077A54DF |
+------+-----------+-------------------------------------------+

host=localhost表示可以接纳默许主机举办链接(C:\Users\PC003>mysql 
-uroot -pjalja,C:\Users\PC003>mysql -hlocalhost -uroot
-pjalja,C:\Users\PC003>mysql -h127.0.0.1 -uroot -pjalja)
host=%表示该服务器可以与它所在一个局域网(公网)内的兼具主机建立链接,该方法在生育环境中不安全

九五至尊ii,host=192.168.6.224意味该服务器只可以与192.168.6.224主机建立链接 
C:\Users\PC003>mysql -h192.168.6.223 -uroot -pjalja

怎么样修改host:

mysql> update user set host=’192.168.6.223′ where user =’root’

mysql> flush
privileges;刷新权限(因为修改后数据是在内存中老是操效能户权限相关操作都要举行刷新)

修改密码:

mysql> update user set password=password(‘111111′) where user=’root’;

mysql> flush privileges;

二、mysql怎么着进展权力检查

mysql中有一个mysql库该库下user表检查该用户是还是不是存在,db表检查该用户对什么样库有怎么着操作权限,tables_priv表检查该用户对那一个表有哪些操作权限。

创办用户:CREATE USER
‘username’@’host’ IDENTIFIED BY ‘password’; 

证实:username – 你将制造的用户名, host –
指定该用户在哪个主机上可以登陆,即使是本地用户可用localhost,
倘诺想让该用户可以从随机远程主机登陆,可以运用通配符%。

*       password –
该用户的登陆密码,密码可以为空,假设为空则该用户可以不必要密码登陆服务器。*

授权:

grant [权限1,权限2] on *.* to user@’host’ identfied by ‘password’;

常用权限:all,create,drop,insert,delete,update,select

譬如:授予ls用户所有库所有表的具有权限并得以从该局域网该网段任何主机登陆。

mysql> grant all on *.* to ‘ls’@’192.168.6.%’ identified by
‘111111’;

应用该用户登陆:C:\Users\PC003>mysql -h192.168.6.223 -uls -p111111;

翻看ls用户切实有如何权力:

mysql> select * from  mysql.user where user='ls' \G;
*************************** 1. row ***************************
                  Host: 192.168.6.%
                  User: ls
              Password: *FD571203974BA9AFE270FE62151AE967ECA5E0AA
           Select_priv: Y
           Insert_priv: Y
           Update_priv: Y
           Delete_priv: Y
           Create_priv: Y
             Drop_priv: Y
           Reload_priv: Y
         Shutdown_priv: Y
          Process_priv: Y
             File_priv: Y
            Grant_priv: N
       References_priv: Y
            Index_priv: Y
            Alter_priv: Y
          Show_db_priv: Y
            Super_priv: Y
 Create_tmp_table_priv: Y
      Lock_tables_priv: Y
          Execute_priv: Y
       Repl_slave_priv: Y
      Repl_client_priv: Y
      Create_view_priv: Y
        Show_view_priv: Y
   Create_routine_priv: Y
    Alter_routine_priv: Y
      Create_user_priv: Y
            Event_priv: Y
          Trigger_priv: Y
Create_tablespace_priv: Y
              ssl_type:
            ssl_cipher:
           x509_issuer:
          x509_subject:
         max_questions: 0
           max_updates: 0
       max_connections: 0
  max_user_connections: 0
                plugin:
 authentication_string: NULL

 权限回收:收回ls的有着权力

mysql> revoke all on *.* from ls@’192.168.6.%’;

授权某个库的权杖:

mysql> grant all on blog.* to
ls@’192.168.6.%’;授予ls用户所有blog数据库的所有权力。

诸如此类ls用户在user表中绝非权力,那时将开展db级其他权杖检查

mysql> select * from  mysql.db where user='ls' \G;
*************************** 1. row ***************************
                 Host: 192.168.6.%
                   Db: blog
                 User: ls
          Select_priv: Y
          Insert_priv: Y
          Update_priv: Y
          Delete_priv: Y
          Create_priv: Y
            Drop_priv: Y
           Grant_priv: N
      References_priv: Y
           Index_priv: Y
           Alter_priv: Y
Create_tmp_table_priv: Y
     Lock_tables_priv: Y
     Create_view_priv: Y
       Show_view_priv: Y
  Create_routine_priv: Y
   Alter_routine_priv: Y
         Execute_priv: Y
           Event_priv: Y
         Trigger_priv: Y

回收ls用户所有权限并给予某各表权限:授予ls用户blog库中user表crud权限

mysql> revoke all on *.* from ls@'192.168.6.%';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> grant insert,update,select,delete on blog.user to ls@'192.168.6.%';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

诸如此类ls用户在db级别中向来不权限,那时将拓展tables_priv级其余权柄检查:

mysql> select * from  mysql.tables_priv where user='ls' \G;
*************************** 1. row ***************************
       Host: 192.168.6.%
         Db: blog
       User: ls
 Table_name: user
    Grantor: root@localhost
  Timestamp: 2017-02-09 14:35:38
 Table_priv: Select,Insert,Update,Delete
Column_priv:
1 row in set (0.00 sec)

mysql权限决定流程:

九五至尊ii 1

注意:mysql的权限检查可以精确到某列数据。

 

二、mysql如何进展权力检查

mysql中有一个mysql库该库下user表检查该用户是或不是存在,db表检查该用户对哪些库有啥样操作权限,tables_priv表检查该用户对这么些表有啥操作权限。

开创用户:CREATE USER
‘username’@’host’ IDENTIFIED BY ‘password’; 

证实:username – 你将创制的用户名, host –
指定该用户在哪个主机上可以登陆,即使是本地用户可用localhost,
如若想让该用户可以从随机远程主机登陆,可以利用通配符%。

*       password –
该用户的登陆密码,密码可以为空,假诺为空则该用户能够不须要密码登陆服务器。*

授权:

grant [权限1,权限2] on *.* to user@’host’ identfied by ‘password’;

常用权限:all,create,drop,insert,delete,update,select

譬如:授予ls用户所有库所有表的有着权限并得以从该局域网该网段任何主机登陆。

mysql> grant all on *.* to ‘ls’@’192.168.6.%’ identified by
‘111111’;

拔取该用户登陆:C:\Users\PC003>mysql -h192.168.6.223 -uls -p111111;

查看ls用户切实有如何权力:

mysql> select * from  mysql.user where user='ls' \G;
*************************** 1. row ***************************
                  Host: 192.168.6.%
                  User: ls
              Password: *FD571203974BA9AFE270FE62151AE967ECA5E0AA
           Select_priv: Y
           Insert_priv: Y
           Update_priv: Y
           Delete_priv: Y
           Create_priv: Y
             Drop_priv: Y
           Reload_priv: Y
         Shutdown_priv: Y
          Process_priv: Y
             File_priv: Y
            Grant_priv: N
       References_priv: Y
            Index_priv: Y
            Alter_priv: Y
          Show_db_priv: Y
            Super_priv: Y
 Create_tmp_table_priv: Y
      Lock_tables_priv: Y
          Execute_priv: Y
       Repl_slave_priv: Y
      Repl_client_priv: Y
      Create_view_priv: Y
        Show_view_priv: Y
   Create_routine_priv: Y
    Alter_routine_priv: Y
      Create_user_priv: Y
            Event_priv: Y
          Trigger_priv: Y
Create_tablespace_priv: Y
              ssl_type:
            ssl_cipher:
           x509_issuer:
          x509_subject:
         max_questions: 0
           max_updates: 0
       max_connections: 0
  max_user_connections: 0
                plugin:
 authentication_string: NULL

 权限回收:收回ls的享有权力

mysql> revoke all on *.* from ls@’192.168.6.%’;

授权某个库的权杖:

mysql> grant all on blog.* to
ls@’192.168.6.%’;授予ls用户所有blog数据库的有所权力。

诸如此类ls用户在user表中尚无权力,那时将拓展db级其余权杖检查

mysql> select * from  mysql.db where user='ls' \G;
*************************** 1. row ***************************
                 Host: 192.168.6.%
                   Db: blog
                 User: ls
          Select_priv: Y
          Insert_priv: Y
          Update_priv: Y
          Delete_priv: Y
          Create_priv: Y
            Drop_priv: Y
           Grant_priv: N
      References_priv: Y
           Index_priv: Y
           Alter_priv: Y
Create_tmp_table_priv: Y
     Lock_tables_priv: Y
     Create_view_priv: Y
       Show_view_priv: Y
  Create_routine_priv: Y
   Alter_routine_priv: Y
         Execute_priv: Y
           Event_priv: Y
         Trigger_priv: Y

回收ls用户拥有权力并赋予某各表权限:授予ls用户blog库中user表crud权限

mysql> revoke all on *.* from ls@'192.168.6.%';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> grant insert,update,select,delete on blog.user to ls@'192.168.6.%';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

诸如此类ls用户在db级别中尚无权限,那时将开展tables_priv级其余权柄检查:

mysql> select * from  mysql.tables_priv where user='ls' \G;
*************************** 1. row ***************************
       Host: 192.168.6.%
         Db: blog
       User: ls
 Table_name: user
    Grantor: root@localhost
  Timestamp: 2017-02-09 14:35:38
 Table_priv: Select,Insert,Update,Delete
Column_priv:
1 row in set (0.00 sec)

mysql权限控制流程:

九五至尊ii 2

专注:mysql的权杖检查可以规范到某列数据。

 

Your Comments

近期评论

    功能


    网站地图xml地图