MySQL数据库维护课件_第1页
MySQL数据库维护课件_第2页
MySQL数据库维护课件_第3页
MySQL数据库维护课件_第4页
MySQL数据库维护课件_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MySQL数据库维护主要内容:1、复习MySQL数据库安全配置2、备份数据

3、数据库维护

户外座椅/公园椅/景观座椅/园林椅/长椅/花箱/花钵/垃圾桶/垃圾箱/公园长椅/公园休闲椅/公园椅厂家/户外公园椅/休闲椅厂家/户外长椅/花箱厂家/广场休闲椅/分类垃圾桶/分类垃圾桶厂家/product_8_p_1.html垃圾桶生产厂家/product_8_p_1.html花箱价格/product_6_p_1.html路桩/product_10_p_1.html自行车架/product_12_p_1.html树篦子/product_11_p_1.html分类垃圾桶/户外垃圾桶/垃圾桶/垃圾桶厂家/不锈钢垃圾桶/product/product_32_1.html公园椅/公园长椅/公园休闲椅/公园椅厂家/户外公园椅/公园椅批发/户外休闲椅/休闲椅厂家/广场休闲椅/小区休闲椅/户外长椅/园林休闲椅/MySQL数据库的安全配置

MySQL

是完全网络化的跨平台关系型数据库系统,同时是具有客户机/服务器体系结构的分布式数据库管理系统。

MySQL数据库的安全配置:

1、用户管理

2、用户权限管理MySQL授权表

当首次安装MySQL时,MySQL安装程序在数据库mysql中设置5个MySQL授权表,由这5个授权表共同决定哪个用户可以连接服务器、从哪里连接以及连接后可以执行哪些操作。初始化时,表host、tables_priv

和columnts_priv是空的,表user和db就决定了MySQL默认的访问规则。

下面以MySQL管理员的身份查看一下表user和db的内容。授权表描述user定义哪些用户从哪些主机可以连接到数据库服务器,这些用户的密码以及它们对系统中所有数据库的访问权限(全局权限)db定义连接到数据库服务器的那些用户可以使用哪些数据库,在这些数据库中可执行哪些操作(数据库级权限),db通常与host配合使用host当表db中的Host字段值为空时,由表host定义用户可以从哪些主机连接到数据库服务器,且不同的主机对指定的数据库可有不同的权限tables_priv定义连接到数据库服务器的那些用户可以访问哪些表,以及在这些表中可以执行哪些操作(表级权限)columnts_priv定义连接到数据库服务器的那些用户可以访问哪些字段,以及在这些字段中可以执行哪些操作(字段级权限)授权表

查看表user和db的内容1、查看数据库mysql中表user前4个字段的内容:

selecthost,user,password,select_privfrommysql.user;2、要查看数据库mysql中表db的前4个字段内容:

selecthost,db,user,select_privfrommysql.db;用户管理MySQL服务器中内置系统数据库,数据库名为mysql,数据库中内置数据表,数据表名为user。只能由数据库管理员(root,123)对用户账号进行维护,增加新用户、修改用户密码、删除用户账号、用户账号授权。使用root、123登录mysql数据库管理系统。进入mysql>提示符User数据表中保存所有授权用户(允许使用mysql数据库的用户)的用户名、用户密码以及用户权限表1/2。序号权限参数说明1Select_priv显示记录权限2Insert_priv插入记录权限3Update_priv更新记录权限4Delete_priv删除记录权限5Create_priv建立数据库、数据表权限6Drop_priv删除表文件的权限7Index_priv创建索引字段权限8Alter_priv修改表结构权限User数据表中保存所有授权用户(允许使用mysql数据库的用户)的用户名、用户密码以及用户权限表2/2。序号权限参数说明9File_priv读写服务器上文件的权限10Grant_priv授权其他用户权限11References_priv维护外键权限12Show_db_priv浏览服务器上数据库权限13Lock_tables_priv创建删除表锁权限1.增加新的用户创建新的用户账号包括用户名、用户密码、用户权限。打开mysql数据库插入新的用户账号数据到user数据表激活新创建的用户账号命令格式:usemysql;insert

intomysql.user(主机名称,用户名称,用户密码,权限1,权限2,…)

