mysql与文件_MySQL——文件

构成MySQL数据库的各种类型文件,包括:参数文件

日志文件

socket文件(套接字方式连接时需要)

pid文件(mysql实例进程id)

MySQL表结构文件

存储引擎文件(每个存储引擎自己用来保存数据的文件)

关键词参数文件参数类型

生命周期与关键字session

global

日志文件错误日志error log

慢查询日志slow query log

查询日志log

二进制日志binlog记录内容

作用

记录方式

查看方式

表结构定义文件

InnoDB存储引擎文件表空间文件

重做日志文件重做日志文件和二进制文件的区别

写入方式

1.参数文件

1.1参数类型

分为两类:动态(dynamic)参数autocommit

静态(static)参数log_slave_updates:将slave从master收到的更新记入到slave自己的bin log中,默认不开启

back_log:如果等待连接的数量超过back_log,将不被授予连接资源,default 50

1.2生命周期与关键字

1.2.1session

基于当前会话的生命周期

1.2.2global

基于整个实例的生命周期

注:对变量全局值进行修改,在实例生命周期内都有效,但MySQL实例本身不会对参数文件中的该值进行修改。在下次启动时MySQL实例还是会读取参数文件。

2.日志文件

2.1错误日志error log

记录MySQL的启动、运行、关闭过程。遇到问题时应该首先查看该文件以便定位问题。

2.2慢查询日志slow query log

可以在MySQL启动时设一个阈值,将运行时间超过该值的所有SQL语句都记录到慢查询日志文件中。

慢查询表是mysql下的slow_log。

2.3查询日志log

记录所有对MySQL数据库请求的信息,无论这些请求是否得到正确的执行。

查询日志表是mysql下的general_log。

2.4二进制日志binlog

2.4.1记录内容

二进制日志(binary log)记录了对MySQL数据库执行更改的所有操作。不包括select和show,但是对于没有导致数据库变化的写操作也会记录。

2.4.2作用

恢复(recovery)

某些数据的恢复需要二进制日志,例如:在一个数据块全备文件恢复后,用户可以通过二进制日志进行point-in-time的恢复。

复制(replication)

其原理与恢复类似,通过复制和执行二进制日志使一台远程的MySQL数据库(slave)与一台MySQL数据库(master)进行实时同步。

审计(audit)

用户可以通过二进制日志中的信息来进行审计,判断是否有对数据库进行注入的攻击。

2.4.3记录方式

所有未提交的二进制日志会被记录到一个缓存中去,等该事务提交时直接将缓存中的二进制日志写入二进制日志文件。

2.4.4查看方式

要查看二进制日志文件,需要使用mysqlbinlog。

3.表结构定义文件

每个表都会有与之对应的文件。不论表采用何种存储引擎,都是由frm为后缀名的文件来记录该表的表结构定义。

4.InnoDB存储引擎文件

4.1表空间文件

可以通过多个文件组成一个表空间,所有基于InnoDB存储引擎的表的数据都会记录到该共享表空间中。

也可以为每个InnoDB表设置独立表空间,以ibd后缀命名。独立表空间只能存储该表数据、索引、插入缓冲BITMAP等信息。

4.2重做日志文件

4.2.1重做日志文件和二进制文件的区别记录范围不同

二进制日志记录所有与MySQL有关的日志记录,InnoDB重做日志只记录InnoDB的。记录内容不同

二进制文件记录一个事务的具体操作内容,是逻辑日志;重做日志记录每个页(page)的更改的物理情况。写入时间不同

二进制文件仅在事务提交前进行提交;重做日志条目(redo entry)在事务进行的过程中不断写入。

4.2.2写入方式

先写入一个重做日志缓冲(redo log buffer)中,然后按照一定的条件顺序地写入日志文件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/526065.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql2017windows安装_mysql的windows安装

1.删除所有的目录,只保留datasharebin2.删除BIN下面除以下三个文件之外的所有文件:libmysql.dll(MYSQL5中的文件,在MYSQL5.5中不存在)mysqladmin.exemysqld.exe3.如果要用客户端,请保留mysql.exe4.删除Share目录下除以下目录外的所…

mysql 建表时建立索引_mysql 分享建表和索引的几点规范

一、 MySQL建表,字段需设置为非空,需设置字段默认值。二、 MySQL建表,字段需NULL时,需设置字段默认值,默认值不为NULL。三、 MySQL建表,如果字段等价于外键,应在该字段加索引。四、 MySQL建表&a…

有关于mysql自增型需要返回id_关于mysql自增id,你需要知道的

关于mysql自增id,你需要知道的,主键,重启,索引,类型,字段关于mysql自增id,你需要知道的易采站长站,站长之家为您整理了关于mysql自增id,你需要知道的的相关内容。导读:在使用MySQL建表时,我们通常会创建一个…

python 调用不存在的方法 统一处理_提取不重复数据在Excel、SQL与Python中的处理方法...

村长今天跟大家简单分享一下如何在Excel、SQL和Python中用不同的方法提取不重复值(数据去重)。一、Excel1.1、函数法(数组公式)函数公式:IFERROR(INDEX(A:A,SMALL(IF(MATCH($A$2:$A$16,$A$2:$A$16,0)ROW($1:$15),ROW($2:$16),9^9),ROW(A1))),"")1.2、技巧…

友盟渠道统计mysql_cnzz友盟怎么安装网站统计代码监控网站流量

