[mysqld]

# 数据库文件存放目录
datadir=/application/server/mysql-5.7/data

# MySQL 服务器套接字文件位置
socket=/var/lib/mysql/mysql.sock

# 错误日志文件位置
log-error=/var/log/mysqld.log

# 进程 ID 文件位置
pid-file=/var/run/mysqld/mysqld.pid

# 最大连接数
max_connections=1000

# SQL 模式
sql_mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

# 默认存储引擎
default-storage-engine=InnoDB

# InnoDB 相关配置
innodb_buffer_pool_size = 10G       # 根据内存调整,留下部分内存给操作系统和其他应用程序
innodb_log_file_size = 512M        # 根据写入吞吐量调整
innodb_log_files_in_group = 2      # 保持默认值或根据需要增加
innodb_log_buffer_size = 256M      # 根据事务大小和吞吐量调整
innodb_flush_log_at_trx_commit = 2 # 保持默认值或根据I/O子系统调整
innodb_file_per_table = 1          # 保持默认值
innodb_default_row_format = DYNAMIC # 保持默认值
innodb_io_capacity = 2000          # 根据存储子系统I/O性能调整
innodb_read_io_threads = 8         # 根据I/O子系统调整
innodb_write_io_threads = 8        # 根据I/O子系统调整
innodb_adaptive_hash_index = 1     # 保持默认值

# 禁用符号链接以防止安全风险
symbolic-links=0

# 禁用查询缓存
query_cache_type=OFF

# MyISAM 相关配置(如果仍使用MyISAM表)
key_buffer_size = 1G               # 如果使用MyISAM表,分配一部分内存给key_buffer

# 线程缓存
thread_cache_size = 16

# 临时表大小
tmp_table_size = 512M
max_heap_table_size = 512M

# 表打开缓存
table_open_cache = 4096

# 慢查询日志
#slow_query_log = 1
#slow_query_log_file = /var/log/mysql/mysql-slow.log
#long_query_time = 2

# 性能模式
performance_schema = ON

# 其他配置
bulk_insert_buffer_size = 1G       # 根据大量插入操作的需求调整



# 其他优化参数根据实际情况添加