张裕 发表于 2024-11-1 02:16:40

MySQL的my.cnf设置文件剖析

MySQL的my.cnf设置文件是MySQL数据库服务器的核心设置文件,用于控制MySQL的运行举动和性能优化。这个文件包含了多个段(section),每个段定义了一组特定的设置选项。
1、基础结构



[*]:这部门设置影响全部MySQL客户端程序的举动,如毗连端口、字符集等。
[*]:这是MySQL服务器的主要设置段,大部门与服务干系的设置都在这里,包罗数据存储路径、缓冲池大小、线程数、日志设置等。
[*]:影响mysql命令行客户端的默认举动。
[*]:与mysqld_safe守护进程干系,通常用于设置日志文件和错误处理惩罚。
[*]:用于设置mysqldump备份工具的参数。
[*]:设置mysqladmin管理工具的参数。
[*]:主从复制干系的设置,如server-id等。
[*]自定义段:可以根据需要添加自定义段,比方为特定的MySQL实例设置独立的设置。
2、关键设置项示例


[*] 端口和套接字

port = 3306
socket = /var/run/mysqld/mysqld.sock

[*] 字符集设置

character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci

[*] 日志设置

general_log = 1
general_log_file = /var/log/mysql/mysql.log
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 2

[*] InnoDB设置

innodb_buffer_pool_size = 1G
innodb_log_file_size = 256M
innodb_flush_log_at_trx_commit = 1

[*] 内存管理

key_buffer_size = 64M
query_cache_size = 32M
query_cache_limit = 4M

[*] 毗连与线程

max_connections = 500
thread_cache_size = 16

[*] 临时文件目次

tmpdir = /var/tmp

[*] 安全设置

skip-name-resolve # 禁止DNS解析,提升安全性但需使用IP授权

3、注意事项



[*]修改my.cnf后,通常需要重启MySQL服务以使新设置见效。
[*]设置调整应该基于现实的工作负载和资源限定举行,过度优化可能适得其反。
[*]在举行重大设置更改前,建议备份原有的my.cnf文件,并渐渐测试更改的影响。
[*]使用工具如mysqltuner或pt-query-digest可以资助分析当前设置并给出优化建议。
以上只是my.cnf设置文件的一小部门示例,现实设置应根据具体的应用场景、数据库大小、访问模式等因素综合考虑。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: MySQL的my.cnf设置文件剖析