mysql参数优化

本文详细描述了如何配置MySQL服务器,包括设置默认字符集、端口、安装路径、数据目录等,并重点讲解了内存缓冲区大小、磁盘临时文件策略以及页面清理器参数的调整,以提升排序操作和整体性能。最后提到检查进程列表以监控运行状态。
摘要由CSDN通过智能技术生成
[mysql]
#设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port=3306
#设置mysql的安装目录
basedir=C:/workspace/soft/mysql-5.7.44-winx64/mysql-5.7.44-winx64
#设置mysql数据库的数据的存放目录
datadir=C:/workspace/soft/mysql-5.7.44-winx64/mysql-5.7.44-winx64/data
#允许最大连接数
max_connections=200
#服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
#创建新表时将使用的默认存储引擎
explicit_defaults_for_timestamp=true
default-storage-engine=INNODB
log-error=C:/workspace/soft/mysql-5.7.44-winx64/mysql-5.7.44-winx64/log/mysqld.log
bulk_insert_buffer_size=120M
max_allowed_packet=1M
net_buffer_length=8k

# 设置最大并发连接数
max_connections = 500

# 设置线程缓存大小
thread_cache_size = 20

# 设置 InnoDB 缓冲池大小
innodb_buffer_pool_size = 4G

# 设置 InnoDB 并发线程数
innodb_thread_concurrency = 0

# 设置 InnoDB I/O 容量
innodb_io_capacity = 2000
innodb_io_capacity_max = 4000

增加内存缓冲区: 如果排序操作需要大量的内存,你可以尝试增加 MySQL 的 sort_buffer_size 参数的值。这个参数控制了每个连接所使用的排序缓冲区的大小,适当增加这个值可能会提高排序操作的性能。但是请注意,过大的值可能会导致内存压力过大,应该谨慎调整。
sort_buffer_size = 4M  # 适当调整为合理值

使用磁盘临时文件: 如果排序操作涉及到的数据量较大,无法完全放入内存中进行排序,那么 MySQL 将会使用磁盘临时文件来进行排序。可以通过 tmp_table_size 和 max_heap_table_size 参数来控制内存中临时表和堆表的大小,适当增加这些值可以减少磁盘排序的次数。
tmp_table_size = 256M
max_heap_table_size = 256M


User
InnoDB: page_cleaner: 1000ms intended loop took 4682ms. The settings might not be optimal. (flushed=2492 and evicted=0, during the time.) 

调整页面清理器参数: 可以通过调整页面清理器的一些参数来优化其性能。例如,innodb_lru_scan_depth 参数可以控制页面清理器一次扫描的页面数量,适当增加这个参数的值可能会提高清理器的效率。
innodb_lru_scan_depth = 1024  # 适当调整为合理值

show processlist;

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值