0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

详谈MySQL数据库的不同日志和源码

如意 来源:百家号 作者:怡子科技 2020-07-02 16:52 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

任何一种数据库,都会拥有各种各样的日志,mysql也不例外。

用来记录数据库运行情况,日志操作,错误信息等。

Mysql所支持的日志

在mysql的日志文件里,除了二进制日志,其它都是文本文件。

默认情况下,mysql软件只会启动错误日志文件,而其他日志文件则需要手动启动。

二进制日志:该日志文件会以二进制的形式记录数据库的各种操作,但却不记录查询语句。

错误日志:该日志文件会记录mysql的服务器启动,关闭和运时出错等信息。

通用查询日志:记录客户端连接信息,更新sql语句和查询数据库sql

慢查询日志:记录执行时间超过指定时间的各种操作

启动日志有有点也有缺点

虽然能很好的维护mysql数据库,但会降低执行速度,因此,是否启动日志,启动什么样的日志要根据实际情况而定。

二进制日志

那么为什么要启动二进制日志,如果mysql意外停止,,可以查看二进制文件来看用户执行了哪些操作。,对数据服务器进行了哪些修改。,然后根据二进制文件记录来和恢复数据库服务器。

默认情况下是关闭的,可以修改mysql的配置文件my.ini

[mysqlId]

Log-bin[=dir\[filename]]

dir用来指定二进制的存储路径,finename 文件名,具体格式finename.number number的格式为000001,000002等。除了这个文件,还有一个关于二进制列表的文件filename.index

在启动二进制日志时,最好不要和数据文件放在同一个路径,当数据库的磁盘遭到破坏后,就可以通过二进制文件进行恢复。

怎么查看二进制文件

直接打开会显示乱码,我们用mysqlbinlog命令来实现

例如:mysqlbinlog filename.number

停止二进制日志

如果想删除二进制日志,只需要删除配置文件的log-bin内容

如果你不想重启mysql,你可以执行如下命令:

Set sql_log_bin=0

要需要再重启,只需要执行:Set sql_log_bin=1

注意,只有拥有super权限的用户才具备执行set命令的权力。

删除二进制文件

需要执行命令,reset master(删除所有二进制文件)、

purge maste logs to 例如:purge maste logs to filename.number删除编号小于number的日志。

和 purge master logs before 例如purge master logs before’yyyy-mm-dd hh:MM:ss’删除指定时间之前的日志

操作错误日志

在mysql的安装路径下找到data目录,错误文件通常的命名格式为:hostname.err。想要修改错误日志的存放路径只需要修改配置文件的

err-bin[=dir\[filename]]

查看的时候直接打开就行,如果想删除错误日志

执行命令:mysqladmin -u -root -p flush-logs

然后旧的文件重命名为 filename.err-old,如果没任何用处,可以直接删除

通用查询日志

通用查询日志是mysql非常重要的查询日志之一,主要记录用户关于mysql服务器的所有操作

如何启动

修改配置文件my.ini

Log[=dir\[filename]]

停止这个日志记录:

#Log[=dir\[filename]]

删除:

mysqladmin -u -root -p flush-logs

清空所用日志,新建一个日志文件,如果你想备份,直接重命名,再执行命令。

慢查询日志

启动:

修改my.ini

Log-slow-queries[=dir\[filename]]

Log_query_time=n,开启慢日志需要重启服务器才能生效。

关闭服务有的业务场景是不允许的,我们执行命令

Set global slow_query_log=on;

Set global long_query_time=n;

如果想了解执行时间超过指定时间的查询语句,可以查看慢日志。需要使用mysqldumpslowsql.pl工具

停止慢日志只需要把配置文件相应位置用#替换。

