MySQL-配置文件示例
vim /etc/my.cnf
[mysqld]
# General settings
user = mysql # MySQL 进程运行的用户
pid-file = /var/run/mysqld/mysqld.pid # MySQL 进程的 PID 文件路径
socket = /var/run/mysqld/mysqld.sock # MySQL 进程的 UNIX socket 文件路径
basedir = /usr # MySQL 安装目录
datadir = /var/lib/mysql # 数据文件存储路径
tmpdir = /tmp # 临时文件存储路径
lc-messages-dir = /usr/share/mysql # 国际化信息存储路径
default-authentication-plugin = mysql_native_password # 用户验证方式
skip-name-resolve # 禁用 DNS 解析,提高性能和安全性
skip-host-cache # 禁用主机缓存,提高性能和安全性
# Security settings
ssl-ca = /etc/mysql/ca.pem # SSL CA 证书路径
ssl-cert = /etc/mysql/server-cert.pem # SSL 服务器证书路径
ssl-key = /etc/mysql/server-key.pem # SSL 私钥路径
require-secure-transport = on # 要求使用 SSL 进行连接
skip-networking # 禁用 TCP/IP 连接,只使用 UNIX socket 连接
# Performance settings
max_connections = 1000 # 最大连接数
key_buffer_size = 128M # MyISAM 存储引擎的索引缓冲区大小
innodb_buffer_pool_size = 1G # InnoDB 存储引擎的缓冲池大小
query_cache_size = 0 # 查询缓存的大小,设置为 0 禁用查询缓存
# Replication settings
server-id = 1 # 服务器 ID,用于主从复制
log-bin = /var/log/mysql/mysql-bin.log # 二进制日志文件路径
expire_logs_days = 10 # 日志文件过期时间
binlog_format = ROW # 二进制日志格式,使用行级复制
# Logging settings
log-error = /var/log/mysql/error.log # 错误日志路径
log-queries-not-using-indexes # 记录未使用索引的查询
slow-query-log # 启用慢查询日志
slow-query-log-file = /var/log/mysql/mysql-slow.log # 慢查询日志路径
# Customization settings
character-set-server = utf8mb4 # 默认字符集
collation-server = utf8mb4_unicode_ci # 默认排序规则
[mysql]
default-character-set = utf8mb4 # 默认字符集
该配置文件包含了以下特点和配置:
设置了 MySQL 进程的用户和 PID 文件路径。
禁用了名称解析和主机缓存,增强了安全性。
配置了 SSL 证书和启用了安全连接,保证了传输层的安全性。
配置了最大连接数、缓冲区大小等参数,提升了性能。
启用了 MySQL 主从复制功能。
配置了错误日志、慢查询日志等,方便了故障排查和性能分析。
自定义了字符集和排序规则,保证了数据的一致性。
在实际应用中,该配置文件需要根据具体情况进行修改和调整,例如修改 SSL 证书的路径和名称、调整缓存大小等。同时,也需要注意配置文件的权限和 MySQL 进程的安全性,以避免被攻击者利用漏洞进行攻击和篡改。