Mysql优化和配置

一. Mysql配置

一次写入, 多次查询, 若mysql写入时间过长, 会影响客户体验. 故mysql读写时间都需要优化.

1, 大的缓冲池可以减小多次磁盘I/O访问相同的表数据 innodb_buffer_pool_size = 8G;

2, 缓存 SELECT 的结果并且在下一次同样查询的时候不再执行直接返回结果query_cache_size = 256M.

此份配置需长期优化, 以下为配置文件.


!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
[mysqld]
transaction-isolation = READ-COMMITTED
# Disabling symbolic-links is recommended to prevent assorted security risks;# to do so, uncomment this line:# symbolic-links = 0
[myisamchk]
# 关键词缓冲的大小, 一般用来缓冲 MyISAM 表的索引块
key_buffer_size = 32M
# 在导出非常巨大的表时需要此项
max_allowed_packet = 32M
# 线程使用的堆大小. 此容量的内存在每次连接时被预留.
thread_stack = 256K
# 在 cache 中保留的线程数用于重用
thread_cache_size = 64
# 只有小于此设定值的结果才会被缓冲
# 此设置用来保护查询缓冲,防止一个极大的结果集将其他所有的查询结果都覆盖.
query_cache_limit = 8M
# 用来缓冲 SELECT 的结果并且在下一次同样查询的时候不再执行直接返回结果.
query_cache_size = 256M
# 控制查询缓存功能的开启和关闭, 0表示关闭, 1表示打开
query_cache_type = 1
# MySQL 服务所允许的同时会话数的上限
max_connections = 550
#expire_logs_days = 10
#max_binlog_size = 100M
#log_bin should be on a disk with enough free space. Replace '/var/lib/mysql/mysql_binary_log'
#with an appropriate path for your system
#and chown the specified folder to the mysql user.
log_bin=/var/lib/mysql/mysql_binary_log
server_id=23233
bind-address=0.0.0.0
# For MySQL version 5.1.8 or later. For older versions, reference MySQL documentation for configuration help.
binlog_format = mixed
# MyISAM 表全表扫描的缓冲大小.
read_buffer_size = 4M
# 当在排序之后,从一个已经排序好的序列中读取行时,行数据将从这个缓冲中读取来防止磁盘寻道.
# 若增高此值, 可以提高很多 ORDER BY 的性能.
read_rnd_buffer_size = 16M
# 此缓冲当 MySQL 需要在 REPAIR, OPTIMIZE, ALTER 以及 LOAD DATA INFILE 到一个空表中引起重建索引时被分配.
# 这在每个线程中被分配.所以在设置大值时需要小心.
sort_buffer_size = 4M
# 如果应用中,很少出现join语句, 可不设置
join_buffer_size = 4M
# InnoDB settings
innodb_file_per_table = 1
innodb_flush_log_at_trx_commit = 2# 足够大的日志缓冲区来保存脏数据在被写入到日志文件之前
innodb_log_buffer_size = 128M
# 大的缓冲池可以减小多次磁盘I/O访问相同的表数据
innodb_buffer_pool_size = 8G
-----------------------------------

32g优化 mysql mysql优化配置
https://blog.51cto.com/u_13446/6583825

作者:Jeebiz  创建时间:2023-09-15 23:50
最后编辑:Jeebiz  更新时间:2024-08-22 10:23