[client]
port=3306 # 设置默认的连接端口为 3306
default-character-set=utf8mb4 # 设置默认字符集为 utf8mb4,支持多字节字符和 Emoji
[mysqld]
user=mysql # 运行 MySQL 的系统用户为 mysql
port=3306 # 监听端口为 3306
datadir=/var/lib/mysql # 数据库文件存储路径
socket=/run/mysqld/mysqld.sock # Socket 文件路径,用于本地连接
pid-file=/run/mysqld/mysqld.pid # PID 文件路径,记录 MySQL 进程 ID
# 日志与错误处理
slow_query_log=1 # 启用慢查询日志
long_query_time=5 # 定义慢查询的阈值,超过 5 秒的查询会被记录
slow_query_log_file=/var/log/slow.log # 慢查询日志文件路径
log-error=/var/log/mysqld.log # 错误日志文件路径
# 性能优化
lower_case_table_names=1 # 表名不区分大小写
explicit_defaults_for_timestamp=true # 显示设置时间戳列的默认值
federated # 启用 FEDERATED 存储引擎
skip-name-resolve # 禁用 DNS 解析,提升性能
innodb_flush_log_at_trx_commit=0 # 提升性能,但降低事务日志的安全性
default-storage-engine=InnoDB # 默认存储引擎为 InnoDB
innodb_monitor_enable=all # 启用所有 InnoDB 监控
performance_schema=ON # 启用性能模式
back_log=1000 # 连接队列的最大数量
max_connections=3000 # 最大连接数为 3000
max_connect_errors=6000 # 最大连接错误次数为 6000
open_files_limit=10000 # 允许打开的最大文件数为 10000
table_open_cache=512 # 表缓存数量为 512
# 二进制日志
server-id=1 # 服务器 ID,用于主从复制
log_slave_updates=1 # 启用从服务器的更新日志
log-bin=/var/lib/mysql/mysql-bin # 二进制日志文件路径
binlog_cache_size=64M # 二进制日志缓存大小为 64MB
max_binlog_cache_size=512M # 最大二进制日志缓存大小为 512MB
max_binlog_size=256M # 每个二进制日志文件的最大大小为 256MB
binlog_format=ROW # 二进制日志记录格式为 ROW
sync_binlog=1 # 每次事务提交都将二进制日志同步到磁盘
# 时区与字符集设置
log_output=FILE # 日志输出到文件
expire_logs_days=30 # 设置日志过期天数为 30 天
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION # 设置 SQL 模式,严格检查错误
character-set-server=utf8mb4 # 设置服务器字符集为 utf8mb4
collation-server=utf8mb4_unicode_ci # 设置字符集排序规则为 utf8mb4_unicode_ci
default-time_zone='+8:00' # 默认时区设置为 UTC+8
[mysql]
default-character-set=utf8mb4 # 客户端字符集为 utf8mb4
[mysqldump]
quick # 快速导出,逐行读取数据
max_allowed_packet=64
mysql5.7性能优化
于 2024-12-29 11:01:36 首次发布