GC算法http://www.brpreiss.com/books/opus5/html/page424.html http://www.brpreiss.com/books/opus5/html/page4 ...python 定时任务Python 定时任务 最近学习到了 python 中两种开启定时任务的方法,和大家分享一下心得. sched.scheduler() threading.Timer() sched 定时任务…

rpm安装mysql5.5_CentOS下以RPM方式安装MySQL5.5

1、查找以前是否装有mysql命令:rpm -qa|grep -i mysql可以看到mysql的两个包:mysql-4.1.12-3.RHEL4.1mysqlclient10-3.23.58-4.RHEL4.12、删除mysql删除命令:rpm -e --nodeps 包名( rpm -ev mysql-4.1.12-3.RHEL4.1 )3、删除老版本mysql的开发…

tensorflow是python自带的吗_python-Tensorflow-没有名为’_pywrap_tensorflow_int...

目前,我正在尝试使tensorflow-我的PC上运行Windows 64位(仅cpu版本).运行命令python object_detection / builders / model_builder_test.py时出现以下错误.我在网上搜索,有99%的答案是使用cd,我认为我已经尝试过了,但是那没用.我之所以说“我认为”,是因为我不知道…

python爬取多页数据_python爬虫实现爬取同一个网站的多页数据代码实例

本篇文章小编给大家分享一下python爬虫实现爬取同一个网站的多页数据代码实例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。一、爬虫的目的从网上获取对你有需要的数据二、爬虫…

python调用百度语音实时转为文字_百度语音转文字 (Python)

感受好久没写中文技术文章了。说实话,学东西都是基于英文,或者 别人从英文翻译成中文 咱们再捡二手货学习。因此用中文写技术文章怎么都感受是在骗人,怎么都以为很别扭。编程可是这一次的主角是百度。框架虽然认真来说,全部编程语…

yum安装mysql5.7 简书_阿里云服务器(centos7.3)上安装jdk、tomcat、mysql、redis

前言:平时我们敲的项目,只能在本地浏览,不论项目写得怎么样只有自己看得到,只有发布到了云服务器,别人才能访问得到。学习之路就是这样,当别人能访问自己的项目时,会更有成就感,所以接下来就一起…

卸载源码安装mysql_CentOS7下源码安装MySQL5.7.6+

卸载CentOS7默认携带的mariadb包# 检查mariadb安装包[rootwing ~]# rpm -qa | grep -i mysql[rootwing ~]# rpm -qa | grep -i mariadbmariadb-libs-5.5.50-1.el7_2.x86_64# 卸载mariadb安装包[rootwing ~]# rpm -e mariadb-libs-5.5.50-1.el7_2.x86_64error: Failed dependenc…

android paint 线宽_android Paint 设置线宽setStrokeWidth()的单位

首先画一个空心的矩形框,代码如下:public class MainActivity extends Activity {Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);ImageView image (ImageView…

python绘制四边螺旋线代_解决python彩色螺旋线绘制引发的问题

彩色螺旋线的绘制代码如下:import turtleimport timeturtle.pensize(2)turtle.bgcolor(black)colors [red, yellow, purple, blue]turtle.tracer(False)for x in range(400):turtle.forward(2*x)turtle.color(colors[x % 4])turtle.left(91)turtle.tracer(True)tim…

java的excel导出_java 实现excel 导出功能

1 //导出数据2 //SELECT SUBSTRING(create_time,1,10) s,COUNT(*) FROM data_read WHERE data_id IN (SELECT data_id FROM DATA WHERE model_id2 OR model_id27) GROUP BY s3 RequestMapping(params "methodoutData",method RequestMethod.GET)4 public voidoutCom…

java如何让线程阻塞_Java中如何使一个线程进入阻塞态?

按我的理解,当一个线程需要获取的锁被另一个线程占用时,将进入阻塞态。但实际好像不是这样的,下面是我的代码。在run方法中会调用MyBlock的isBlocked方法,该方法添加了synchronized限定。在main方法中创建两个线程:t1和…

java监听焦点事件_【Java Swing公开课|Java Swing焦点事件监听器怎么用,看完这篇文章你一定就会了】- 环球网校...

【摘要】作为一门面向对象编程语言,Java吸收了C语言的优点,也展现了其强大的一面,我们能在各个地方看到其功能强大和简单易用的两个特征,当然,也吸引了很多程序员的注意力,所以就有人想了解Java的相关内容&…

idea创建java项目目录结构_用IDEA创建一个简单的Maven的JavaWeb项目

1.项目环境IDEA:2016.2JDK:1.8.0_76Maven:3.2.52.File-->New-->Project-->Maven3.选择Project SDK:1.8,然后勾选下方的Create from archetype,选择maven archetype webapp,点击Next4.填…

java min 函数的使用方法_【Python】Java程序员学习Python(五)— 函数的定义和使用...

不想做一个待宰的羔羊!!!!要自己变得强大。。。。函数的定义和使用放在最前边还是有原因的,现在语言趋于通用,基本类型基本都是那些,重点还是学习对象的使用方法,而最根本的还是方法…

java 斜率求角度_计算两条线之间的角度而不必计算斜率? (Java)

我有两条线:L1和L2。我想计算两条线之间的角度。 L1具有点:{(x1,y1),(x2,y2)}和L2具有点:{(x3,y3),(x4,y4)}。如何计算这两条线之间形成的角度,而不必计算斜率…

java runtime类 heap_Java 进阶(一) JVM运行时内存模型

1.JVM运行时数据区域的划分a.程序计数器(Program Counter Register)一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。每个线程拥有独立的一个计数器,如果当前执行的是Native方法,则计数器值为空。b.JVM栈(Java Virtual Ma…