values(host,user,password,select_priv,…);flush

privileges;增加新的用户例1:创建一个新用户guest,并为他设置密码为guest,同时允许它从任何主机连接到数据库服务器,设置步骤如下:①usemysql;②创建新用户guest,并为他设置密码,同时允许它从任何主机连接到数据库服务器的命令:

insertintomysql.user(host,user,password)values(‘%’,‘guest’,password(‘guest’)); 注意:此处必须使用password()函数,该函数会为密码加密,这样在表user的字段password中保存的就是经过加密的密码。③重载MySQL授权表,可使用下面的命令:

flushprivileges;增加新的用户例2:用户名bookuser,用户密码111111,拥有select,insert,update,delete,create,drop权限。usemysql;insert

intomysql.user(host,user,password,select_priv,insert_priv,update_priv,delete_priv,create_priv,drop_priv)values

(‘localhost’,’bookuser’,password(‘111111’),’y’,’y’,’y’,’y’,’y’,’y’);flush

privileges;2、修改用户密码命令格式:update<表名>

setpassword=password(新密码)where<条件>;usemysql;updatemysql.user

setpassword=password(新密码)where<条件>;flush

privileges;修改用户密码例题修改bookuser用户的密码111111为222222usemysql;updatemysql.user

setpassword=password(“222222”)

whereuser=“bookuser”;flush

privileges;3.删除用户账号命令格式:deletefrom<表名>where<条件>usemysql;delete

frommysql.user

where<条件>;flush

privileges;删除用户账号例题删除booktest用户账号usemysql;delete

frommysql.user

whereuser=‘bookuser’;flush

privileges;删除用户账号例题【例】要删除用户guest,可使用下面的命令。

deletefrommysql.userwhereuser='guest';flush

privileges;用户权限

MySQL授权表中权限字段有以下两种形式:(1)在表user、db和host中,所有权限字段都被声明为ENUM(‘N’,‘Y’),即每一个权限字段值都可以被设置为‘N’或‘Y’,并且缺省值为‘N’,表1列出了表user、db和host中可设置权限的字段。(2)在表tables_priv和columns_priv中,权限字段被声明为SET类型,即可以从所定义的权限集合中选择任意个权限,表2列出了表tables_priv和columns_priv中权限字段及可设置的权限。授权表user、db和host中可设置的权限字段权限名拥有该权限的用户可执行的操作select_priv*SELECT数据查询insert_priv*INSERT数据插入update_priv*UPDATE数据修改delete_priv*DELETE数据删除create_priv*CREATE创建数据库和表drop_priv*DROP删除数据库和表reload_privRELOAD重载/刷新MySQL服务器shutdown_privSHUTDOWN关闭正在运行的MySQL服务器process_privPROCESS在MySQL服务器上跟踪一项活动file_privFILE在服务器上读写文件grant_priv*GRANT授予其他用户拥有该用户拥有的权限references_priv*REFERENCES创建、编辑和删除外键引用index_priv*INDEX创建、编辑和删除表索引alter_priv*ALTER修改表show_db_privSHOWDATABASES显示可使用的数据库super_privSUPER执行管理命令create_tmp_table_priv*CREATETEMPORARYTABLES创建临时表lock_tables_priv*LOCKTABLES创建和删除表锁定execute_privEXECUTE执行被保存的程序repl_slave_privREPLICATIONSLAVE在复制内容中读主二进制日志repl_client_privREPLICATIONCLIENT在复制内容中申请主、副信息授权表tables_priv和columns_priv中权限字段和可设置的权限表名字段名权限集合中的成员tables_privtable_privSelect、Insert、Update、Delete、Create、Drop、Grant、References、Index、Altercolumn_privSelect、Insert、Update、Referencescolumns_privcolumn_privSelect、Insert、Update、References用户权限的设置1.使用GRANT语句授权GRANT语句的基本格式如下:GRANT权限列表[(字段列表)]ON数据库名称.表名称TO用户名@域名或IP地址[IDENTIFIEDBY'密码值'][WITHGRANTOPTION];设置“域名或IP地址”的几种常见情况域名或IP地址描述(空白)从任何主机连接数据库服务器,等价于‘%’‘%’从任何主机连接数据库服务器‘%.’从域中的任何主机连接数据库服务器‘192.168.16.%’从子网中的任何主机连接数据库服务器localhost从本地主机连接数据库服务器7从IP地址为7的主机连接数据库服务器‘/20’从子网192.168.16/20中的任何主机连接数据库服务器fedora4@从域名为fedora4@的主机连接数据库服务器权限列表权限(privileges)ALL—

