数据库物理文件 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_MYSQL数据库-物理文件相关推荐
- 数据库分片教程mysql_MySQL数据库架构全系列新手入门教程
第1章实例和故事 决定电商11大促成败的各个关键因素. 1-1什么决定了电商双11大促的成败 1-2在双11大促中的数据库服务器 1-3在大促中什么影响了数据库性能 1-4大表带来的问题 1-5大事务 ...
- 数据库性能分析mysql_mysql数据库的性能优化分析
影响数据库性能的根源: 1,磁盘I/O读取 2,CPU使用率 3,资源竞争 优化的方式: 1,设计优化 2,操作优化 3,使用其他优化技术 1)设计优化: 分类拆分数据量大的表: 选取最适用的字段属性 ...
- 在sql2005中加数据库时出现无法打开物理文件
在sql2005中附加数据库时出现无法打开物理文件 "F:\ajax\test.mdf".操作系统错误 5:"5(拒绝访问.)"解决办法 出现该问题是由于用混合 ...
- oracle之物理数据库结构概述(数据文件、重做日志文件,控制文件等各种数据库文件)
oracle之物理数据库结构概述 oracle的物理结构其实是由各种各样的文件组成的, 其中与数据库相关的有: 数据文件(data file):这些文件是数据库的主要文件:其中包括数据表.索引和所有其 ...
- SqlServer在附加数据库时提示:无法打开物理文件**.mdf 操作系统错误拒绝访问
场景 当使用SqlServerManagement Studio 进行附加数据库时 选择了磁盘目录下的mdf文件后,点击确定提示 注: 博客: https://blog.csdn.net/badao_ ...
- .dat文件还原数据库
.dat文件还原数据库可能遇到的问题: 提示物理文件名错误,请使用WITH MOVE选项来标示该文件的有效位置; 原因可能是备份文件原始路径跟你自己计算机的数据库路径不同,所以要用WITH ...
- oracle逻辑备份和物理备份,oracle数据库物理备份和逻辑备份区别
oracle数据库物理备份和逻辑备份区别 ORACLE中数据备份分为物理备份和逻辑备份两种.物理备份就是转储ORACLE物理文件(如数据文件.控制文件.归档日志文件等),一旦数据库发生故障,可以利用这 ...
- mysql 逻辑备份 物理备份_数据库的逻辑备份和物理备份--非RMAN
数据库的逻辑备份和物理备份--非RMAN,不用借助其他工具,只要归档日志和物理备份就可以实现的备份 数据库的备份和恢复 常规而且重要,恢复得到理想状态 逻辑备份 利用EXP备份,从数据库提取写入操作系 ...
- cmd imp导入dmp文件_这是一篇长篇入门级数据库讲解:oracle数据库数据导入导出步骤...
正如标题一样,本文内容主要介绍了浅谈入门级oracle数据库数据导入导出步骤,文章通过步骤解析介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧!!! ...
最新文章
- 人人都是 API 设计者:我对 RESTful API、GraphQL、RPC API 的思考
- 华为荣耀手机指令代码大全_双十二,华为/荣耀手机推荐选购指南,全系列横评推荐,那一款华为/荣耀手机最值得够买...
- 初学__Python——Python 函数参数的使用
- Python基础day01【软件安装、变量的定义和使用、数据类型、标识符和关键字、输入输出、数据类型转换、运算符、PEP 8 规范】
- cdh sqoop 配置_相比于手动搭建集群,使用Ambari或者CDH的必要性
- 请问如何让Dundas chart for asp.net控件产生的临时图片文件减少一些?
- 论文小综 | 知识图谱中的复杂查询问答
- Oracle checkpoint 说明
- 价值5000元的web报表分享
- Visual Studio附加调试进程时找不到
- 精确率(查准率)、召回率(查全率)和F1值
- 【POJ 3320】【尺取法】Jessica's Reading Problem【暑期 No.2】
- 哈夫曼树(二)之 C++详解
- 小飞机安卓android手机设置教程,全民飞机大战叉叉助手安卓版设置步骤教程详解...
- 高仿项目协作工具【Worktile】,从零带你一步步实现组织架构、网盘、消息、项目、审批等功能
- 【质量管理】41页PPT系统学习质量管理体系!
- 利用反射等离激元超表面的模拟光计算
- 动手学深度学习(六、卷积神经网络)
- Windows权限维持1:账号隐藏
- 绿色荧光油溶性CdSe/ZnS量子点(硒化镉/硫化锌)
热门文章
- 聚类热图怎么按自己的意愿调整分支的顺序?
- PNAS-皮肤微生物群综合分析揭示人类皮肤的独特性并为其在哺乳动物的系统发育共生现象提供证据
- Cell子刊:根瘤菌微生物群落的模块化特征及其与共生根瘤菌的进化关系
- R画月亮阴晴圆缺:corrplot绘图相关系数矩阵
- 宏基因组实战10. 绘制圈图-Circos安装与使用
- Warning message:In a + b : longer object length is not a multiple of shorter object length
- R构建分位数回归模型(Quantile Regression)
- (DCA)Decision Curve Analysis画图及意义
- 已经导入jar包mysql还是报错_java通过JDBC连接数据库,老是报错:ClassNotFoundException.该导入的jar包我也已经导入了。...
- 贝叶斯推断方法 —— 从经验知识到推断未知