前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Mysql主从配置参数说明

Mysql主从配置参数说明

作者头像
felixxue
发布2022-12-30 09:58:09
8400
发布2022-12-30 09:58:09
举报
文章被收录于专栏:xueflyxueflyxuefly

此配置是我在使用过程中总结出比较实用的配置参数,基于GTID的主从复制场景中使用:

[mysqld]

port=23306                                    --mysql进程端口

read-only=0                                   --关闭只读模式

gtid_mode=on                               --开启GTID,全局事务ID模式

enforce_gtid_consistency=on        --强制GTID一致性,配合gtid_mode,必选

auto-increment-offset=1                --自增长起始值,主从复制场景中,主从的起始值需要不同

auto-increment-increment=2         --自增长步进值,主从复制场景中,步进值需要一致,保证主从中自增长主键不冲突

log-slave-updates=1                     --作为从库使用时,开启log-slave-updates配置,能使从库的sql线程读取主库的bin-log时,不会将这些同步数据写入从库的bin-log中

relay_log_info_repository = TABLE        --relay.info的存储形式,此处使用table,将relay.info中的信息记录在table中相对安全,可以避免relay.info更新不及时,SLAVE 重启后导致的主从复制出错

master_info_repository = TABLE            --作用同relay_log_info_repository

relay_log_recovery = on                         --开启relay_log恢复功能,当slave从库宕机后,假如relay-log损坏了,导致一部分中继日志没有处理,则自动放弃所有未执行的relay-log,并且重新从master上获取日志,这样就保证了relay-log的完整性。

basedir = /var/mysql/mysql                     --base目录

datadir = /var/mysql/mysql/data              --数据目录

innodb_data_home_dir = /var/mysql/mysql/data                   --innodb引擎的共享表空间数据文件根目录

innodb_log_group_home_dir = /var/mysql/mysql/data    --在事务被提交并写入到表空间磁盘文件上之前,事务数据存储在InnoDB的redo日志文件里。这些日志位于innodb_log_group_home_dir变量定义的目录中,通常我们把这个目录设置与innodb_data_home_dir变量相同。为了获得最佳性能,建议分离innodb_data_home_dir和innodb_log_group_home_dir到单独的物理存储阵列上,这样可以保证IO资源不起冲突,利于服务器处理大量高并发连接。

innodb_buffer_pool_size=4096M        --该变量将数据存导入到内存中,可以减少大量的IO资源消耗。当事务提交时,保存脏数据,后续在刷新到磁盘。当我们调整innodb_buffer_pool_size大小时,innodb_log_buffer_size和innodb_log_file_size也应该做出相应的调整。

socket=/var/lib/mysql/mysql.sock        --socket文件目录

character-set-server=utf8                     --服务器编码集

collation-server = utf8_unicode_ci         --编码

local_infile=0                                           --禁用所有LOAD DATA LOCAL

bind-address=0.0.0.0                              --bind ip

init-connect='SET NAMES utf8'              --连接初始化后动态执行语句

max_connections = 10000                      --最大连接数

log-bin = /var/mysql/backup/mysql-bin            --bin-log日志目录

binlog_format = row                                         --bin-log格式,包括STATEMENT,ROW,MIXED

server-id=1                                                     --server-id,必须是数字类型,主从需要不一致

slave-skip-errors=all                                      --忽略错误,并不能跳过所有DDL所引起的主从错误,使用格式:--slave-skip-errors=[err_code1,err_code2,...|all|ddl_exist_errors]

max_allowed_packet=32M                            --一次会话最大包限制

interactive_timeout=120                                --针对交互式连接,通过mysql客户端连接数据库是交互式连接

wait_timeout=120                                          --针对非交互式连接,通过jdbc连接数据库是非交互式连接

skip-name-resolve=1                                     --跳过域名解析

[mysqld_safe]

log-error=/var/hms/installer/mysql/mysqld.log

[client]

default-character-set=utf8

socket=/var/lib/mysql/mysql.sock

[mysql]

default-character-set=utf8

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-07-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档