数据库原理与应用 第 10 章 · 上机五
课程第 10 章上机五 慢查询开了没抓一条慢的那个写错的变量通用日志为什么不敢常开一起换新整章跑通连起来 版式
第 10 章 数据库备份还原和日志管理 · 上机五

慢查询日志与通用日志

七道题把后两种日志开、看、删走一遍,最后把整章的路子从头跑到尾。
已完成 0 / 7
本 次 上 机 题 目
  1. 01默认是关的,门槛是十秒
  2. 02开日志,收门槛,再跑一条慢查询
  3. 03slow_launch_time 管的不是这件事
  4. 04它连 SELECT 也记
  5. 05什么都记,又慢又占地方
  6. 06flush-logs 一次换四种
  7. 07把这一章从头跑一遍
  8. 四种日志一次全开,看各自记了什么
01
第 10 章 · 上机五

默认是关的,门槛是十秒

两句 show 查出开关和门槛。

Welcome to the MySQL monitor. Commands end with ;
Server version: 8.0.36 MySQL Community Server - GPL
这台终端一开始停在命令提示符上。mysqldump 只能在这儿敲,SQL 要先 mysql -u root -p123456 进去。root 的口令是 123456。
mysql>

重 点

十秒这个门槛太松,实际用的时候一般收到一两秒。

想一想

门槛设得太松会漏掉什么?

02
第 10 章 · 上机五

开日志,收门槛,再跑一条慢查询

SLEEP(3) 跑三秒,门槛一秒,它一定会被记下来。

Welcome to the MySQL monitor. Commands end with ;
Server version: 8.0.36 MySQL Community Server - GPL
这台终端一开始停在命令提示符上。mysqldump 只能在这儿敲,SQL 要先 mysql -u root -p123456 进去。root 的口令是 123456。
mysql>

重 点

只有 SLEEP 那句被记下来,那句快的一秒都不到,不进日志。

知道更多

真机上 SLEEP(3) 会真的等三秒,这台终端立刻返回,只把三秒记进日志。

03
第 10 章 · 上机五

slow_launch_time 管的不是这件事

课件让设它,其实门槛一点没变。

Welcome to the MySQL monitor. Commands end with ;
Server version: 8.0.36 MySQL Community Server - GPL
这台终端一开始停在命令提示符上。mysqldump 只能在这儿敲,SQL 要先 mysql -u root -p123456 进去。root 的口令是 123456。
mysql>

重 点

两个变量名字长得像,管的完全是两件事,别记混。

知道更多更正

慢查询的门槛是 long_query_time,slow_launch_time 管的是建线程慢不慢。

练一练

要让两秒的查询进慢查询日志,该设哪个变量?
  1. Aslow_launch_time=2
  2. Blong_query_time=2
  3. C两个都要设
答案 B

门槛只有 long_query_time 一个,另一个跟慢查询日志无关。

04
第 10 章 · 上机五

它连 SELECT 也记

一句 set global 打开,跑几条语句再看文件。

Welcome to the MySQL monitor. Commands end with ;
Server version: 8.0.36 MySQL Community Server - GPL
这台终端一开始停在命令提示符上。mysqldump 只能在这儿敲,SQL 要先 mysql -u root -p123456 进去。root 的口令是 123456。
mysql>

重 点

查的和改的都在里面,一行一条,时间、连接号、语句原文。

分清楚和二进制日志比

日志记不记 SELECT
二进制日志不记
通用日志
05
第 10 章 · 上机五

什么都记,又慢又占地方

同样几条语句,看两种日志各记了几行。

Welcome to the MySQL monitor. Commands end with ;
Server version: 8.0.36 MySQL Community Server - GPL
这台终端一开始停在命令提示符上。mysqldump 只能在这儿敲,SQL 要先 mysql -u root -p123456 进去。root 的口令是 123456。
mysql>

重 点

二进制日志里只有那句 UPDATE,通用日志里三句全在。

想一想

生产环境上查一个可疑操作,该临时开哪一种?

06
第 10 章 · 上机五

flush-logs 一次换四种

一条命令下去,四种日志全部重开。

Welcome to the MySQL monitor. Commands end with ;
Server version: 8.0.36 MySQL Community Server - GPL
这台终端一开始停在命令提示符上。mysqldump 只能在这儿敲,SQL 要先 mysql -u root -p123456 进去。root 的口令是 123456。
mysql>

重 点

通用日志和慢查询日志被清空重开,错误日志改名留着,二进制日志换了个编号。

知道更多更正

课件第 51 页那句 flush -logs 同样多了一个空格。

07
第 10 章 · 上机五

把这一章从头跑一遍

开日志、备份、改数据、删库、还原、追日志,一条龙。

Welcome to the MySQL monitor. Commands end with ;
Server version: 8.0.36 MySQL Community Server - GPL
这台终端一开始停在命令提示符上。mysqldump 只能在这儿敲,SQL 要先 mysql -u root -p123456 进去。root 的口令是 123456。
mysql>

重 点

九个人,说明备份之后插的那一行也追回来了,这一章就算通了。

想一想

如果当初没开二进制日志,最后会是几个人?

第 10 章 · 上机五

四种日志一次全开,看各自记了什么

同样几条语句,三个日志文件里各留下几行。

Welcome to the MySQL monitor. Commands end with ;
Server version: 8.0.36 MySQL Community Server - GPL
这台终端一开始停在命令提示符上。mysqldump 只能在这儿敲,SQL 要先 mysql -u root -p123456 进去。root 的口令是 123456。
mysql>

重 点

二进制日志只有那句 UPDATE,通用日志三句全在,慢查询日志只有 SLEEP 那句。

想一想

同一句 UPDATE 为什么在两个日志里都出现?

保山学院·人工智能教研室·曹鼎鼎