数据库原理与应用 第 10 章 · 第五节
课程第 10 章第五节 四种日志各记什么各有什么用错误日志:开错误日志:看错误日志:删二进制日志:开二进制日志:看二进制日志:删两个例子拿它还原例10-18 版式
第 10 章 数据库备份还原和日志管理 · 第五节

错误日志与二进制日志

四种日志各管什么,前两种怎么开、怎么看、怎么删,二进制日志怎么救命。
本 节 知 识 点
  1. 33日志记的是数据库运行期间发生的事
  2. 34四句话分清楚
  3. 35一个查故障,一个能救命,一个做优化
  4. 36它天生就开着,也关不掉
  5. 37show 一下就知道它在哪儿
  6. 38不能直接删,要让它重开一个
  7. 39要在配置文件里写一行
  8. 40两条命令一个工具
  9. 41PURGE 或者 RESET MASTER
  10. 42按编号删和按时间删
  11. 43备份加日志,能回到任意一刻
  12. 44重放到误删的前一刻
33
第 10 章 · 第五节

日志记的是数据库运行期间发生的事

错误、二进制、通用查询、慢查询,一共四种。

第 33 页课件

记牢它四种

  1. 错误日志
  2. 二进制日志
  3. 通用日志
  4. 慢查询日志

重 点

只有错误日志天生就开着,另外三种默认都是关的。

试一试四种日志各管什么

看哪种
34
第 10 章 · 第五节

四句话分清楚

崩溃原因、改数据的语句、所有操作、跑得慢的查询。

第 34 页课件

分清楚最容易混的两个

日志记不记 SELECT
二进制日志不记
通用日志

重 点

二进制日志不记 SELECT,因为 SELECT 不改数据,重放它没有意义。

想一想

只查不改的操作,会进二进制日志吗?

35
第 10 章 · 第五节

一个查故障,一个能救命,一个做优化

错误日志找起不来的原因,二进制日志修复数据,慢查询日志找该优化的语句。

第 35 页课件

重 点

二进制日志是这四种里最值钱的,它是备份之外唯一能救回数据的东西。

上机做

上机四第 8 题 用它把数据救回来

36
第 10 章 · 第五节

它天生就开着,也关不掉

默认叫 主机名.err,位置和文件名可以在 my.ini 里改。

第 36 页课件

重 点

四种日志里只有这一种不能关,改完配置要重启服务才生效。

知道更多

log-error 定的是路径和文件名,log-warnings 定的是要不要把警告也写进去。

37
第 10 章 · 第五节

show 一下就知道它在哪儿

一句 show 打出文件名,用记事本直接打开就能看。

第 37 页课件

重 点

服务起不来的时候,第一件事就是去看这个文件的最后几行。

上机做

上机四第 1 题 查出它在哪儿

想一想

错误日志是二进制的还是文本的?

38
第 10 章 · 第五节

不能直接删,要让它重开一个

一条命令新建一个,旧的改名留着,不是真删掉。

第 38 页课件

知道更多更正

课件写成 flush -logs,中间那个空格是多的,第 48 页写对了。

重 点

旧的没有被删掉,只是改了名字,真的不要了再手动删。

上机做

上机四第 2 题 让它重开一个

39
第 10 章 · 第五节

要在配置文件里写一行

my.ini 里写一行 log-bin,重启服务才生效。

第 39 页课件

重 点

它是唯一一个必须改配置文件才能开的日志,SET GLOBAL 改不了。

知道更多

开着它日志会越攒越多,所以要配上 expire_logs_days 让老的自动过期。

上机做

上机四第 4 题 先把它开起来

40
第 10 章 · 第五节

两条命令一个工具

一句看开没开,一句看有哪几个文件,再用工具打开。

第 40 页课件

重 点

日志文件是二进制的,记事本打开是乱码,要用 mysqlbinlog 看。

记牢它三步

  1. 先看开没开
  2. 再看有几个
  3. 再用工具打开

上机做

上机四第 5 题 看看它记了什么

41
第 10 章 · 第五节

PURGE 或者 RESET MASTER

直接用 rm 删会让数据库崩,必须用命令删。

第 41 页课件

知道更多更正

课件语法里那个 og_name 少一个字母,应该是 log_name。

试一试四种删法的下场

敲哪一句

重 点

reset master 是全删重来,编号从 000001 重新开始。

42
第 10 章 · 第五节

按编号删和按时间删

TO 后面跟文件名删掉它之前的,BEFORE 后面跟时间删掉那之前的。

第 42 页课件

分清楚两种写法

写法删掉的是
TO 文件名编号更小的
BEFORE 时间那之前生成的

重 点

正在写的那个文件永远不会被删掉,删到它为止就停。

上机做

上机四第 6 题 两种删法各试一次

43
第 10 章 · 第五节

备份加日志,能回到任意一刻

从上次备份那一刻起,把日志里的语句重放一遍。

第 43 页课件

重 点

只还原备份,备份之后那几个小时的改动就永远丢了。

试一试早上备份,下午出事

走到

    记牢它两步

    1. 先还原备份
    2. 再重放日志
    44
    第 10 章 · 第五节

    重放到误删的前一刻

    卡住终点,别把误删那一句也跟着重放进去。

    第 44 页课件

    知道更多更正

    课件那句 -stop-date 少一个横杠,路径里有空格也没加引号,两处都跑不通。

    重 点

    多个日志文件要按编号从小到大依次重放,顺序反了结果就不对。

    上机做

    上机四第 8 题 救回被误删的数据

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