mysql的my.cnf优化

本文详细解析了MySQL服务器的配置参数,包括字符集设置、安全性、连接数限制、缓存大小、日志记录、错误处理等关键内容,适用于高性能数据库管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[mysql]
default-character-set=utf8mb4
[mysqld]
socket=/mysql3306/mysql3306.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

port = 3306
#extra_port=13306
basedir = /usr/local/mysql57
datadir = /mysql3306/data
pid-file = /mysql3306/mysql.pid
user = mysql
server-id =1343306
#rpl_semi_sync_master_enabled=1
#rpl_semi_sync_master_timeout=1000
#rpl_semi_sync_slave_enabled=1
relay_log_purge=0
read_only=0
super_read_only=0
slave-skip-errors=1396
binlog_row_image=full
# parallel replication
binlog_group_commit_sync_delay=10
binlog_group_commit_sync_no_delay_count=1000
master_info_repository='TABLE'
#
slave_parallel_type = LOGICAL_CLOCK
slave_parallel_workers = 10
relay_log_info_repository='TABLE'
#

log_slave_updates=1
lower_case_table_names = 1
character-set-server=utf8mb4
skip-name-resolve
skip-external-locking
back_log = 500
max_connections = 2000
max_connect_errors = 2000
open_files_limit = 65535
table_open_cache = 128
max_allowed_packet = 64M

key_buffer_size = 128M
read_buffer_size = 64M
read_rnd_buffer_size = 16M
sort_buffer_size = 32M
join_buffer_size = 32M
tmp_table_size = 96M
max_heap_table_size = 96M
query_cache_size = 16M
query_cache_limit = 16M
thread_cache_size = 64

log_bin = /mysql3306/binlog/mysql-bin
binlog_format = row
binlog_cache_size = 16M
sync_binlog = 1
max_binlog_cache_size = 1000M
max_binlog_size = 1G
expire_logs_days = 10

log_error = /mysql3306/log/mysql-error.log
slow_query_log = 1
long_query_time = 0.1
slow_query_log_file = //mysql3306/log/mysql-slow.log
relay_log=/mysql3306/binlog/slave-relay-bin
relay_log_index=slave-relay-bin.index

default_storage_engine = InnoDB
innodb_buffer_pool_size = 2G
innodb_file_per_table = 1
innodb_data_home_dir = /mysql3306/data
innodb_data_file_path = ibdata1:500M;ibdata2:1G:autoextend
innodb_log_group_home_dir = /mysql3306
innodb_log_file_size = 500M
innodb_log_buffer_size = 96M
innodb_flush_log_at_trx_commit = 1
innodb_print_all_deadlocks = 1

skip-slave-start=1
gtid-mode=on
enforce-gtid-consistency=true
slave-parallel-workers=8
sql_mode='NO_ENGINE_SUBSTITUTION'
log_timestamps=SYSTEM

转载于:https://www.cnblogs.com/sunshinea121/p/10649209.html

MySQL的配置文件是`my.cnf`,它可以对MySQL的性能和安全进行优化。下面是一些常用的MySQL优化配置: 1. 修改`innodb_buffer_pool_size`,这是InnoDB存储引擎使用的内存池大小,应该根据服务器的内存大小进行调整。例如,如果服务器有16GB的内存,可以将`innodb_buffer_pool_size`设置为12GB。 2. 修改`key_buffer_size`,这是MyISAM存储引擎使用的内存池大小,也应该根据服务器的内存大小进行调整。例如,如果服务器有16GB的内存,可以将`key_buffer_size`设置为1GB。 3. 开启慢查询日志,可以通过设置`slow_query_log`和`long_query_time`来开启慢查询日志,并设置查询执行时间的阈值。例如,可以将`slow_query_log`设置为1,`long_query_time`设置为1秒。 4. 关闭查询缓存,查询缓存虽然可以提高查询速度,但也会占用大量的内存。可以通过将`query_cache_type`设置为0来关闭查询缓存。 5. 调整连接数,可以通过设置`max_connections`来限制同时连接到MySQL服务器的客户端数量。例如,如果服务器的负载比较高,可以将`max_connections`设置为100或更低的值。 6. 调整日志文件大小,可以通过设置`max_binlog_size`和`innodb_log_file_size`来调整二进制日志和InnoDB事务日志的大小。如果日志文件太小,可能会导致频繁的日志轮换和切割,影响性能。 7. 启用二进制日志,可以通过设置`log_bin`来启用二进制日志,这可以用于数据备份和恢复,以及主从复制等。 8. 开启慢查询日志,可以通过设置`slow_query_log`和`long_query_time`来开启慢查询日志,并设置查询执行时间的阈值。例如,可以将`slow_query_log`设置为1,`long_query_time`设置为1秒。 需要注意的是,这些配置需要根据具体的环境和应用进行调整,不同的配置可能会对不同的应用产生不同的影响。同时,在修改配置文件之前,最好备份一下原始的配置文件,以防出现错误。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值