首页 数据库 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

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

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

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

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

与MySQL中使用索引相比,全表扫描何时可以更快? 与MySQL中使用索引相比,全表扫描何时可以更快? Apr 09, 2025 am 12:05 AM

全表扫描在MySQL中可能比使用索引更快,具体情况包括:1)数据量较小时;2)查询返回大量数据时;3)索引列不具备高选择性时;4)复杂查询时。通过分析查询计划、优化索引、避免过度索引和定期维护表,可以在实际应用中做出最优选择。

说明InnoDB全文搜索功能。 说明InnoDB全文搜索功能。 Apr 02, 2025 pm 06:09 PM

InnoDB的全文搜索功能非常强大,能够显着提高数据库查询效率和处理大量文本数据的能力。 1)InnoDB通过倒排索引实现全文搜索,支持基本和高级搜索查询。 2)使用MATCH和AGAINST关键字进行搜索,支持布尔模式和短语搜索。 3)优化方法包括使用分词技术、定期重建索引和调整缓存大小,以提升性能和准确性。

可以在 Windows 7 上安装 mysql 吗 可以在 Windows 7 上安装 mysql 吗 Apr 08, 2025 pm 03:21 PM

是的,可以在 Windows 7 上安装 MySQL,虽然微软已停止支持 Windows 7,但 MySQL 仍兼容它。不过,安装过程中需要注意以下几点:下载适用于 Windows 的 MySQL 安装程序。选择合适的 MySQL 版本(社区版或企业版)。安装过程中选择适当的安装目录和字符集。设置 root 用户密码,并妥善保管。连接数据库进行测试。注意 Windows 7 上的兼容性问题和安全性问题,建议升级到受支持的操作系统。

InnoDB中的聚类索引和非簇索引(次级索引)之间的差异。 InnoDB中的聚类索引和非簇索引(次级索引)之间的差异。 Apr 02, 2025 pm 06:25 PM

聚集索引和非聚集索引的区别在于:1.聚集索引将数据行存储在索引结构中,适合按主键查询和范围查询。2.非聚集索引存储索引键值和数据行的指针,适用于非主键列查询。

哪些流行的MySQL GUI工具(例如MySQL Workbench,PhpMyAdmin)是什么? 哪些流行的MySQL GUI工具(例如MySQL Workbench,PhpMyAdmin)是什么? Mar 21, 2025 pm 06:28 PM

文章讨论了流行的MySQL GUI工具,例如MySQL Workbench和PhpMyAdmin,比较了它们对初学者和高级用户的功能和适合性。[159个字符]

您如何处理MySQL中的大型数据集? 您如何处理MySQL中的大型数据集? Mar 21, 2025 pm 12:15 PM

文章讨论了处理MySQL中大型数据集的策略,包括分区,碎片,索引和查询优化。

mysql:简单的概念,用于轻松学习 mysql:简单的概念,用于轻松学习 Apr 10, 2025 am 09:29 AM

MySQL是一个开源的关系型数据库管理系统。1)创建数据库和表:使用CREATEDATABASE和CREATETABLE命令。2)基本操作:INSERT、UPDATE、DELETE和SELECT。3)高级操作:JOIN、子查询和事务处理。4)调试技巧:检查语法、数据类型和权限。5)优化建议:使用索引、避免SELECT*和使用事务。

mysql用户和数据库的关系 mysql用户和数据库的关系 Apr 08, 2025 pm 07:15 PM

MySQL 数据库中,用户和数据库的关系通过权限和表定义。用户拥有用户名和密码,用于访问数据库。权限通过 GRANT 命令授予,而表由 CREATE TABLE 命令创建。要建立用户和数据库之间的关系,需创建数据库、创建用户,然后授予权限。

See all articles