首页 数据库 mysql教程 自制mysql主从复制(实时)软件配置_MySQL

自制mysql主从复制(实时)软件配置_MySQL

Jun 01, 2016 pm 01:10 PM

mysql 5.5——my.ini—— innodb数据库引擎配置


我的机器配置也不是什么高端配置,就一般的笔记本电脑配置2G内存

PS:添出这个myini文件的原因有以下几点

    1. 作为我日后进一步学习的笔记

    2. 作为和大家交流的中介,希望有更多的朋友指出我的不足 

    3. 也是督促我学习的一个模式       

# MySQL Server Instance Configuration File

# ----------------------------------------------------------------------

[client]

port=3306
登录后复制
登录后复制

[mysql]

default-character-set=utf8
登录后复制

[mysqld]

port=3306
登录后复制
登录后复制

#错误日志

log-error=D:/MySQL/MySQL Server 5.5/logerror/mysql-error
登录后复制

#二进制更新日志

log-bin=D:/MySQL/MySQL Server 5.5/logbin/mysql-bin
登录后复制

#mysql 的安装路径

basedir="D:/MySQL/MySQL Server 5.5/"
登录后复制

#数据库存储位置

datadir="E:/MySQL/MySQL Server 5.5/DB/"
登录后复制


#*** INNODB Specific options ***

innodb_data_home_dir="D:/MySQL Datafiles/data5.5/"character-set-server=utf8default-storage-engine=INNODB
登录后复制

# Set the SQL mode to strict

#用来约束你的数据库中数据处理的模式

sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
登录后复制

# mysql并发会话数量,实际上一般的用户得到并发会话最大数量是max_connections-1,因为任何时候都需要给super用户留一个

max_connections=1024
登录后复制

#查询缓存 如果你的项目就几张表,那么打开这个参数,并设定一个比较大的值(如果你的内存允许的话),那你的查询性能将是一个质的提高;

#如果你的项目中有很多的表,而且查询经常是在不同的表之间,那么这个参数就越小越好,甚至可以关闭该参数,因为表的查询切换太频繁,

#过度的缓存将适得其反

query_cache_size=0Mquery_cache_limit = 1Mquery_cache_type=off
登录后复制

#所有线程打开表的总和,主要是查询打开,因为对于一般的使用而言数据的查询较多

table_cache=1520
登录后复制

#零时表的大小,这个参数说的是一张表的大小。如果一个表的实际大小(200M)大于该值,那该值自动变为表的实际大小(200M)

tmp_table_size=100M
登录后复制

#线程可以缓存的数量,从而重复使用

# 但是这个值的改动不会有太大的性能的提高,或者说改善的不明显

thread_cache_size=60
登录后复制

#*** MyISAM Specific options

#这些个参数是MyISAM 引擎参数设置,我不是很确定每个参数的实际改动效果

myisam_max_sort_file_size=100Gmyisam_sort_buffer_size=199Mkey_buffer_size=16Mread_buffer_size=8Mread_rnd_buffer_size=16Msort_buffer_size=32M
登录后复制

#*** INNODB Specific options ***

#每张表建立一个数据文件,这个参数可以直接写innodb_file_per_table 或者写innodb_file_per_table = on ,

#也就是意味着你的数据表的存放格式是frm+ibd,这些文件都放在你的数据存储位置,当然系统的一些配置数据还

#都放在ibdata1文件中,但是如果你不配置该参数,那么你的数据存储位置只有frm文件,而实际的数据是都放在

#ibdata1文件中,这样做到好处是你可以看到每个表的实际大小和应用情况,方便管理,而且如果你的数据崩溃的话,

#你可以用保留的日志文件替换,并且直接删除不需要的表或者出现了问题的表。

innodb_file_per_table
登录后复制

#InnoDB用来存储数据目录信息&其它内部数据结构的内存池的大小。你应用程序里的表越多,你需要在这里分

#配越多的内存。如果InnoDB用光了这个池内的内存,InnoDB开始从操作系统分配内存,并且往MySQL错误日

#志写警告信息。 默认值是1MB。

innodb_additional_mem_pool_size = 12M
登录后复制

# 当innodb_flush_log_at_trx_commit被 设置为0,日志缓冲每秒一次地被写到日志文件,并且对日志文件做到

# 磁盘操作的刷新,但是在一个事务提交不做任何操作。当这个值为1(默认值)之时,在每个事务提交时,日

# 志缓冲被写到日志文件,对日志文件做到磁盘操作的 刷新。当设置为2之时,在每个提交,日志缓冲被写到文

