有关Mysql的配置优化和my.ini文件的解释

先看看my.ini的源码

[mysql]
default-character-set=utf8

[mysqld]
port=3306
basedir=F:/phpstudy_pro/Extensions/MySQL5.7.26/
datadir=F:/phpstudy_pro/Extensions/MySQL5.7.26/data/      
character-set-server=utf8
default-storage-engine=MyIsam
max_connections=100
collation-server=utf8_unicode_ci
init_connect='SET NAMES utf8'
innodb_buffer_pool_size=64M
innodb_flush_log_at_trx_commit=1
innodb_lock_wait_timeout=120
innodb_log_buffer_size=4M
innodb_log_file_size=256M
interactive_timeout=120
join_buffer_size=2M
key_buffer_size=32M
log_error_verbosity=1
max_allowed_packet=16M
max_heap_table_size=64M
myisam_max_sort_file_size=64G
myisam_sort_buffer_size=32M
read_buffer_size=512kb
read_rnd_buffer_size=4M
server_id=1  
skip-external-locking=on 
sort_buffer_size=256kb
table_open_cache=256
thread_cache_size=16
tmp_table_size=64M
wait_timeout=120[mysql]
default-character-set=utf8

[mysqld]
port=3306
basedir=F:/phpstudy_pro/Extensions/MySQL5.7.26/
datadir=F:/phpstudy_pro/Extensions/MySQL5.7.26/data/      
character-set-server=utf8
default-storage-engine=MyIsam
max_connections=100
collation-server=utf8_unicode_ci
init_connect='SET NAMES utf8'
innodb_buffer_pool_size=64M
innodb_flush_log_at_trx_commit=1
innodb_lock_wait_timeout=120
innodb_log_buffer_size=4M
innodb_log_file_size=256M
interactive_timeout=120
join_buffer_size=2M
key_buffer_size=32M
log_error_verbosity=1
max_allowed_packet=16M
max_heap_table_size=64M
myisam_max_sort_file_size=64G
myisam_sort_buffer_size=32M
read_buffer_size=512kb
read_rnd_buffer_size=4M
server_id=1  
skip-external-locking=on 
sort_buffer_size=256kb
table_open_cache=256
thread_cache_size=16
tmp_table_size=64M
wait_timeout=120

port=3306    #启动端口号

basedir=F:/phpstudy_pro/Extensions/MySQL5.7.26/         #软件文件夹

datadir=F:/phpstudy_pro/Extensions/MySQL5.7.26/data/    #数据文件夹  

character-set-server=utf8                   #编码方式字符集 还有gbk gb2312

default-storage-engine=MyIsam         

    # 创建新表时将使用的默认存储引擎

# 创建新表时将使用的默认存储引擎

#有Myisam InnoDB MEMORY 等几种引擎

事务的参考mysql 保证事物完整性_事务隔离 保证一系列操作的完整性_搬起板凳砸西瓜的博客-优快云博客

对于引擎的参考:MySQL中四种常用存储引擎的介绍_chengwhhu的博客-优快云博客_mysql 常用的存储引擎

max_connections=100                              

#最大连接数  如果服务器的并发连接请求量比较大,建议调高此值,

#以增加并行连接数量,当然这建立在机器能支撑的情况下,因为如果连接数越多,

#介于MySQL会为每个连接提供连接缓冲区,就会开销越多的内存,所以要适当调整该值,

#不能盲目提高设值。

#看服务器多不多人访问  人多调高(内存开销大) 人少调低

collation-server=utf8_unicode_ci

#排序规则

#utf8_general_ci 不区分大小写 准确度高,但校对速度稍慢。

#utf8_general_ci 不区分大小写 校对速度快,但准确度稍差。

#utf8_bin_ci区分大小写

init_connect='SET NAMES utf8'                                    

#init_connect通常用于:当一个连接进来时,做一些操作(初始化),比如设置autocommit为0,

#比如记录当前连接的ip来源和用户等信息到一个新表里,当做登陆日志信息(写开头。)

interactive_timeout=120

#指的是mysql在关闭一个交互的连接之前所要等待的秒数

