Mysql主从配置参数说明
此配置是我在使用过程中总结出比较实用的配置参数,基于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
相关文章
- MySQL数据库操作:探索可视化界面(mysql数据库操作界面)
- MySQL数据库优化指南:学会让你的数据飞起来!(mysql数据库优化教程)
- MySQL数据库环境搭建及配置指南(mysql数据库环境配置)
- MySQL技能:必备必知(mysql必知必会)
- MySQL方言配置:操纵数据库的必要步骤(mysql方言配置)
- 配置MySQL数据库连接端口配置指南(mysql数据库连接端口)
- 配置最佳实践MySQL .cnf 配置: 优化技巧与最佳实践(mysql.cnf)
- 配置文件MySQL .cnf 文件配置详解(mysql.cnf)
- MySQL极低配置实现最高效率(mysql最低配置)
- MySQL分表实现高效存储(mysql分表方案)
- MySQL中处理二进制数据的方法(mysql二进制数据)
- MySQL数据库监视:实时掌握数据运行状态(mysql数据库监视)
- MySQL给用户配置授权权限(mysql给用户授权)
- 搭建MySQL环境变量:快速掌握配置技巧(mysql的环境变量)
- MySQL 密码配置:重新定义安全(配置mysql密码)
- MySQL中的无符号整型简介(mysql无符号整型)
- C语言连接MySQL数据库配置链接串(c mysql 链接串)
- MySQL中exists函数的用法和示例说明(mysql中exsits)
- 利用Azure 助力MySQL 服务器升级(azure mysql)
- ASP搭配MySQL 配置惊艳不凡(asp连接mysql配置)
- 64G内存让MySQL飞起来(64g内存设置mysql)
- MySQL的三种常见引擎汇总(mysql三种常见的引擎)
- MySQL配置失败困扰试试这些解决方法(mysql一直配置失败)
- MySQL实现两个字段的比较方法(mysql两字段比较)
- MySQL配置无弹窗解决方法(mysql不弹出配置)
- 简易步骤用Redis配置MySQL(redis配置mysql)