MySQL数据库技术与项目应用教程(微课版)(人邮 )-教案项目八 维护系统的高可用性.docx
《MySQL数据库技术与项目应用教程(微课版)(人邮 )-教案项目八 维护系统的高可用性.docx》由会员分享,可在线阅读,更多相关《MySQL数据库技术与项目应用教程(微课版)(人邮 )-教案项目八 维护系统的高可用性.docx(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、适用班级: P.课题工程八维护系统的高可用性课时2+2课时教学目的令会使用数据备份与恢复 数据的高可用性讨论1.哪些因素会引发数据灾难?2.如何保障数据的高可用性?任务1备份和恢复数据知识场景:数据库的备份与恢复是数据库管理最重要的工作之一。系统的意外崩溃或系统硬件的损坏都可能导致数据丧失或损坏,数据库管理员务必定期地备份数据,当数据库中数据出现错误或损坏时,就可能使用已备份的数据进行数据还原。适用班级:P.日志文件M,J*1 11 - i at -3142 #210927 17:11:49 strvtr id 1 nd_log_po 371 CRC32 0x3589c8d4 Tablt.ma
2、p: onlinedb. cart -mapped to number -87*13 # at 3714 #210927 17:11:49 server id 1 end_log_pos 423 CRC32 0xa71032bl Write-rows: table id 87 flags: STMT_END_F5 ttf INSERT INTO *onlinedb.*cart6 ftt SET,7 1#81=198 #-82=19 iit 83=2-10 #84=111 at 423,12 1210927 17:11:49 server id 1 end_log_pos 454 CRC32 0
3、x0elcldb3 Xid = 1113 COMMIT/* !*/;*-解析 第1行:记录了日志文件内的偏移字节值,这里偏移值为314。第2行:包含了事件的日期和时间,MySQL会使用它们来产生时间戳; server记录了服务器的id值.;endog_pos袤示下 事件的偏移面 操作的数 据库和表及表的id值。第3行:同第1行,偏移值为371。 第4行:记录了对id为87的表进行了 wrile_rows操作第5-10行:记录了数据变更操作的语句。该行表示对cart表添加了一条新记录 第13行:提交事务。实例讲解【例8.19】将二进制日志文件logbin.000001的内容,输出到名为mysql
4、_temp.sql文件。mysqlbinlog -vv logbin.000001 mysql_temp.sqi3.从二进制日志中恢复数据mysqlbinlog工具除了可以查看一进制日志文件内容外,还可以将一进制日志文件两个指定时间点之间的所有对数据修改的操作进行恢复。mysqlbinlog 选项二进制日志文件名、 mysql -u用户名-p案例精讲【例8.20】使用mysqlbinlog恢复MySQL数据库到“2019-9-24 09:57:00 n时的状 态。mysqlbinlog -stop-date=,2019-9-24 09:57:00 Hlogbin. 000001 |mysql
5、-root -p适用班级:P.课堂练习【例8.21 使用mysqlbinlog恢复logbin.000001文件中偏移位置从314至454之间的所有操作恢复。学生演示mysqlbinlog -start-position=314 -stop-position=454 -database=onlinedb logbin.000001 | mysql -uroot -p4.删除二进制日志MySQL的二进制日志文件可以配置为自动删除,也可以手动删除(1)使用RESET MASTER语句删除所有二进制日志文件RESET MASTER;(2)使用PUREG MASTER LOGS语句删除指定日志文件PU
6、RGE MASTER | BINARY LOGS TO 二进制日志文件名学习提示RESET MASTER删除所有的二进制日志文件;PURGE MASTER LOGS只删除局部二进制文件案例精讲【例8.22】用PURGE MASTER LOGS删除比logbin.()()()004编号小的日志文件。(1)使用SHOW BINARY LOGS语句查看当前二进制日志文件rvytqi oroot pSHOt bdary logs :lotjvMB*EncryptedlotbiiL 000001477Xolocbia 0000021798logblA. 000003156Xo3 rors in xt (
7、0.00 w)(2)删除比logbin.00()()()4编号小的日志文件,语句如下PURGE BINARY LOGS TO logbin.000004;(3)再次执行SHOW BINARY LOGS语句查看当前二进制日志文件ygU KKLOGS TO logbitL OOOWr ;Ary 0IC 0 rwc “32 0 02 3) Fl:BIKW LOGS :Eocrjpted! Mmooow语 f!1 E :n set SHOW VARIABLES LIKE log_error;I Variable_name|Value|+1 log_errorI.mysql80_error.err |+
8、1 row in set,1warning(0.02sec)xRr) lit) VK(O) .(V)2021 09 27T08 55 19 469443Z 0 (Wrning| |MV 010915NO ZERO.DATE; NO.ZERO_IN_ DATE and ERROR FOR DIVISION,BV ZERO *2021 8 27Tos 55 19 471337Z 0 ISyittm)|MY 010116)|Srv| C Pr09Qm F.IiMySQLMySQL Server 8” (mysqld 8 0 2S)tU2021 09 27To8 55 19 508719Z 1 (Sy
9、stem|MY 013576)IlnnoDBI InnoDB imtialixition has sUrttd2021 09 27T08 55 19 981793Z 1 ISysttmJ|MY 013577)(InnoDei InnoDB imt.alizat.on hat end2021 09 27To8 55 20 197280Z 0 (Systtm) |MY O1B23) |$rv| X Ptuginfor connections Bind address port 330602021 09 27To8 55 20 295001Z 0 (Warning MY 0100681 ($vtr)
10、 CA ctrtifKite p futi2021 09 27T08 55 20 38S968Z 0|MY 010931 |Srv) C XProyam FilsMy5QlMy$Ql Server 8 Obtnmyqld ” rdy for connect2021 09 28T15 03 59 859859Z 0 |Sytn |MY 013105 3 C Pro9r川八MySQlMySQt Server 8 0b.nmyqld txe Normal shutdown 2021 09 28T15 04 00 787872Z 0 (Syitemj |MY 0109101 |Srvtr| C Pro
11、9rm FilsMy$QlMy$Ql Server 8 0bnmyqld ” Shutdown complc3.删除错误日志C:mysqladmin -u root -pPassword flush logs删除错误日志还可以在数据库已登录的客户端重新加载mysqlflush logs;适用班级:P. 通用查询日志查询日志分为通用查询日志和慢查询日志。通用查询日志记载着MySQL的所有用户操作,包括启动和关闭服务、执行查询和更新语句等信息。慢查询日志记载着查询时长超过指定时间的查询信息。1.启动和设置通用查询日志通用查询日志一般是以.log为后缀名的文件在my.ini配置文件中设置如下系统变量
12、来设置mysqldlog_output=none I file I table I file, table general_log=on|offgeneral_log_f ile 1 =日志文件名、实例讲解【例8.24】启用MySQL的通用查询日志,日志文件保存在数据目录下,命名为 mysql80.logomysqldgeneral_log=ongeneral_log_file= *mysql80.log ,保存文件,并重新启动MySQL服务器2.设置通用查询日志输出格式默认情况下通用查询日志输出格式为文本,可以通过设置log_output变量来修改输出类型SET GLOBAL log_out
13、put= none|file|table|file,table实例讲解【例8.27】设置输出通用查询日志格式为table。SET GLOBAL log_output=,tabler;适用班级:P.3.查看通用查询日志实例讲解【例8.28】使用文本编辑器查看MySQL通用查询日志。- 9,*/EZ ,ICAProgram AlMy$QlMy$Ql Server 8.0btnmyxild.exe. Verdon; 8.0.25 (My$(X CommunitySw GPL), sued with: TCP Port: 3306. Mned Pipe: MySQt TimeId Command Ar
14、gument2021-09-28T15204.166911Z 8 Query show variables M grwM咐 2021 09-29T02:4S: 11 923776Z8 Query SELECT DATABASE。2021 -09-29102:45:11 924792Z8 Init DB onbnedb2021 9 29T02:4$-21.27504W8 Query sekct from2021 -09 29T02:46i50.303485Z8 Query SET GLOBAL 够Mputabiec m( a当通用查询日志输出为数据表时,可以通过查询mysql数据库中的mysql
15、80.log表查看数据库的操作情况。课堂练习【例8.29查询mysql数据库的mysq180表的记录信息。(1 )首先使用DESC语句查看mysq180表的结构DESC mysql. mysql80;(2)使用SELECT语句查询日志表中操作类型和操作内容。SELECT command_type ,argument FROM mysql. mysql80;慢查询日志慢查询日志,顾名思义就是记录执行比拟慢查询的日志。1.启动和设置慢查询日志MySQL中慢查询日志默认是关闭的,假设需要开启慢查询日志,同样可以修改系统配置文件my.iniomysqldlog-slow-queries=path/fi
16、lenamelong_query_time=nlog-queries-not-using-indexes=ON|OFF适用班级:P.【例8.30】启用MySQL的慢查询日志,日志文件保存在d盘根目录下,命名为slowog,记录查询时间超过5秒或未使用索引的查询。mysqldlog-slow-queries=d:/sql_slow.logong_query_time=5iog-queries-nol-using-indexes=ON2.查看慢查询日志C:.匕 n f e71ath* Ijb0 - tfbinmysqld.exe. Version: 8.0.25 (MySQL Community
17、STCP Port: 3306, Named Pipe: MySQLTimeId Command Araument Time: 2021 -10-11T08:59:13.922563Z UserHo$t: rootroot localhost (:1 Id: 12# Query time: 0.000465 Lock time: 0.000202 Rows sent: 4 Rows examined: 12 use onlinedb;SET timestamp= 1633942753;select uloqin.uname.uqender from users where ucitv =长沙;
18、Mil Time: 2021-10-11 T09:00:39.227S04Z# User(SHost root(root) localhost (:1 Id: 12# Query time: 10.008542 Lock time: 0.000000 Rows sent: 1 Rows examined: 1SET tim6tamp= 1633942829;一select sleep(IO);3.删除慢查询日志和通用查询日志一样,慢查询日志也可以直接删除。删除后在不重启服务器的情况下,需要执行mysqladmin -u root -pPassword flush-logs重新生成日志文件,或者
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MySQL数据库技术与项目应用教程微课版人邮 -教案 项目八 维护系统的高可用性 MySQL 数据库技术 项目 应用 教程 微课版 人邮 教案 维护 系统 可用性
限制150内