详解:MySQL中的配置参数interactive_timeout和wait_timeout(可能导致过多sleep进程的两个参数)..._weixin_30778805的博客-优快云博客

#**********************innodb参数*********************************

innodb_thread_concurrency=70

# InnoDB内核最大并发线程数。

#如果一个工作负载中,并发用户线程的数量小于64,建议设置innodb_thread_concurrency=0;


 

#init_connect通常用于:当一个连接进来时,做一些操作(初始化),比如设置autocommit为0,

#比如记录当前连接的ip来源和用户等信息到一个新表里,当做登陆日志信息(写开头。)

innodb_buffer_pool_size=64M

#缓冲大小

# InnoDB使用缓冲池来缓存索引和行数据。

#该值设置的越大,则磁盘IO越少。一般将该值设为物理内存的80%。

innodb_log_buffer_size=4M

#日志缓冲

 # InnoDB日志数据缓冲大小,如果缓冲满了,就会将缓冲中的日志数据写入磁盘(flush)。

 #由于一般至少都1秒钟会写一次磁盘,所以没必要设置过大,即使是长事务。


 

innodb_flush_log_at_trx_commit=1

#日志清洗

#是将事务日志从innodb log buffer写入到redo log中

#redo log:   假设修改 tba 表中 id=2的行数据,把Name='B' 修改为Name = 'B2' ,那么redo日志就会用来存放Name='B2'的记录,

#如果这个修改在flush 到磁盘文件时出现异常可以使用redo log实现重做操作,保证事务的持久性。

redologmysql事务日志(redo log 和 undo log)_chai471793的博客-优快云博客

#设置为0就是等到innodb_log_buffer_size列队满后再统一储存,默认为1

详解:innodb_flush_log_at_trx_commit和sync_binlog参数详解_thundermeng的博客-优快云博客

#N=0    每隔一秒,把事务日志缓存区的数据写到日志文件中,以及把日志文件的数据刷新到磁盘上;

#N=0 MySQL性能最好,但如果 mysqld 进程崩溃,通常会导致最后 1s 的日志丢失。

#但每次事务提交不会有任何影响,也就是 log buffer 的刷写操作和事务提交操作没有关系

#N=1    每个***事务提交****时候,把事务日志从缓存区写到日志文件中,并且刷新日志文件的数据到磁盘上;

#   当取值为 1 时,每次事务提交时,log buffer 会被写入到日志文件并刷写到磁盘。这也是默认值。这是最安全的配置,但由于每次事务都需要进行磁盘I/O,所以也最慢。


 

#N=2    每事务提交的时候,把事务日志数据从缓存区写到日志文件中;每隔一秒,刷新一次日志文件,但**不一定刷新到磁盘***上,而是取决于操作系统的调度;

#如果为了最高性能,可以设置为 0。有些应用,如支付服务,对一致性和完整性要求很高,所以即使最慢,也最好设置为 1.

# 设为1当然是最安全的,但性能页是最差的(相对其他两个参数而言,但不是不能接受)。如果对数据一致性和完整性要求不高,完全可以设为2,

#如果只最求性能,例如高并发写的日志服务器,设为0来获得更高性能

innodb_lock_wait_timeout=120

#锁定超时

#指的是事务等待获取资源等待的最长时间,超过这个时间还未分配到资源则会返回应用失败;

#默认50s

innodb_log_file_size=20M

#日志大小

# 每一个InnoDB事务**日志**的大小。一般设为innodb_buffer_pool_size的25%到100%


 

#**********************innodb参数*********************************

#*****************myisam参数*************************************

myisam_max_sort_file_size=64G

# mysql重建索引时允许使用的临时文件最大大小

myisam_sort_buffer_size=32M

#执行 ALTER TABLE, OPTIMIZE TABLE, REPAIR TABLE 命令时

#需要分配 myisam_sort_buffer_size 大小的内存。

## MyISAM设置恢复表之时使用的缓冲区的尺寸,当在REPAIR TABLE或用CREATE INDEX创建索引

#或ALTER TABLE过程中排序 MyISAM索引分配的缓冲区  


 

#*******************myisam参数*************************************


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值