版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库技术和应用程序节目,第5章MYSQL权限和安全性,第2页,牙齿章节的主要内容,5.1 MYSQL权限管理5.1.1 MYSQL权限管理的工作原理5.1.2权限表访问5.1.3帐户管理5.2.3帐户管理5.2.1操作系统安全问题5.2.2 MYSQL数据库安全问题5.2不符合规律,拒绝连接。验证权限:将用户执行数据库操作的权限授予经过验证的合法用户。MYSQL用户身份验证是通过用户名主机名(例如rootlocalhost)实现的联合身份验证。在每个主机上具有相同用户名的用户被视为行不通的用户(例如,不同于)。记录用户权限信息的表在MYSQL启动时加载到内存中。第4页、5.1.2权限表访问和
2、MYSQL权限访问这两个过程都要求使用“MySQL”数据库下的系统表。使用者认证:使用使用者、db、主机权限表格来决定使用者的合法性和预设权限。验证权限:验证基本权限后,可以通过tables_priv和columns_priv、procs_priv表为表、列和存储过程提供更精确的权限控制。用户连接时访问权限表的过程是首先验证通过user表中的host、user和password字段连接的IP、用户名和密码是否正确的过程。验证后,按userdbtables_privcolumns_priv顺序获取数据库权限。权限范围依次缩小。第5页,权限分配说明,分配userdbtables_privcolum
3、ns_priv的默认步骤:1,全局权限检查user表,如果该用户对所有数据库的权限为y,则不再检查其他权限表。2、如果用户表中的相应权限为N,则在db表中该用户的数据库检查Db表中,如果为y,则用户具有数据库的指定权限,并且不再检查其他权限表。3、如果db表的相应权限为n,则检查tables_priv表中相应数据库下的特定表(例如,如果为y,则检查该表是否具有相应权限)。4.如果tables_priv表的相应权限为n,请检查columns_priv中该表的特定字段以检查权限。实际上,userdbtables_privcolumns_priv顺序对应于服务器分配数据库分配表分配字段,第6页,权限
4、分配说明,以及分配userdbtables_privcolumns_priv的默认步骤创建帐户5.1.您必须具有MySQL数据库或insql的全局create user权限,才能同时创建多个帐户,如Create user zzh 1 localhost identified by 123456、zzh 2 localhost identified by 123456。第9页,创建帐户添加用户表唱片,语法insert into user (host,user,password,SSL _ cipher,x509 _ ii)如果直接将用户插入用户表,则密码为passer
5、t into user否则,即使用户创建,也无法登录。User表中的SSL _ cipher、x509 _ issuer和x509 _ subject三个字段没有默认值,因此您必须填写初始值才能插入用户。将用户直接插入用户表后,必须运行FLUSH PRIVIEGES。命令通过重新装载MYSQL牙齿user表的权限来应用添加的用户。当然,您还可以重新启动MYSQL服务器。,第10页,创建帐户GRANT语句,默认语法GRANT priv_type (column_list),priv_type (column_list).on object _ type TBL _ name | *
6、 | *。* | db _ name。* to User ii User identified by password password.with option object _ type=table | function | procedure grant语句用于在创建用户时指定该用户的相关权限,WITH OPTION选项允许创建的用户将自己收到的权限授予其他用户。第11页,创建帐户GRANT语句,授权可以分为多个级别。全局级别:全局权限应用于指定服务器中的所有数据库条目。这些权限存储在mysql.user表中。GRANT ALL ON *。*和REVOKE ALL ON *。
7、*仅授予和撤销全局权限。表格层次:表格权限会套用至指定表格中的所有资料栏。这些权限存储在mysql.talbes_priv表中。GRANT ALL ON db_name.tbl_name和REVOKE ALL ON db_name.tbl_name仅授予和撤销表权限。资料列层次:资料列权限会套用至指定表格中的单一资料列。这些权限存储在mysql.columns_priv表中。使用REVOKE时,必须指定与批准的行相同的行。子节目级别:create routine、alter routine、execute和GRANT权限应用于存储的子程序。这些权限可以在全局和数据库级别授予。这些权限(CREA
8、TE ROUTINE除外)在子节目级别授予,存储在cs_priv表中。第12页,帐户创建GRANT语句,对于全局、数据库、表和子节目级别,GRANT ALL只能授予赋权级别上存在的权限。例如,db _ name .*中的grant all是数据库级语句。您可以使用MySQL将权限授予不存在的数据库目标。这样做是为了数据库管理员准备将要创建的数据库目标的用户帐户和权限。删除表格或数据库时,MySQL不会自动撤销权限。但是,删除子程序将撤消分配给该子程序的所有子节目级别的权限。创建每个级别的权限表,第13页,帐户GRANT语句,每个级别的赋权示例:gr
9、ant all privileges on * .* to ZZ h1 localhost identified by 123455全球级别grant all privileges on test。* to ZZ h1 localhost identified by 123456;曲面级别grant select,create,drop on ST . student to ZZ h1 localhost identified by 123456;曲面级别grant select,update(sname)on ST . student to ZZ h1 localhost identifie
10、d by 123456;行级grant execute on procedure ST . get record to zzh 1 localhost identified by 123456;子节目级别,第14页,创建帐户GRANT语句,权限限制用户资源:GRANT ALL ON customer。* To Francis localhost identified by frank with MAX _ queries _ PER _ HOUR 20每小时执行查询的次数MAX_UPDATES_PER_HOUR 10每小时执行更新的次数MAX_UPDATES_PER_HOUR用于
11、创建特定用户权限。grant all privileges on *。* to 192.168.1.% identified by 123456,第16页,查看权限,1,SHOW GRANT语句SHOW GRANTS FOR userhost G,2,使用SELECT语句查看权限表SELECT * from information _ schema . schema.on object _ type TBL _ name User.object _ type=table | function | procedure revoke叙述句可以同时回收多个使用者指定的工作权限。REVO
12、KE语句无法删除MYSQL用户。要撤销所有权限,请使用以下语法:Revoke all privileges,grant option from user,user.第18页,更改密码,1,修改root用户密码mysqladmin命令使用MySQL UPDATE user表UPDATE MySQL . userset password=password(新密码),第19页,更改密码,2,修改root最终用户密码SET语句SET password for user host=password( new password );使用UPDATE修改user表updatemy
13、sql . userset password=password(新密码)where User=user and host=host 。注意:使用UPDATE语句后,必须使用FLUSH PRIVILEGES语句重新加载权限表。3,最终用户修改自己的密码SET password=password(“新密码”);第20页,用户名更改,1,RENAME USER语句RENAME USER old _ user to new _ user,如果使用old _ user to new _ user的旧帐户不存在或新帐户已存在,则会出错Old_user和new_user值的提供方式与GRANT
14、语句相同。第21页,删除帐户,1,使用DROP USER语句DROP USER userhost,2,使用DELETE语句查看权限表DELETE from USER where USER= ZZ h6 and hostflash privileges;第22页,用户登录,MYSQL退出,用户登录MYSQL默认步骤1,DOS中MYSQL的安装目录BIN目录下的2,运行以下登录语句MYSQL h localhost u root p 3,输入密码5.2 MYSQL安全问题,5只有确保数据安全,用户才能信任系统提供的信息,并为业务发展提供可靠的支持。在讨论安全性时,强调必须完全保护整个服务器主机(不仅仅是MySQL服务器),避免窃听、修改、重放和拒绝服务等各种类型的攻击。牙齿部分共24页,5.2.1操作系统安全问题,1 .严格控制操作系统帐户和权限2。避免以root(操作系统高级管理员)权限运行MYSQL。可以轻松保护MYSQL安装目录。3.防止DNS欺骗。指定主机时,请尽可能使用IP地址标识主机。第25页,5.2.2 MYSQL数据库安全问题,1 .删除匿名帐户(某些版本的MYSQL创建匿名用户)。2.为根帐户设置密码。3.设定安全密码。密码复杂性,使用过程的安全性。4.仅授予
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论