# 件,但不对日志文件做到磁盘操作的刷新。尽管如此,在对日志文件的刷新在值为2的情况也每秒发生一次。

# 我们必须注意到,因为进程安排问题,每秒一次的 刷新不是100%保证每秒都发生。你可以通过设置这个值不

# 为1来获得较好的性能,但随之你会在一次崩溃中损失二分之一价值的事务。如果你设置这个值为0,那么任

# 何mysqld进程的崩溃会删除崩溃前最后一秒的事务,如果你设置这个值为2,那么只有操作系统崩溃或掉电才

# 会删除最后一秒的事务。尽管如此,InnoDB的崩溃恢复不受影响,而且因为这样崩溃恢复开始作用而不考虑这

# 个值。注意,许多操作系统和一些磁盘硬件会欺骗 刷新到磁盘操作。尽管刷新没有进行,你可以告

# 诉mysqld刷新已经进行。即使设置这个值为1,事务的持久程度不被保证,且在最坏情况下掉电甚至会破

# 坏InnoDB数据库。在SCSI磁盘控制器中,或在磁盘自身中,使用有后备电池的磁盘缓存会加速文件 刷新并且

# 使得操作更安全。你也可以试着使用Unix命令hdparm来在硬件缓存中禁止磁盘写缓存,或使用其它一些对硬

# 件提供商专用的命令。这个选项的 默认值是1。

innodb_flush_log_at_trx_commit=1
登录后复制

# InnoDB用来往磁盘上的日志文件写操作的缓冲区的大小。明智的值是从1MB到8MB。 默认的是1MB。一个大

# 的日志缓冲允许大型事务运行而不需要在事务提交之前往磁盘写日志。因此,如果你有大型事务,使日志缓冲

# 区更大以节约磁盘I/O。

innodb_log_buffer_size=5M
登录后复制

# InnoDB用来缓存它的数据和索引的内存缓冲区的大小。你把这个值设得越高,访问表中数据需要得磁盘I/O越

# 少。在一个专用的数据库服务器上,你可以设置这个参数达机器物理内存大小的80%。尽管如此,还是不要把

# 它设置得太大,因为对物理内存的竞争可能在操作系统上导致内存调度,其性能反而下降。

###innodb_buffer_pool_size=800M

innodb_buffer_pool_size=474M
登录后复制

# 在日志组里每个日志文件的大小。在32位计算机上日志文件的合并大小必须少于4GB。 默认是5MB。明智的值

# 从1MB到N分之一缓冲池大小,其中N是组里日志文件的数目。值越大,在缓冲池越少需要检查点刷新行为,以

# 节约磁盘I/O。但更大的日志文件也意味这在崩溃时恢复得更慢。

innodb_log_file_size=95M
登录后复制

# InnoDB试着在InnoDB内保持操作系统线程的数量少于或等于这个参数给出的限制。如果有性能问题,并

# 且SHOW INNODB STATUS显示许多线程在等待信号,可以让线程“thrashing” ,并且设置这个参数更小或更

# 大。如果你的计算机有多个处理器和磁盘,你可以试着这个值更大以更好地利用计算机的资源。一个推荐的值

# 是系统上处理器和磁盘的个数之和。值为500或比500大会禁止调用并发检查。默认值是20,并且如果设置大

# 于或等于20,并发检查将被禁止。

#(这段话是我在mysql5.5手册中复制过来的,这个8是我自己电脑的设置,而服务器的参数是30)

innodb_thread_concurrency=8
登录后复制

# 在InnoDB中,这个选项仅与你使用多表空间innodb_file_per_table 时有关。它指定InnoDB一次可以保持打开的.ibd文件的最大数目。

# 最小值是10。 默认值300

innodb_open_files=250
登录后复制

#Number of file I/O threads in InnoDB. Normally, this should be 4, but on Windows disk I/O may benefit from a larger number.

innodb_read_io_threads= 8innodb_write_io_threads =8
登录后复制

#设置自动提交为false 当然这个自动提交也可以在自己的外部程序中控制

autocommit = false
登录后复制

#该参数反应的是一次事务提交可以提交的最大包的大小

#max_allowed_packet  = 5Mmax_allowed_packet  = 25M
登录后复制

#由于操作失败导致数据库崩溃

#(这个参数是当数据库crash后为了能启动你的数据库设置的参数,默认值是0)

#1(SRV_FORCE_IGNORE_CORRUPT):忽略检查到的corrupt页。

#2(SRV_FORCE_NO_BACKGROUND):阻止主线程的运行,如主线程需要执行full purge操作,会导致crash。

#3(SRV_FORCE_NO_TRX_UNDO):不执行事务回滚操作。

#4(SRV_FORCE_NO_IBUF_MERGE):不执行插入缓冲的合并操作。

#5(SRV_FORCE_NO_UNDO_LOG_SCAN):不查看重做日志,InnoDB存储引擎会将未提交的事务视为已提交。

#6(SRV_FORCE_NO_LOG_REDO):不执行前滚的操作。

#innodb_force_recovery = 5
登录后复制

ps:这里的my.ini仅仅针对我们自己的项目和实际应用而设定的,除了最初的mysql安装时候给出的通用my.ini很多时候都需要我们自己设定里边的参数,从而提高mysql的性能。


本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1670
14
CakePHP 教程
1428
52
Laravel 教程
1329
25
PHP教程
1274
29
C# 教程
1256
24
MySQL的角色:Web应用程序中的数据库 MySQL的角色:Web应用程序中的数据库 Apr 17, 2025 am 12:23 AM

MySQL在Web应用中的主要作用是存储和管理数据。1.MySQL高效处理用户信息、产品目录和交易记录等数据。2.通过SQL查询,开发者能从数据库提取信息生成动态内容。3.MySQL基于客户端-服务器模型工作,确保查询速度可接受。

说明InnoDB重做日志和撤消日志的作用。 说明InnoDB重做日志和撤消日志的作用。 Apr 15, 2025 am 12:16 AM

InnoDB使用redologs和undologs确保数据一致性和可靠性。1.redologs记录数据页修改,确保崩溃恢复和事务持久性。2.undologs记录数据原始值,支持事务回滚和MVCC。

MySQL与其他编程语言:一种比较 MySQL与其他编程语言:一种比较 Apr 19, 2025 am 12:22 AM

MySQL与其他编程语言相比,主要用于存储和管理数据,而其他语言如Python、Java、C 则用于逻辑处理和应用开发。 MySQL以其高性能、可扩展性和跨平台支持着称,适合数据管理需求,而其他语言在各自领域如数据分析、企业应用和系统编程中各有优势。

MySQL索引基数如何影响查询性能? MySQL索引基数如何影响查询性能? Apr 14, 2025 am 12:18 AM

MySQL索引基数对查询性能有显着影响:1.高基数索引能更有效地缩小数据范围,提高查询效率;2.低基数索引可能导致全表扫描,降低查询性能;3.在联合索引中,应将高基数列放在前面以优化查询。

初学者的MySQL:开始数据库管理 初学者的MySQL:开始数据库管理 Apr 18, 2025 am 12:10 AM

MySQL的基本操作包括创建数据库、表格,及使用SQL进行数据的CRUD操作。1.创建数据库:CREATEDATABASEmy_first_db;2.创建表格:CREATETABLEbooks(idINTAUTO_INCREMENTPRIMARYKEY,titleVARCHAR(100)NOTNULL,authorVARCHAR(100)NOTNULL,published_yearINT);3.插入数据:INSERTINTObooks(title,author,published_year)VA

MySQL与其他数据库:比较选项 MySQL与其他数据库:比较选项 Apr 15, 2025 am 12:08 AM

MySQL适合Web应用和内容管理系统,因其开源、高性能和易用性而受欢迎。1)与PostgreSQL相比,MySQL在简单查询和高并发读操作上表现更好。2)相较Oracle,MySQL因开源和低成本更受中小企业青睐。3)对比MicrosoftSQLServer,MySQL更适合跨平台应用。4)与MongoDB不同,MySQL更适用于结构化数据和事务处理。

MySQL:结构化数据和关系数据库 MySQL:结构化数据和关系数据库 Apr 18, 2025 am 12:22 AM

MySQL通过表结构和SQL查询高效管理结构化数据,并通过外键实现表间关系。1.创建表时定义数据格式和类型。2.使用外键建立表间关系。3.通过索引和查询优化提高性能。4.定期备份和监控数据库确保数据安全和性能优化。

解释InnoDB缓冲池及其对性能的重要性。 解释InnoDB缓冲池及其对性能的重要性。 Apr 19, 2025 am 12:24 AM

InnoDBBufferPool通过缓存数据和索引页来减少磁盘I/O,提升数据库性能。其工作原理包括:1.数据读取:从BufferPool中读取数据;2.数据写入:修改数据后写入BufferPool并定期刷新到磁盘;3.缓存管理:使用LRU算法管理缓存页;4.预读机制:提前加载相邻数据页。通过调整BufferPool大小和使用多个实例,可以优化数据库性能。

See all articles