清空所用日志,新建一个日志文件,如果你想备份,直接重命名,再执行命令

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据库
    +关注

    关注

    7

    文章

    3993

    浏览量

    67732
  • MySQL
    +关注

    关注

    1

    文章

    897

    浏览量

    29228
  • 日志
    +关注

    关注

    0

    文章

    145

    浏览量

    11025
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    labview有调用mysql数据库问题????

    labview有调用mysql数据库,请问labview打包成exe安装档,怎么把mysql数据库打包进来,是mysql
    发表于 05-19 16:17

    MySQL数据库使用

    关于MySQL数据库的简单操作
    发表于 10-24 14:32

    mysql数据库同步原理

    数据库的访问压力,提升整个系统的性能和可用性,降低了大访问量引发数据库宕机的故障率。 binlog简介 MySQL主从同步是基于binlog文件主从复制实现,为了更好的理解主从同步过程,这里简单介绍一下binlog
    发表于 09-28 11:49 0次下载
    <b class='flag-5'>mysql</b><b class='flag-5'>数据库</b>同步原理

    MySQL数据库如何安装和使用说明

    MySQL数据库开发 基础概念 1.数据:描述事物特征的符号,属性 2.数据库的概念:管理计算机中的数据的仓库 2.
    的头像 发表于 02-13 16:13 3257次阅读

    华为云数据库-RDS for MySQL数据库

    华为云数据库-RDS for MySQL数据库 华为云数据库作为华为云的一款数据库产品,它主要是以MyS
    的头像 发表于 10-27 11:06 2153次阅读

    有哪些不同的MySQL数据库引擎?

    数据库引擎是MySQL组件,可以处理SQL操作,例如从数据库创建、读取和更新数据MySQL中有两种类型的引擎:事务性和非事务性。
    的头像 发表于 04-03 16:38 1846次阅读

    MySQL数据库管理与应用

    MySQL数据库管理与应用 MySQL是一种广泛使用的关系型数据库管理系统,被认为是最流行和最常见的开源数据库之一。它可以被用于多种不同的应
    的头像 发表于 08-28 17:15 1621次阅读

    数据库数据恢复—MySQL数据库表误删除记录的数据恢复案例

    binlog。 数据库故障&分析: 工作人员在执行Delete命令删除数据时未添加where子句进行筛选,导致全表数据被删除,删除后未对该表进行其他操作。 在本案例中,由于mysql
    的头像 发表于 11-09 15:16 2134次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—<b class='flag-5'>MySQL</b><b class='flag-5'>数据库</b>表误删除记录的<b class='flag-5'>数据</b>恢复案例

    mysql是一个什么类型的数据库

    MySQL是一种关系型数据库管理系统(RDBMS),用于存储和管理大量结构化数据。它被广泛用于各种应用程序和网站的后端,包括电子商务平台、社交媒体网站、金融系统等等。MySQL的特点是
    的头像 发表于 11-16 14:43 2790次阅读

    MySQL数据库基础知识

    MySQL 是一种开源的关系型数据库管理系统,它是目前最流行的数据库之一。MySQL 提供了一种结构化的方法来管理大量的数据,并且具有高效、
    的头像 发表于 11-21 11:09 1625次阅读

    oracle数据库alert日志作用

    Oracle数据库的alert日志数据库引擎和实例的核心组件之一,它记录着数据库的运行状况和事件。该日志对于
    的头像 发表于 12-06 10:08 2037次阅读

    mysql数据库基础命令

    MySQL是一个流行的关系型数据库管理系统,经常用于存储、管理和操作数据。在本文中,我们将详细介绍MySQL的基础命令,并提供与每个命令相关的详细解释。 登录
    的头像 发表于 12-06 10:56 1205次阅读

    数据库数据恢复—未开启binlog的Mysql数据库数据恢复案例

    mysql数据库数据恢复环境: 本地服务器,windows server操作系统 ,部署有mysql单实例,数据库引擎类型为innodb,
    的头像 发表于 12-08 14:18 1845次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—未开启binlog的<b class='flag-5'>Mysql</b><b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复案例

    数据库数据恢复—Mysql数据库表记录丢失的数据恢复流程

    Mysql数据库故障: Mysql数据库表记录丢失。 Mysql数据库故障表现: 1、
    的头像 发表于 12-16 11:05 1000次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—<b class='flag-5'>Mysql</b><b class='flag-5'>数据库</b>表记录丢失的<b class='flag-5'>数据</b>恢复流程

    MySQL数据库的安装

    MySQL数据库的安装 【一】各种数据库的端口 MySQL :3306 Redis :6379 MongoDB :27017 Django :8000 flask :5000 【二】
    的头像 发表于 01-14 11:25 858次阅读
    <b class='flag-5'>MySQL</b><b class='flag-5'>数据库</b>的安装