首頁 資料庫 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)複雜查詢時。通過分析查詢計劃、優化索引、避免過度索引和定期維護表,可以在實際應用中做出最優選擇。

可以在 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:09 PM

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

InnoDB中的聚類索引和非簇索引(次級索引)之間的差異。 InnoDB中的聚類索引和非簇索引(次級索引)之間的差異。 Apr 02, 2025 pm 06:25 PM

聚集索引和非聚集索引的區別在於:1.聚集索引將數據行存儲在索引結構中,適合按主鍵查詢和範圍查詢。 2.非聚集索引存儲索引鍵值和數據行的指針,適用於非主鍵列查詢。

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 命令創建。要建立用戶和數據庫之間的關係,需創建數據庫、創建用戶,然後授予權限。

mysql 和 mariadb 可以共存嗎 mysql 和 mariadb 可以共存嗎 Apr 08, 2025 pm 02:27 PM

MySQL 和 MariaDB 可以共存,但需要謹慎配置。關鍵在於為每個數據庫分配不同的端口號和數據目錄,並調整內存分配和緩存大小等參數。連接池、應用程序配置和版本差異也需要考慮,需要仔細測試和規劃以避免陷阱。在資源有限的情況下,同時運行兩個數據庫可能會導致性能問題。

說明不同類型的MySQL索引(B樹,哈希,全文,空間)。 說明不同類型的MySQL索引(B樹,哈希,全文,空間)。 Apr 02, 2025 pm 07:05 PM

MySQL支持四種索引類型:B-Tree、Hash、Full-text和Spatial。 1.B-Tree索引適用於等值查找、範圍查詢和排序。 2.Hash索引適用於等值查找,但不支持範圍查詢和排序。 3.Full-text索引用於全文搜索,適合處理大量文本數據。 4.Spatial索引用於地理空間數據查詢,適用於GIS應用。

See all articles