MySQL循环复制拓扑相关问题及说明
1.虚拟机和docker容器的最大区别
虚拟机拥有完整独立操作系统内核;docker容器共享宿主机内核,只用Namespace做隔离,Cgroup限制资源,不需要模拟硬件,开销更低。
2.普通链式主从vs环形复制区别
链式:仅最上游主节点允许写入,中间从库不能写,中间节点宕机会整条链路断开。
环形复制:所有节点都可以读写,写操作沿着环形链路同步全部节点。
3.server-id参数作用
集群内唯一标记每一个MySQL实例。
server-id重复,复制线程直接报错,同步失效。
4.GTID的好处,为什么环形复制要用GTID
每个事务拥有全局唯一事务id,不需要手动记录binlog文件名+position;自动识别已经执行过的事物,避免重复执行;拓扑变更,故障切换简单,适合环形这种复杂复制拓扑。
5.repl复制账号作用,为什么不用root
专门给从库用来登录主库binlog二进制日志。遵循最小权限,repl只有复制slave权限;root权限过大,泄漏风险极高。
6.mysqldump --master-data=2作用
备份文件中以注释形式记录备份瞬间主库binlog文件名和偏移量,搭建从库时直接拿到复制起点,不用手工执行show master status查询。
7.docker MySQL为什么要挂载conf,data,log目录
容器删除重建,容器内部磁盘数据全部清空。挂载宿主机目录实现持久化,保存数据库数据,my.cnf配置,binlog日志。
8.三个MySQL容器内部都用3306,宿主机映射不同端口33306/3307/3308原因
同一台宿主机一个端口同一时刻只能被一个进程占用;全部映射3306端口会报端口占用,容器启动失败。
9.docker环形复制填写master_host为什么写宿主机ip,不写容器hostname
容器hostname仅在docker内部网桥网络解析;本实验使用宿主机端口映射对外访问,使用宿主机IP外部客户端,复制链路都可以连通。
10.sar工具
sar -u cpu;sar -r 内存;sar -d 磁盘IO。
更多推荐



所有评论(0)