mysql udb_MySQL InnoDB的一些参数说明

参考:http://addls.com/mysql-innodb-%E4%B9%8B-ibdata1-%E7%98%A6%E8%BA%AB%E5%A4%A7%E6%B3%95.html

# 备份数据库:

/usr/local/mysql/bin/mysqldump -uDBuser -pPassword –quick –force –routines –add-drop-database –all-databases –add-drop-table > /data/bkup/mysqldump.sql

# 停止数据库

service mysqld stop

# 删除这些大文件

rm /usr/local/mysql/var/ibdata1

rm /usr/local/mysql/var/ib_logfile*

:> /usr/local/mysql/var/mysql-bin.index

# 手动删除除Mysql之外所有数据库文件夹,然后启动数据库

service mysqld start

# 还原数据

/usr/local/mysql/bin/mysql -uroot -phigkoo < /data/bkup/mysqldump.sql

默认情况下,innodb的参数设置的非常小,在生产环境中远远不够用

比如最重要的两个参数

innodb_buffer_pool_size 默认是8M

innodb_flush_logs_at_trx_commit 默认设置的是1 也就是同步刷新log(可以这么理解)

innodb_buffer_pool_size:这是InnoDB最重要的设置,对InnoDB性能有决定性的影响。默认的设置只有8M,所以默认的数据库设置下面InnoDB性能很差。在只有 InnoDB存储引擎的数据库服务器上面,可以设置60-80%的内存。更精确一点,在内存容量允许的情况下面设置比InnoDB tablespaces大10%的内存大小。

innodb_data_file_path:指定表数据和索引存储的空间,可以是一个或者多个文件。最后一个数据文件必须是自动扩充的,也只有最后一个文件允许自动扩充。这样,当空间用完后,自动扩充数据文件就会自动增长(以8MB为单位)以容纳额外的数据。例如: innodb_data_file_path=/disk1 /ibdata1:900M;/disk2/ibdata2:50M:autoextend两个数据文件放在不同的磁盘上。数据首先放在ibdata1 中,当达到900M以后,数据就放在ibdata2中。一旦达到50MB,ibdata2将以8MB为单位自动增长。如果磁盘满了,需要在另外的磁盘上面增加一个数据文件。

innodb_data_home_dir:放置表空间数据的目录,默认在mysql的数据目录,设置到和MySQL安装文件不同的分区可以提高性能。

innodb_log_file_size:该参数决定了recovery speed。太大的话recovery就会比较慢,太小了影响查询性能,一般取256M可以兼顾性能和recovery的速度

innodb_log_buffer_size:磁盘速度是很慢的,直接将log写道磁盘会影响InnoDB的性能,该参数设定了log buffer的大小,一般4M。如果有大的blob操作,可以适当增大。

innodb_flush_logs_at_trx_commit=2: 该参数设定了事务提交时内存中log信息的处理。

1) =1时,在每个事务提交时,日志缓冲被写到日志文件,对日志文件做到磁盘操作的刷新。Truly ACID。速度慢。

2) =2时,在每个事务提交时,日志缓冲被写到文件,但不对日志文件做到磁盘操作的刷新。只有操作系统崩溃或掉电才会删除最后一秒的事务,不然不会丢失事务。

3) =0时, 日志缓冲每秒一次地被写到日志文件,并且对日志文件做到磁盘操作的刷新。任何mysqld进程的崩溃会删除崩溃前最后一秒的事务

innodb_file_per_table:可以存储每个InnoDB表和它的索引在它自己的文件中。

transaction-isolation=READ-COMITTED: 如果应用程序可以运行在READ-COMMITED隔离级别,做此设定会有一定的性能提升。

innodb_flush_method: 设置InnoDB同步IO的方式:

1) Default – 使用fsync()。

2) O_SYNC 以sync模式打开文件,通常比较慢。

3) O_DIRECT,在Linux上使用Direct IO。可以显著提高速度,特别是在RAID系统上。避免额外的数据复制和double buffering(mysql buffering 和OS buffering)。

innodb_thread_concurrency: InnoDB kernel最大的线程数。

1) 最少设置为(num_disks+num_cpus)*2。

2) 可以通过设置成1000来禁止这个限制

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

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

相关文章

python_fullstack基础(十一)-常用模块

python常用模块 re模块 一、正则表达式 在线测试工具 http://tool.chinaz.com/regex/ 1、字符组 &#xff1a; [字符组] 在同一个位置可能出现的各种字符组成了一个字符组&#xff0c;在正则表达式中用[]表示 字符分为很多类&#xff0c;比如数字、字母、标点等等。 假如你现在…

npm 安装依赖遇到的问题

npm npm的服务器位于国外可能会影响安装 cnpm 淘宝团队做的国内镜像 // 安装 cnpm npm install cnpm -g --registryhttps://registry.npm.taobao.org // 查看版本 cnpm -v // 查 npm 的源 npm config get registry一、cnpm -v 在 cmd 中能识别&#xff0c;但是 VsCode 无法识别…

使用RichTextBox控件实现系统剪切板功能

复制&#xff1a; 1 private void CopytoolStripMenuItem_Click(object sender, EventArgs e) 2 {//复制 3 try 4 { 5 this.Cursor Cursors.WaitCursor; 6 string strTemp richTextBoxSendInfo.SelectedT…

maven 父maven_Maven的鸟瞰图

maven 父maven我们每天要做的一件事是使用Maven通过发出诸如mvn install之类的构建命令来构建我们的项目。 然后&#xff0c;Maven查看我们项目的配置文件&#xff08;亲切地称为POM&#xff09;&#xff0c;神奇地找出要执行的操作&#xff0c;并且&#xff0c;嘿&#xff0c;…

vue animation css实现左右折叠面板

<div class"left" :class"boxshow ? a1: a2" id"showBox">这里是折叠面板的内容 </div> <i id"left" class"el-icon-d-arrow-left" click"boxshow !boxshow" :class"boxshow ? a3: a4&quo…

mysql断网_断网的情况上如何访问本机的mysql

