mysql.ini

# MySQL Server Instance Configuration File
# ----------------------------------------------------------------------

# CLIENT SECTION
# ----------------------------------------------------------------------
[client]
#设置mysql客户端连接服务端时默认使用的端口
port=3306 
[mysql]
#设置mysql客户端默认字符集
default-character-set=utf8


# SERVER SECTION
# ----------------------------------------------------------------------
[mysqld]
#mysql服务端默认监听(listen on)的TCP/IP端口
port=3306

# 基准路径,其他路径都相对于这个路径
basedir="C:/Program Files/MySQL/MySQL Server 5.5/"
# mysql数据库文件所在目录
datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/"

# 服务端使用的字符集默认utf8字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

# SQL模式为strict模式
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

# mysql服务器支持的最大并发连接数(用户数)。但总会预留其中的一个连接给管理员使用超级权限登录,即使连接数目达到最大限制。如果设置得过小而用户比较多,会经常出现“Too many connections”错误。
max_connections=700

# 查询缓存大小,用于缓存SELECT查询结果。如果有许多返回相同查询结果的SELECT查询,并且很少改变表,可以设置query_cache_size大于0,可以极大改善查询效率。而如果表数据频繁变化,就不要使用这个,会适得其反
query_cache_size=0
query_cache_type=0

# 这个参数在5.1.3之后的版本中叫做table_open_cache,用于设置table高速缓存的数量。由于每个客户端连接都会至少访问一个表,因此此参数的值与max_connections有关。
# 当某一连接访问一个表时,MySQL会检查当前已缓存表的数量。如果该表已经在缓存中打开,则会直接访问缓存中的表已加快查询速度;如果该表未被缓存,则会将当前的表添加进缓存并进行查询。
# 在执行缓存操作之前,table_cache用于限制缓存表的最大数目:如果当前已经缓存的表未达到table_cache,则会将新表添加进来;若已经达到此值,MySQL将根据缓存表的最后查询时间、查询率等规则释放之前的缓存。
table_cache=1400

# 内存中的每个临时表允许的最大大小。如果临时表大小超过该值,临时表将自动转为基于磁盘的表(Disk Based Table)
tmp_table_size=16M

# 缓存的最大线程数。当客户端连接断开时,如果客户端总连接数小于该值,则处理客户端任务的线程放回缓存。
# 在高并发情况下,如果该值设置得太小,就会有很多线程频繁创建,线程创建的开销会变大,查询效率也会下降。一般来说如果在应用端有良好的多线程处理,这个参数对性能不会有太大的提高。
thread_cache_size=34



# MyISAM Specific options
# ----------------------------------------------------------------------
# mysql重建索引时允许使用的临时文件最大大小
myisam_max_sort_file_size=100G
myisam_sort_buffer_size=8M
# Key Buffer大小,用于缓存MyISAM表的索引块。决定数据库索引处理的速度(尤其是索引读)
key_buffer_size=25M
read_buffer_size=64K
read_rnd_buffer_size=256K
# connection级参数(为每个线程配置),500个线程将消耗500*256K的sort_buffer_size
sort_buffer_size=208K



# INNODB Specific options 
# ----------------------------------------------------------------------
# InnoDB用于存储元数据信息的内存池大小,一般不需修改
innodb_additional_mem_pool_size=2M
# 事务相关参数,如果值为1,则InnoDB在每次commit都会将事务日志写入磁盘(磁盘IO消耗较大),这样保证了完全的ACID特性。
# 而如果设置为0,则表示事务日志写入内存log和内存log写入磁盘的频率都为1次/秒。如果设为2则表示事务日志在每次commit都写入内存log,但内存log写入磁盘的频率为1次/秒
innodb_flush_log_at_trx_commit=1
# InnoDB日志数据缓冲大小,如果缓冲满了,就会将缓冲中的日志数据写入磁盘(flush)。由于一般至少都1秒钟会写一次磁盘,所以没必要设置过大,即使是长事务。
innodb_log_buffer_size=1M
# InnoDB使用缓冲池来缓存索引和行数据。该值设置的越大,则磁盘IO越少。一般将该值设为物理内存的80%。
innodb_buffer_pool_size=46M
# 每一个InnoDB事务日志的大小。一般设为innodb_buffer_pool_size的25%到100%
innodb_log_file_size=10M
# InnoDB内核最大并发线程数
innodb_thread_concurrency=10

#负责处理数据页上读写IO请求的后台线程数量
innodb_read_io_threads=4
innodb_write_io_threads=4

#大致上 MySQL 会根据 innodb_io_capacity 来判断数据刷新的速度能不能在可控的范围内
#如果设置过大,会造成 MySQL 高估磁盘能力,导致脏页堆积;脏页堆积可能会带来短时间的 TPS (每秒事务量) 降为0。
#如果设置过低,也会造成 MySQL 低估磁盘能力,使得数据库 TPS 能力降低。
#以 7200rpm HDD 为例,属于比较低级的磁盘,根据 MySQL 官方的建议应将 innodb_io_capacity 降低到 100。
innodb_io_capacity=100
innodb_io_capacity_max=200
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值