首页 数据库 mysql教程 mysql相关的日志文件_MySQL

mysql相关的日志文件_MySQL

Jun 01, 2016 pm 01:45 PM
mysql

bitsCN.com

 Mysql的日志文件种类比较多,有的日志文件记录了mysql的服务状态以及mysql在工作中产生的系统信息,我们利用这些信息可以更方便的对mysql服务进行运维,但是有的日志文件如果我们进行了不正确的配置将对mysql的服务器主机造成不良的后果,下面我们就来看看mysql有哪些日志文件以及他们的各自的作用。
   Mysql相关的日志文件,主要有两大类:事务日志和事件日志:
【事务日志】
   事务日志:详细的记录了在什么时间发生了什么时候,在哪个时间对哪些数据进行了改变,能后实现事件的重放,一般只记录对数据进行改变的操作,对于读操作一般不进行记录
   事物日志为数据库服务器实现以下功能:
   1、将随机IO转换为顺序IO,大大的提高了数据库的性能,存储的数据可能存在在磁盘的不同位置,降低了数据的读取和操作性能。转换为顺序IO的原理为,先将数据存放在日志文件中,然后由RDBSM的后台将日志中的数据存放到磁盘上,这样就保证了存储的数据是连续的。
   2、为事件重放提供基础,事务日志详细的记录了时间发生的时间以及操作的数据对象,事务进程可以根据这些信息进行时间重放
   默认的事务日志文件有两个,位于数据目录下以ibdata+number结尾的数字,我们可以对事务日志的位置、文件大小、增长方式进行定义,定义的方法如下:
   这里以使用支持事务的Innodb存储引擎为例
   在服务器的主配置文件/etc/my.cnf中:
   innodb_data_home_dir = /innodata  定义存放事务日志的目录
   innodb_data_file_path = ibdata1:1024M  定义日志的名字和大小
   innodb_data_file_path = ibdata2:50M:autoextend  定义日志大小的增长方式
【事件日志】
   事件日志:记录了服务器的历史事件,即在生么时间发生了什么事,其中根据记录内容的不同可以将事件日志分为一下几种:
   1、 the error log错误日志:在对应的数据目录中,以主机名+.err命名的文件。
       错误日志记录的信息类型:
          1、记录了服务器运行中产生的错误信息
          2、记录了服务在启动和停止是所产生的信息
          3、在从服务器上如果启动了复制进程的时候,复制进程的信息也会被记录
       启用错误日志:默认情况下,系统已近将其自动启动
           在主配置文件中:
           log-error= 指定错误日志的位置,这个位置myaql用户必须有写权限,
   2、the binary log二进制日志:默认开启。精确的记录了用户对数据库中的数据进行操作的命令和操作的数据对象。
       二进制日志文件的作用:
          1、提供了增量备份的功能
          2、提供了数据基于时间点的恢复,这个恢复的时间点可以由用户控制
          3、为mysql的复制架构提供基础,将这主服务器的二进制日志复制到从服务器上并执行同样的操作,就可将数据进行同步
       启用:默认在数据目录下以mysql-bin.number命名的文件
          log-bin=  指定二进制日志文件的名字
          log-bin-index= 定义二进制日志文件的名字的索引文件的位置,其用来保存可用的二进制日志文件的名字
       (注:二进制日志文件的删除和一般文件的删除是不同的,我们可以采用以下的方法
         PURAGE BINARYLOGS BEFORE ‘mysql-bin.00001’清除某个二进制日志文件之前的二进制日志文件
         PURAGE BINARYLOGS BEFORE ‘2011-3-5 23:00:00'清除某个时间点之前的所有二进制日志的记录
   3、the general query log查询日志:对除了慢查日志中记录的查询信息都将记录下来,这将对服务器主机产生大量的压力,所以对于繁忙的服务器应该关闭这个日志
       启用和关闭的方法:
       在主配置文件中:
       general_log=[ON/OFF]
       log_output=指定存放查询日志的位置,可以放在文件中,也可以放在数据库的表中,放在表中比放在文件中更容易查看
  
   4、the slow query log慢查日志:默认为关闭状态,记录下来查询时间超过设定时长的查询,这些查询日志将被慢查日志记录下来
       在主配置文件中配置:
       通过long_query_time=num 定义默认的时长,默认时长为10秒
       在配置文件中启用:
       slow_query_log=ON
       slow_query_log_file= 指定慢查日志的位置及名字
       在mysql中启用的方法:
       mysql>SET GLOBAL slow_query_log=ON
  
   5、the relay log中继日志,主要是在mysql服务器的中从架构中的从服务器上用到的,当从服务器想要和主服务器进行数据的同步时,从服务器将主服务器的二进制日志文件拷贝到己的主机上放在中继日志中,然后调用SQL线程按照拷中继日志文件中的二进制日志文件执行以便就可达到数据的同步。
      开启的方法:(只在从服务器上开启)
      配置mysql的主配置文件:
      relay-log=  指定中继日志的位置和名字
      relay-log-index=  指定中继日志的名字的索引文件的位置和名字
     
   6、the ratationg logs 滚动日志,只要是针对二进制日志进行滚动的,对某个类型的日志文件滚动一次就生成一个新的相对应的日志文件,通过这种方法保证日志文件的特定大小,从而保证服务器在对日志文件查询时有较高的响应能力
       滚动二进制日志的命令:FLUSH LOGS
事务日志和二进制日志文件的区别:
      两者都能够实现对数据操作的还原,但是前者的还原操作都是有系统自动完成的,不需要也不允许人为进行干预,而后者的恢复是完全依靠人为进行的。 
 
作者 “redhat”

bitsCN.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它们
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

mysql:简单的概念,用于轻松学习 mysql:简单的概念,用于轻松学习 Apr 10, 2025 am 09:29 AM

MySQL是一个开源的关系型数据库管理系统。1)创建数据库和表:使用CREATEDATABASE和CREATETABLE命令。2)基本操作:INSERT、UPDATE、DELETE和SELECT。3)高级操作:JOIN、子查询和事务处理。4)调试技巧:检查语法、数据类型和权限。5)优化建议:使用索引、避免SELECT*和使用事务。

