1. 文件位置
默认路径:`C:\Program Files\MySQL\MySQL Server X.X\my.ini`
可能位置:隐藏目录 `C:\ProgramData\MySQL\MySQL Server X.X\`
2. 核心配置解析
[client]
port = 3306 # 连接端口(默认3306)
default-character-set = utf8mb4 # 推荐改为utf8mb4兼容中文
[mysql]
default-character-set = utf8mb4 # 客户端默认字符集
[mysqld]
# 基础设置
port = 3306
basedir = "C:/Program Files/MySQL/MySQL Server 5.7/" # 安装目录
datadir = "C:/ProgramData/MySQL/MySQL Server 5.7/Data" # 数据目录
# 字符集与引擎
character-set-server = utf8mb4 # 服务端字符集(推荐)
collation-server = utf8mb4_unicode_ci
default-storage-engine = InnoDB # 默认存储引擎
# 连接控制
max_connections = 151 # 最大连接数(建议200-500)
3. 性能关键参数
参数 | 推荐值 | 说明 |
---|---|---|
innodb_buffer_pool_size | 物理内存的50-70% | InnoDB缓存池大小 |
innodb_log_file_size | 512MB ~ 2GB | 事务日志文件大小 |
tmp_table_size | 64MB ~ 256MB | 内存临时表上限 |
key_buffer_size | 64MB ~ 256MB | MyISAM索引缓存 |
table_open_cache | 2000 ~ 4000 | 表缓存数量 |
示例配置:
内存优化(8GB内存服务器示例)
innodb_buffer_pool_size = 4G
innodb_log_file_size = 1G
tmp_table_size = 128M
key_buffer_size = 128M
4. InnoDB 专用参数
# 事务日志
innodb_flush_log_at_trx_commit = 1 # 1=最安全(默认),2=折中,0=性能最佳
innodb_log_buffer_size = 16M # 日志缓冲区
# 并发控制
innodb_thread_concurrency = 0 # 0=自动调整
innodb_read_io_threads = 4 # 读线程数(SSD建议4-8)
innodb_write_io_threads = 4 # 写线程数
5. 安全与模式设置
# SQL严格模式(防止错误数据写入)
sql-mode = "STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"
# 禁止域名解析(提升连接速度)
skip-name-resolve
# 绑定IP(远程访问需设置)
bind-address = 0.0.0.0
6. 修改后生效步骤
1. 保存 `my.ini` 文件
2. 重启MySQL服务:
net stop mysql57
net start mysql57
3. 验证配置:
SHOW VARIABLES LIKE '%buffer%'; -- 查看缓存参数
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程