Mysql8.0 系列,my.cnf配置文件
本文最后更新于 2024-08-27,文章内容可能已经过时。
需要注意配置,数据缓冲区大小
主库配置文件:
[mysqld]
# MySQL服务运行的用户
user=mysql
# MySQL服务监听的端口
port=3306
# 最大连接数
max_connections=1000
# MySQL程序文件的安装目录
basedir=/home/application/mysql/app
# 数据文件存放的目录
datadir=/home/application/mysql/data
# 默认的存储引擎
default-storage-engine=INNODB
# 服务器默认字符集
character-set-server=utf8mb4
# 服务器默认的校对规则
collation_server = utf8mb4_general_ci
# 禁用域名解析,只允许IP地址进行客户端登录
skip-name-resolve=1
# 不区分大小写
lower_case_table_names=1
# 日志时间戳格式
log_timestamps=SYSTEM
# 设置默认的时区
default-time-zone = '+8:00'
# 是否开启慢查询日志
slow_query_log=ON
# 慢查询的阈值,超过这个时间的查询将被记录到慢查询日志
long_query_time=3
# 慢查询日志文件的存储路径
slow_query_log_file=/home/application/mysql/logs/slow_query.log
# 是否记录未使用索引的查询到慢查询日志中(当前设置为不记录)
log_queries_not_using_indexes = 0
# 管理员执行的慢查询语句是否记录到慢查询日志中
log_slow_admin_statements = 1
# 从服务器执行的慢查询语句是否记录到慢查询日志中
log_slow_replica_statements = ON
# 当未使用索引的查询数量达到设定值时,开始记录这些查询到慢查询日志中
log_throttle_queries_not_using_indexes = 10
# 是否开启通用日志记录(当前未开启)
#general_log=1
#general_log_file=/home/application/mysql/logs/mysql_general.log
# 错误日志文件的存储路径
log-error=/home/application/mysql/logs/mysqld.log
# InnoDB存储引擎的配置
innodb_file_per_table = 1
#InnoDB系统表空间的初始数据文件的名称、大小以及自动扩展的设置
innodb_data_file_path = ibdata1:500M:autoextend:max:10G
#InnoDB临时表空间的初始数据文件的名称、大小以及自动扩展的设置
innodb_temp_data_file_path = ibtmp1:500M:autoextend:max:20G
# 数据缓冲区
#专用服务器可以设为内存70%以上,建议innodb_buffer_pool_size设置为系统内存的50%,或更低
innodb_buffer_pool_size = 8G
innodb_log_buffer_size = 4M
table_open_cache = 16384
table_definition_cache =16384
# 二进制日志(binlog)的配置
server_id=17
log-bin=mysql-bin
max_binlog_size = 100M
binlog_format=row
log_replica_updates
# 二进制日志的过期时间,单位为秒(7天)
binlog_expire_logs_seconds=604800
# 设置不要复制的数据库,可以设置多个
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
binlog-ignore-db=sys
binlog-ignore-db=performance_schema
# 从库不进行同步的数据库
replicate-ignore-db=mysql
replicate-ignore-db=information_schema
replicate-ignore-db=sys
replicate-ignore-db=performance_schema
# 禁用SSL
tls_version=''
# MySQL服务的Unix套接字文件
socket=/tmp/mysql.sock
# 启用的SQL模式
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
# 最大允许的数据包大小
max_allowed_packet=512M
[mysql]
# 客户端使用的Unix套接字文件
socket=/tmp/mysql.sock
# 客户端默认字符集
default-character-set = utf8mb4
[client]
# 客户端程序默认使用的字符集
default-character-set = utf8mb4
从库配置文件补充:
#主从
server_id=3
#从库,只写入主库来的数据,除此之外包含root用户都没有写权限,只有读
super-read-only
# 在作为从数据库的时候, 有写入操作也要更新二进制日志文件
log-slave-updates
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 运维小弟
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果