Mysql配置innodb_flush_log_at_trx_commit

当innodb_flush_log_at_trx_commit被 设置为0,日志缓冲每秒一次地被写到日志文件,并且对日志文件做到磁盘操作的刷新,但是在一个事务提交不做任何操作。当这个值为1(默认值)之时,在每个事务提交时,日志缓冲被写到日志文件,对日志文件做到磁盘操作的刷新。当设置为2之时,在每个提交,日志缓冲被写到文件,但不对日志文件做到磁盘操作的刷新。尽管如此,在对日志文件的刷新在值为2的情况也每秒发生一次。我们必须注意到,因为进程安排问题,每秒一次的刷新不是100%保证每秒都发生。你可以通过设置这个值不为1来获得较好的性能,但随之你会在一次崩溃中损失二分之一价值的事务。如果你设置这个值为0,那么任何mysqld进程的崩溃会删除崩溃前最后一秒的事务,如果你设置这个值为2,那么只有操作系统崩溃或掉电才会删除最后一秒的事务。尽管如此,InnoDB的崩溃恢复不受影响,而且因为这样崩溃恢复开始作用而不考虑这个值。注意,许多操作系统和一些磁盘硬件会欺骗刷新到磁盘操作。尽管刷新没有进行,你可以告诉mysqld刷新已经进行。即使设置这个值为1,事务的持久程度不被保证,且在最坏情况下掉电甚至会破坏InnoDB数据库。在SCSI磁盘控制器中,或在磁盘自身中,使用有后备电池的磁盘缓存会加速文件刷新并且使得操作更安全。你也可以试着使用Unix命令hdparm来在硬件缓存中禁止磁盘写缓存,或使用其它一些对硬件提供商专用的命令。这个选项的默认值是1。

时间: 2024-10-13 22:23:52

Mysql配置innodb_flush_log_at_trx_commit的相关文章

Mysql 配置参数详解以及优化配置

mysql有以下几种日志: 错误日志:   log-err 查询日志:   log 慢查询日志:  log-slow-queries 更新日志:   log-update 二进制日志: log-bin 要把日志生成在 /var/log 目录下(是系统日志存放的地方,只有 root 账号有写权限),需要 MySQL进程对这个目录有读写权限,一般是不这么做的,也考虑到安全问题,包括 MySQL 本身的数据安全,因为对 MySQL 的所有操作,都会记录到常规查询日志.MySQL的日志就不要用 /var

mysql参数innodb_flush_log_at_trx_commit

查看mysql数据库innodb_flush_log_at_trx_commit : mysql> SHOW GLOBAL VARIABLES LIKE 'innodb_flush_log%'; +--------------------------------+-------+ | Variable_name | Value | +--------------------------------+-------+ | innodb_flush_log_at_timeout | 1 | | in

linux系统下mysql配置优化初学习入门

学习mysql 一段时间了,在mysql配置优化方面做一下总结,mysql优化要考虑到多方面,多因素.与服务器的硬件,当前运行的环境都息息相关.下面来说一下mysql的配置优化: [client] port = 3306 socket = /tmp/mysql.sock    [mysqld] port = 3306 socket = /tmp/mysql.sock   basedir = /usr/local/mysql datadir = /data/mysql pid-file = /da

MYSQL配置主从同步

MYSQL配置主从同步 mysql主服务器配置 vim /etc/my.cnf [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock symbolic-links=0 lower_case_table_names=1 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES #设置数据库标识 server-id=2 #任何一个事务提交之后就立即写入到磁盘中的二进制文件 syn

VS2012+EF6+Mysql配置心路历程

原文:VS2012+EF6+Mysql配置心路历程 为了学习ORM,选择了EntityFramework,经历了三天两夜的煎熬,N多次错误,在群里高手的帮助下,终于成功,现在将我的心路历程记录下来,一是让自己有个记录,另外就是让其它人少走些弯路. 我的开发环境是Win7+VS2012,数据库环境是Ubuntu12.04+MySQL+Mono+Jexus 计划开发完后整个运行在Linux下. 1.下载MySQL Connector/Net 6.8.3 地址:http://dev.mysql.com

MySQL 配置讲解

MySQL 配置讲解 MySQL安装好后,我们是从安装包的support-files里面复制过来一个末班配置文件,默认MySQL配置文件是在/etc/my.cnf下,其实这个路径或者文件名字我们是可以修改的,在启动脚本中修改. 以下是一些常用的设置: [mysqld] socket          = /tmp/mysql.sock #为MySQL客户程序与服务器之间的本地通信制定一个套接字文件(Linux下默认是/var/lib/mysql/mysql.sock文件) port      

LAMP第三部分php,mysql配置

内容概要:一.  php配置1. 配置disable_functiondisable_functions = eval,assert,popen,passthru,escapeshellarg,escapeshellcmd,passthru,exec,system,chroot,scandir,chgrp,chown,escapeshellcmd,escapeshellarg,shell_exec,proc_get_status,ini_alter,ini_restore,dl,pfsockop

第三部分php配置和mysql配置

9. 配置防盗链http://www.lishiming.net/thread-71-1-1.html 防止别人的网站,放你网站图片的链接, 位置一般情况下在 /usr/local/apache/conf/httpd.conf或者apache 2.2 的 /usr/local/apache2/conf/extra/httpd-vhost.conf添加 SetEnvIfNoCase Referer "^http://www.ccvita.com" local_refSetEnvIfNoC

Windows下MySQL配置及安全加固总结

Windows下MySQL配置及安全加固总结 在网管的实际使用过程中,MySQL数据库在安装后的配置及安全加固内容,在客户中逐渐要求越来越高.从反馈的问题看,一般都是由第三方软件公司的软件扫描整个系统,mysql的相关内容不符合要求测试肯定不能通过.自动检测的软件,主要使用两种判断方式:一.根据mysql官方发布的信息判断当前版本是否有已知的严重bug:二.进入mysql数据库,通过执行各种查询命令,检查相应的功能开关是否打开.对于第一种,需要我们从mysql的官方网站更新当前最新版本来解决:第