欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

mysql 开发进阶篇系列 38 mysql日志之错误日志log-error

程序员文章站 2022-03-16 23:37:07
一.mysql日志概述 在mysql中,有4种不同的日志,分别是错误日志,二进制日志(binlog日志),查询日志,慢查询日志。这此日志记录着数据库在不同方面的踪迹(区别sql server里只有errorlog日志,并借助了dmv来做分析)。接下来几篇里详细介绍这几种日志的作用和使用方法,利用这些 ......

一.mysql日志概述

  在mysql中,有4种不同的日志,分别是错误日志,二进制日志(binlog日志),查询日志,慢查询日志。这此日志记录着数据库在不同方面的踪迹(区别sql server里只有errorlog日志,并借助了dmv来做分析)。接下来几篇里详细介绍这几种日志的作用和使用方法,利用这些日志做好维护和调优。

  错误日志是mysql中最重要的日志之一,它记录了当mysqld启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时,可以首先查看此日志。
  在my.cnf配置文件里可以用log-error[=file_name]参数来指定mysqld保存错误日志文件的位置。如果没有指定file_name值,mysqld使用的错误日志名host_name.err(本机名.err)。

  我电脑上二进制安装的mysql,在my.cnf中配置errorlog路径如下:
    mysql 开发进阶篇系列 38 mysql日志之错误日志log-error

  在rpm包安装中,my.cnf中配置errorlog路径如下:
    mysql 开发进阶篇系列 38 mysql日志之错误日志log-error
  上面二种安装都是将mysql的log-error日志生成在 /var/log 目录下(是系统日志存放的地方,只有 root 账号有写权限),需要 mysql 进程对这个目录有读写权限。在二进制安装中有对/var/log/mariadb 赋予mysql用户权限。

  1.1通过环境变量来查看位置

show variables like 'log_error'

    mysql 开发进阶篇系列 38 mysql日志之错误日志log-error
  1.2 下面在二进制安装环境下,尝试下日志权限
    先停掉服务,将错误日志文件删除
    mysql 开发进阶篇系列 38 mysql日志之错误日志log-error

    用root用户重启服务,提示只能用mysql用户创建该文件,使用su切换到mysql,再启动服务成功 
mysql 开发进阶篇系列 38 mysql日志之错误日志log-error

    如下启动成功,错误日志文件产生
      mysql 开发进阶篇系列 38 mysql日志之错误日志log-error
    查看错误日志如下:
mysql 开发进阶篇系列 38 mysql日志之错误日志log-error

二 错误日志归档备份(有问题,以后在了解)  

  错误日志如果不清理或删除,那么它会一直增长(在sqlserver里会自动保留前6个errorlog日志,不必重启服务)。 在mysql 5.7之后,只能通过下面方式来归档,备份错误日志。

       下面的错误日志信息已达到26 m,如下所示:
  mysql 开发进阶篇系列 38 mysql日志之错误日志log-error

         -- 归档如下:
    mysql 开发进阶篇系列 38 mysql日志之错误日志log-error
  在第二步将所有日志刷新到磁盘上时,输入密码会卡死无响应(以后在查其原因)。 上面是将错误日志备份为logbak文件后, 重启系统和服务将产生新的mysqld.log日志