Created
October 14, 2014 11:18
-
-
Save chenzx/7d91eaca4874d7bbd808 to your computer and use it in GitHub Desktop.
Effective MySQL之深入解析复制技术
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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