授予用户如下的所有权限ALTER—

改变表、列和索引CREATE—

创建数据库和表DELETE—

删除表中的记录DROP—

丢弃和删除表和数据库FILE—

读、写文件INDEX—

添加、删除索引INSERT—

向表中插入记录PROCESS—

查看和停止系统进程权限列表REFERENCES—

当前的MySQL还不能使用RELOAD—

使用FLUSH语句SELECT—

从表中查询记录SHUTDOWN—

关闭MySQL数据库UPDATE—

更新表中的记录USAGE—

连接到MySQL数据库,但是没有权限用户权限的设置2、授予用户不同级别的访问权限 例1:新建一个用户tom,让他能从子网192.168.0中任何主机连接到数据库服务器,可以读取数据库cjgl的内容,并且能修改表course中字段couname的值,可使用下面的命令:

grantselectoncjgl.*totom@'192.168.0.%'identifiedby'123';grantupdate(couname)oncjgl.coursetotom@'192.168.0.%';

使用GRANT语句设置权限运用级别的示例数据库名称.表名称描述权限运用级别决定权限运用级别的授权表*.*适用于所有数据库和所有表全局级userxsxk.*(或xsxk)适用于指定数据库xsxk中的所有表数据库级dbxsxk.student适用于数据库xsxk中的指定表student表级tables_priv用户权限的设置3、授予用户管理权限的权利

例2:MySQL管理员要授予用户admin可以从本地连接到数据库服务器,对cjgl具有完全访问权限,并可将其所拥有的权限授予其他用户,可使用下面的命令:

grantalloncjgl.*toadmin@localhostidentifiedby‘123‘withgrantoption;用户权限的设置

例3:创建口令为99hjc的用户john,该用户在数据库cjgl的所有表都有select和insert权限,并且能够从任何主机连接到数据库服务器

grantselect,insertoncjgl.*tojohn@’%’identifiedby‘99hjc’;用户权限的设置

例4:添加口令为45sdg11的用户jane,该用户在数据库cjgl的表student上具有ALL权限,并且只能从本地主机上连接数据库

grantalloncjgl.studenttojane@localhostidentifiedby‘45sdg11’;回收权限REVOKE语句的基本格式如下:REVOKE权限列表[(字段列表)]ON数据库名称.表名称FROM用户名@域名或IP地址回收权限例:回收用户john在数据库cjgl的insert权限。

revokeinsertoncjgl.*fromjohn@’%’;新增用户练习例:新增用户名booktest,用户密码333333,拥有select,insert,update,delete,create,drop,index,alter权限。usemysql;insert

intomysql.user(host,user,password,select_priv,insert_priv,update_priv,delete_privi,create_priv,drop_priv,index_priv,alter_priv)values

(‘localhost’,’booktest’,password(‘333333’),’y’,’y’,’y’,’y’,’y’,’y’,’y’,’y’);flush

privileges;修改用户权限命令格式:update<表名>set[权限参数名称=权限值]where<条件>;usemysql;updatemysql.user

set

权限名1=权限值1,权限名2=权限值2where<条件>;flush

privileges;修改权限例题修改bookuser用户的index_priv和alter_priv为’y’usemysql;updatemysql.user

set

index_priv=‘y’,alter_priv=‘y’whereuser=‘bookuser’;flush

privileges;设置MySQL用户帐号密码1、使用mysqladmin程序:(1)、设置在本地以root身分登录的密码mysqladmin-hlocalhost-urootpassword"password"(2)、设置远程主机以root身分登录的密码mysqladmin-hremote-urootpassword"password"注意:在初始设置时,这两条语句都要运行,以确保数据库本地访问和网络访问的安全。2、通过setpassword这条SQL语句设置:mysql>setpasswordfor'root'@'localhost'=password('password');mysql>setpasswordfor‘root’@‘remot

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论