phpmyadmin怎么打开 phpmyadmin怎么打开 Apr 10, 2025 pm 10:51 PM

可以通过以下步骤打开 phpMyAdmin:1. 登录网站控制面板;2. 找到并点击 phpMyAdmin 图标;3. 输入 MySQL 凭据;4. 点击 "登录"。

navicat premium怎么创建 navicat premium怎么创建 Apr 09, 2025 am 07:09 AM

使用 Navicat Premium 创建数据库:连接到数据库服务器并输入连接参数。右键单击服务器并选择“创建数据库”。输入新数据库的名称和指定字符集和排序规则。连接到新数据库并在“对象浏览器”中创建表。右键单击表并选择“插入数据”来插入数据。

navicat怎么新建连接mysql navicat怎么新建连接mysql Apr 09, 2025 am 07:21 AM

可在 Navicat 中通过以下步骤新建 MySQL 连接:打开应用程序并选择“新建连接”(Ctrl N)。选择“MySQL”作为连接类型。输入主机名/IP 地址、端口、用户名和密码。(可选)配置高级选项。保存连接并输入连接名称。

MySQL和SQL:开发人员的基本技能 MySQL和SQL:开发人员的基本技能 Apr 10, 2025 am 09:30 AM

MySQL和SQL是开发者必备技能。1.MySQL是开源的关系型数据库管理系统,SQL是用于管理和操作数据库的标准语言。2.MySQL通过高效的数据存储和检索功能支持多种存储引擎,SQL通过简单语句完成复杂数据操作。3.使用示例包括基本查询和高级查询,如按条件过滤和排序。4.常见错误包括语法错误和性能问题,可通过检查SQL语句和使用EXPLAIN命令优化。5.性能优化技巧包括使用索引、避免全表扫描、优化JOIN操作和提升代码可读性。

MySQL:世界上最受欢迎的数据库的简介 MySQL:世界上最受欢迎的数据库的简介 Apr 12, 2025 am 12:18 AM

MySQL是一种开源的关系型数据库管理系统,主要用于快速、可靠地存储和检索数据。其工作原理包括客户端请求、查询解析、执行查询和返回结果。使用示例包括创建表、插入和查询数据,以及高级功能如JOIN操作。常见错误涉及SQL语法、数据类型和权限问题,优化建议包括使用索引、优化查询和分表分区。

redis怎么使用单线程 redis怎么使用单线程 Apr 10, 2025 pm 07:12 PM

Redis 使用单线程架构,以提供高性能、简单性和一致性。它利用 I/O 多路复用、事件循环、非阻塞 I/O 和共享内存来提高并发性,但同时存在并发性受限、单点故障和不适合写密集型工作负载的局限性。

SQL删除行后如何恢复数据 SQL删除行后如何恢复数据 Apr 09, 2025 pm 12:21 PM

直接从数据库中恢复被删除的行通常是不可能的,除非有备份或事务回滚机制。关键点:事务回滚:在事务未提交前执行ROLLBACK可恢复数据。备份:定期备份数据库可用于快速恢复数据。数据库快照:可创建数据库只读副本,在数据误删后恢复数据。慎用DELETE语句:仔细检查条件,避免误删数据。使用WHERE子句:明确指定要删除的数据。使用测试环境:在执行DELETE操作前进行测试。

See all articles