断网的情况下怎么访问本机的mysql我发现把网络断掉后mysql就不能访问了。使用phpmyadmin(http://localhost/phpmyadmin/index.php?)访问&#xff0c;输入用户名和密码后点击登陆&#xff0c;就会出现“#2002 Cannot log in to the MySQL server”错误。使用命令行登陆&#xf…

Py IO model

事件驱动模型 上节的问题&#xff1a; 协程&#xff1a;遇到IO操作就切换。 但什么时候切回去呢&#xff1f;怎么确定IO操作完了&#xff1f; 很多程序员可能会考虑使用“线程池”或“连接池”。“线程池”旨在减少创建和销毁线程的频率&#xff0c;其维持一定合理数量的线程&a…

Fiddler 扒取微信小程序的图片

安装 Fiddler http://www.downza.cn/soft/234727.html Tools-options配置 如果无法抓取到PC微信小程序 解决办法&#xff1a; 打开小程序&#xff0c;任务管理器找到小程序所在位置&#xff0c;删除文件内容 一般路径为\Tencent\WeChat\XPlugin\Plugins\WMPFRuntime 删除…

JLBH – Java延迟基准线束介绍

在这篇文章中&#xff1a; 什么是JLBH 我们为什么写JLBH JMH和JLBH之间的区别 快速入门指南 什么是JLBH&#xff1f; JLBH是可用于测量Java程序中的延迟的工具。 它具有以下功能&#xff1a; 旨在运行比微型基准测试更大的代码。 适用于使用异步活动&#xff08;如生产者…

mysql 5.7 mts_mysql5.7 中启用MTS后error log中大量Note日志分析

mysql5.7,启用基于logical_clock的多线程复制,发现error日志增长很快&#xff0c;查看日志发现大量关于多线程复制的Note级别日志。1234567891011121314152018-07-03T03:22:01.63837108:00 8941 [Note] Multi-threaded slave statistics for channel : seconds elapsed 298; e…

js比较数字相等

示例代码&#xff1a; <!DOCTYPE html> <html lang"zh"><head><meta charset"UTF-8" /><title>js比较数字相等</title></head><body><script type"text/javascript">//设置误差范围值--机…

Nginx 怎么给一台服务器,配置两个域名?详细的解说+截图教程

一、 环境、条件准备 一台云服务器&#xff08;我的是腾讯的centos7&#xff09; 至少两个域名。&#xff08;我的是simuhunluo.xyz和simuhunluo.top。这两个域名之间没有任何关系&#xff0c;我是在阿里用两个账号分别注册的。&#xff09; 云服务器上面已经搭建了ngin…

怎样从frm ibd恢复mysql_怎样从frm,ibd恢复MYSQL

2015-07-01 回答method #1 – create work tables1. start up clean/fresh instance of mysql with innodb_file_per_table enabled.2. now, we need to find the table id that mysql is currently set at, as well as the table id for the table we need to recover.note:st…

extjs6 mvvm_ZK 6中的MVVM初探

extjs6 mvvmMVVM与MVC 在上一篇文章中&#xff0c;我们已经看到Ajax框架ZK如何采用CSS选择器启发的Controller来在View中连接UI组件并监听它们的事件。 在此ZK MVC模式下&#xff0c; View中的UI组件无需绑定到任何Controller方法或数据对象。 使用选择器模式作为将View状态和事…

多线程 调用 axis 报错_java笔记录(三、多线程)

1、进程和线程&#xff1a;进程&#xff1a;正在进行的程序。每一个进程执行都有一个执行顺序&#xff0c;该顺序是一个执行路径&#xff0c;或者叫一个控制单元。线程&#xff1a;进程内部的一条执行路径或者一个控制单元。两者的区别&#xff1a;一个进程至少有一个线程进程在…

使用PropertyPlaceholderConfigurer读取属性文件

1.简介 通常&#xff0c;当我们考虑将多个应用程序部署到生产环境之前在其中部署服务器时&#xff0c;可以在外部属性文件中配置特定于环境的参数 。 它可能是数据库详细信息&#xff0c;对于测试服务器和生产服务器而言&#xff0c;这是不同的。 因此最好选择将数据库配置文件…

第二天:Swift手势操控弹性按钮

参考链接:https://www.jianshu.com/p/f080ede0f3a8 1 import UIKit2 3 fileprivate let buttonH: CGFloat 2004 5 class ViewController: UIViewController, UIGestureRecognizerDelegate {6 7 IBOutlet weak var segmentControl: UISegmentedControl!8 var randomBtn…

asp获取mysql数据报错_ASP.NET在删除掉数据库文件后报错处理

在开发asp.net mvc程序时&#xff0c;默认时我们会使用LocalDB, 我们有时会以为删除掉App_Data目录就可以自动新建数据库&#xff0c;但是我们在网站重新启动后(进入Account)就会发现报如下错误&#xff1a;The ASP.NET Simple Membership database could not be initialized. …

按插入顺序排序的map

LinkedHashMap HashMap是无序的&#xff0c;HashMap在put的时候是根据key的hashcode进行hash然后放入对应的地方。所以在按照一定顺序put进HashMap中&#xff0c;然后遍历出HashMap的顺序跟put的顺序不同。单纯的HashMap是无法实现排序的。 区别&#xff1a; 1.HashMap里面存入…

lua excel to mysql_在Lua程序中使用MySQL的教程

http://www.jb51.net/article/66972.htmhttps://www.2cto.com/database/201501/372767.html常用sql语句&#xff1a;mysql -h localhost -u 用戶名 -p密碼 //連接數據庫use desk_show; //使用數據庫show tables; …