千家信息网

组成MYSQL数据库物理文件有哪几部分

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,下面一起来了解下组成MYSQL数据库物理文件有哪几部分,相信大家看完肯定会受益匪浅,文字在精不在多,希望组成MYSQL数据库物理文件有哪几部分这篇短内容是你想要的。物理文件组成日志文件:错误日志,查询
千家信息网最后更新 2026年11月01日组成MYSQL数据库物理文件有哪几部分

下面一起来了解下组成MYSQL数据库物理文件有哪几部分,相信大家看完肯定会受益匪浅,文字在精不在多,希望组成MYSQL数据库物理文件有哪几部分这篇短内容是你想要的。

物理文件组成

日志文件:错误日志,查询日志,慢查询日志,事务日志,二进制日志

日志是 mysql 数据库的觉要组成部分。日志文件中记录珩 mysql 数据库运行期间发生的变化,也就是说用来记录 mysql 数据库的客户端连接状况、 SQL 语句的执行情况和错误信息

1.错误日志(error log)

错误日志功能默认是开启的,存储在mysql数据库的数据目录中。

错误日志文件通常名称为hostname.err hostname表示云服务器主机名

错误日志信息也可以自己进行配置,通过log-error和log-warnings,前者是定义存储位置后者是定义是否将警告信息也定义到错误日志中

注意,当首次安装mysql5.7时初始密码会保存在错误日志中

2.二进制文件(binlog)

用于记录修改数据或有可能引起数据改变的mysql语句,井且记录语句发生时间执行时长,操作的数据等

可以通过 show global variables like '%log_bin%'; 进行查询

在主配置文件中加入 log-bin=file_name 打开记录功能,

MYSQL会将所有修改数据库数据的query以二进制形式记录到日志文件中,日志文件中还包括每一条query所执行的时间,所消耗的资源,以及相关的事务信息

binlog的附加选项参数

"max_binlog_size" 设置binlog的最大存储上限,一般设置为512M或1G,不可以超过1G当日志达到上限时mysql会重新创建一个日志并继续开始记录

binlog-do-db=db_name" 对某个db_name(数据库)记录binlog,

如果有了"binlog-do -db=db_name"参数的显式指定,MySQL会忽略针对其他数据库执行的query, 而仅仅记录针对指定数据库执行的query

"binlog-ignore-db=db_name"与"binlog-do-db=db_name"完全相反,它显式指定忽略某个(db_name)数据库的binlog记录, 当指定了这个参数之后, MySQL会记录指定数据库以外所有的数据库的binlog。

启动binlog记录后,mysql数据库目录下还会生成一个mysql-bin.index文件

主要功能是记录所有Binary Log 的绝对路径, 保证MySQL各种线程能够顺利的根据它找到所有需要的Binary Log文件

MYSQL复制主要有三种方式:

基于SQL语句的复制(statement-based replication, SBR),

基于行的复制(row-based replication, RBR),

混合模式复制(mixed-based replication, MBR)

对应的,binlog的格式也有三种: STATEMENT, ROW, MIXED。

statenment模式(SBR)

每一条会修改数据的sql语句会记录到binlog中,优点是不需要记录每一行的数据变化

减少了binlog日志量,节约IO,提高性能,缺点是在某些情况下master-slave中的数据不一致

row模式(RBR)

不记录每条SQL语句的信息,仅记录那条数据被修改了,改成什么样子,缺点是会产生大量日志,日志暴涨

mixed模式(MBR)

混合模式,以上两种模式混合使用,一般的复制使用statement模式保存binlog,对于statement模式无法复制的操作使用row模式保存binlog,mysql会自行判断何时使用

"sync_binlog=10" 设定多久同步一次二进制日志到磁盘文件中 0表示不同步,1表示每条语句都同步

几种查询二进制日志信息的方法

show binlog events\G; 查看所有二进制信息

show bin log events in'mysql-bin.000001'\G; 查看指定的二进制信息

show binlog events in 'mysql-bin.000001'from 727; 从指定的事件位置开始

mysqlbinlog mysql-bin.00001 在命令行下查看

几种删除二进制日志信息的方法

purge binary logs to 'mysql-bin.000006'; 删除'mysql-bin.000006'之前的二进制文件

reset master 删除所有二进制文件并重新生成一个为进制文件

3.事务日志

事务日志 (InnoDB 特有的日志)可以帮助提高事务的效率。

使用事务日志, 存储引擎在修改表的数据时只需要修改其内存拷贝,再把修改行为记录到持久在硬盘上的事务日志中,而不用每次都将修改的数据本身持久到磁盘。事务日志采用追加的方式,因此写日志的操作是磁盘上一小块区域内的顺序I/O, 而不像随机I/O需要在磁盘的多个地方移动磁头, 所以采用事务日志的方式相对来说要快得多。

事务日志持久以后,内存中被修改的数据在后台可以慢慢的刷回到磁盘。

4.慢查询日志

慢查询日志中记录的是执行时间较长的query,采用简单的文本格式记录方便查看

通过慢查询日志,可以查找出哪些查询语句的执行效率很低,以便进行优化

同样也是在主配置中加入

"slow_query_log=1"开启,

"slow_query_log_file=/usr/local/mysql/data/mysqld-slow.log"存储位置

"long_query_time=1" 需要记录的时间,

或者直接在数据库中直接定义。

分析日志

进入慢查询日志存放目录使用mysqldumpslow分析

"mysqldumpslow mysqld-slow.log"

看完组成MYSQL数据库物理文件有哪几部分这篇文章后,很多读者朋友肯定会想要了解更多的相关内容,如需获取更多的行业信息,可以关注我们的行业资讯栏目。

日志 数据 文件 数据库 事务 二进制 信息 模式 查询 语句 错误 磁盘 存储 物理 部分 时间 位置 功能 参数 方式 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 伟宏互联网科技 山东特亿宝互联网科技有限公司 互联网科技的发展 互联网和高科技公司 互联网汽车科技小镇 乌苏新华互联网科技做什么的 民营互联网公司国防科技 华夏恒生互联网科技013171 恒生互联网科技业指数调整周期 科技互联网的核心竞争力 山东子淼互联网科技有限公司 南通创西澳互联网科技有限公司 新氧科技和美国互联网有关系吗 陕西九四连强互联网科技有限公司 互联网金融运营模式中的金融科技 互联网领先科技活动 福仕德教育科技互联网 10位科技互联网大佬 互联网科技创业计划的风险分析 瑞安市蟠桃会互联网科技有限公司 科技制造互联网公司 伴你行互联网科技有限公司 天下捷融互联网科技 互联网科技网站 科技与互联网的利与弊 北京大学互联网科技怎么样 中国科技创新与世界互联网大会 用友工业互联网科技发展 互联网科技融合创新 杭州融税互联网科技有限公司
0