Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save chenzx/7d91eaca4874d7bbd808 to your computer and use it in GitHub Desktop.
Save chenzx/7d91eaca4874d7bbd808 to your computer and use it in GitHub Desktop.
Effective MySQL之深入解析复制技术
Effective MySQL之深入解析复制技术
跳转至: 导航、 搜索
目录
1 DBA五分钟速成
2 诊断常见的数据复制问题
3 改善标准数据复制特性
4 多主复制
5 MySQL数据复制工具
6 实际应用中的数据复制扩展技术
7 MySQL配置选项
8 数据复制集群的监控
9 附录 MySQL配置选项
DBA五分钟速成
突发状况下的警报通知
SHOW SLAVE STATUS\G
发现问题
纠正问题
SQL_SLAVE_SKIP_COUNTER?
在大型拓扑中改变命令提示符:prompt slave>
定位根本原因
SET SQL_LOG_BIN=0;导致模式修改没有在从数据库中生效
... 从数据库应该首先被升级?
了解数据复制问题
诊断常见的数据复制问题
解释信息
二进制日志(所有写入活动):log-bin.index mysql-bin.000001 ...
mysqlbinlog
收集所有的SQL语句:使用慢查询日志并将long_query_time=0
expire_logs_days=0(默认不过期)
PURGE BINARY LOGS TO 'mysql-bin.000005'
SHOW MASTER LOGS
SHOW SLAVE STATUS
中继日志
从节点上使用,与二进制日志格式一样?
一致性问题 SBR/RBR binlog_format=ROW|STATEMENT|MIXED
定位数据不一致:Percona Toolkit?
定位模式不一致:Com_alter_%,Schemasync,或mysqldump --no-data --skip-dump-state导出后diff
导致数据不一致的原因
常见错误
服务器ID
缺少模式对象
忽略重复的数据行
了解延迟
--replicate-ignore-db ==> --replicate-wild* ?
innodb_flush_log_at_trx_commit:1-->2?
sync_binlog=1
5.6组提交(BGC)
监控
Seconds_Behind_Master
改善标准数据复制特性
半同步复制(意思是主等待至少一个从完成复制)
INSTALL PLUGIN命令?启用‘动态负载’has_dynamic_loading=yes
rpl_semi_sync_{master/slave}_enabled=1
同步复制
SSL增强安全(略)
master> GRANT REPLICATION SLAVE ON *.* TO 'repl@'%' IDENTIFIED BY 'passwd' REQUIRE SSL;
新特性
延迟型数据复制:让从节点延迟适当时间,避免主节点上的灾难性错误(如TRUNCATE TABLE)
binlog_checksum=CRC32
?多线程从节点
RBR:有写入操作的行的所有数据列都会发送,binlog_row_image?
远程备份
p94 MariaDB最先开发成组提交特性
平衡读写负载
Connector/J 5.1.12
PHP mysqlnd
mysql-proxy
多主复制
故障转移
主动/被动
log-slave-updates:让从节点记录自己的binlog
同时向2台主写入数据?
auto_increment_increment
auto_increment_offset
slave_exec_mode
手动故障转移
严格的写数据限制:read_only=TRUE
验证是否有写权限
确保环境更新到最新状态
确保在故障转移主节点上具有写权限
支持应用的所有需求
p115 某些云基础设施(AWS)还不支持再次分配IP地址??
p123 在中继服务器上使用BLACKHOLE存储引擎?
环形
自动高可用性故障转移
MySQL数据复制工具
一些工具套件
mysqlrpladmin(管理集群)?
数据复制中的故障转移管理器
MySQL MHA
p185 split-brain问题:使用磁盘心跳/电源级别的失效检测
MMM
Flipper
集群控制
集群管理
复制数据的预读
MySQL的补丁和变种
实际应用中的数据复制扩展技术
Galera Cluster
仲裁线程garbd,防止网络分裂(单点故障?)
全序隔离(TOI)--> 滚动模式更新(RSU)
Tungsten Replicator:不需要对标准安装的MySQL做改动?
./tungsten-sandbox --topology ...
SchoonerSQL
MySQL Replication Listener
与云计算
Amazon RDS
Google Cloud SQL
MySQL配置选项
系统变量
binlog
数据复制变量
服务器变量
5.6特性
UUID
从节点的崩溃预防
校验
多线程的从节点
GTID
用户权限
SQL命令和函数
数据复制集群的监控
监控类型
重要的MySQL信息
监控产品
MySQL Enterprise Monitor
MEM中的数据恢复顾问分析器
Cacti
thold
MPM
最廉价的数据复制监控方案
故障诊断
附录 MySQL配置选项
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment