博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql设计规范之运维规范
阅读量:6657 次
发布时间:2019-06-25

本文共 3593 字,大约阅读时间需要 11 分钟。

hot3.png

运维管理 – 运维规范

硬件、系统、引擎、字符集选择
硬件
性能差不多,关键是可靠性
上线前烤机测试非常重要
监控预警可有效预防故障
避免使用外部阵列
最好是2U机型,并且配备RAID卡(with BBU)
系统
一般选择RHEL、CentOS
拒绝使用32位系统
不追新,稳定、高性能压倒一切
版本一致,批量部署,管理方便
硬件、系统、引擎、字符集选择
引擎
默认使用InnoDB
可考虑MyISAM/InfiniDB/Infobright
Blackhole可用于复制中继
字符集
默认使用latin1
减少使用utf8
避免CJK问题
mysqldump字符集参数
连接串设置

安装配置

所有磁盘组建大阵列,不降低IOPS
默认阵列级别为:raid 1+0
结合业务特征设置主机名,唯一命名
合理利用hosts/dns,可用于应用授权管理
master和slave命名区分开
/tmp使用/dev/shm & tmpfs
swap至少是16G
部署基本工具包:sysstat、oprofile等

监控预警

重点:先可用性而后才是性能
选择自己熟悉的:nagios、zabbix、cacti
作为补充,需要增加辅助监控
数据安全
关闭公网,只留私网
密码足够长度、复杂度
开启iptables策略
只开放必要的授权许可
使用普通账号管理mysqld(结合sudo)
集成定期安全检查到监控系统中

备份恢复

利用slave执行备份
定期全备+及时增备
不定期随机做恢复测试
二进制内容备份使用 --hex-blob
备份方式:mysqldump VS XtraBackup
如何快速备份/恢复?(并发?快照?)

高可用

Keepalived + LVS
Heartbeat + LVS
Master + Slave
多Master共享存储
故障处理
复制报错:主键冲突
硬件、系统崩溃:数据页损坏
误操作:数据误删除
硬件故障:阵列卡(掉线、IO性能下降)、CPU、内存

运维管理 – 工具集

Percona、其他工具

Xtrabackup
ioprofile
pt-online-schema-change
pt-table-checksum
pt-query-digest
mysqldumpslow
mysqlsla

运维管理 – FAQ

数据库安装完后,无法启动
首先,看日志
一般因为权限不正确、未初始化、配置选项不正确
如何进行基准、压力测试
基准测试:tpcc、sysbench
压力测试:mysqlslap、前端加压
如何在线动态抓取SQL
tcpdump -i eth0 -s 0 -l -w - dst port 3306|strings
如何执行在线热备
mysqldump --single-transaction或Xtrabackup
运维管理 – 运维规范
硬件、系统、引擎、字符集选择
硬件
性能差不多,关键是可靠性
上线前烤机测试非常重要
监控预警可有效预防故障
避免使用外部阵列
最好是2U机型,并且配备RAID卡(with BBU)
系统
一般选择RHEL、CentOS
拒绝使用32位系统
不追新,稳定、高性能压倒一切
版本一致,批量部署,管理方便
硬件、系统、引擎、字符集选择
引擎
默认使用InnoDB
可考虑MyISAM/InfiniDB/Infobright
Blackhole可用于复制中继
字符集
默认使用latin1
减少使用utf8
避免CJK问题
mysqldump字符集参数
连接串设置

安装配置

所有磁盘组建大阵列,不降低IOPS
默认阵列级别为:raid 1+0
结合业务特征设置主机名,唯一命名
合理利用hosts/dns,可用于应用授权管理
master和slave命名区分开
/tmp使用/dev/shm & tmpfs
swap至少是16G
部署基本工具包:sysstat、oprofile等

监控预警

重点:先可用性而后才是性能
选择自己熟悉的:nagios、zabbix、cacti
作为补充,需要增加辅助监控
数据安全
关闭公网,只留私网
密码足够长度、复杂度
开启iptables策略
只开放必要的授权许可
使用普通账号管理mysqld(结合sudo)
集成定期安全检查到监控系统中

备份恢复

利用slave执行备份
定期全备+及时增备
不定期随机做恢复测试
二进制内容备份使用 --hex-blob
备份方式:mysqldump VS XtraBackup
如何快速备份/恢复?(并发?快照?)

高可用

Keepalived + LVS
Heartbeat + LVS
Master + Slave
多Master共享存储
故障处理
复制报错:主键冲突
硬件、系统崩溃:数据页损坏
误操作:数据误删除
硬件故障:阵列卡(掉线、IO性能下降)、CPU、内存

运维管理 – 工具集

Percona、其他工具

Xtrabackup
ioprofile
pt-online-schema-change
pt-table-checksum
pt-query-digest
mysqldumpslow
mysqlsla

运维管理 – FAQ

数据库安装完后,无法启动
首先,看日志
一般因为权限不正确、未初始化、配置选项不正确
如何进行基准、压力测试
基准测试:tpcc、sysbench
压力测试:mysqlslap、前端加压
如何在线动态抓取SQL
tcpdump -i eth0 -s 0 -l -w - dst port 3306|strings
如何执行在线热备
mysqldump --single-transaction或Xtrabackup
运维管理 – 运维规范
硬件、系统、引擎、字符集选择
硬件
性能差不多,关键是可靠性
上线前烤机测试非常重要
监控预警可有效预防故障
避免使用外部阵列
最好是2U机型,并且配备RAID卡(with BBU)
系统
一般选择RHEL、CentOS
拒绝使用32位系统
不追新,稳定、高性能压倒一切
版本一致,批量部署,管理方便
硬件、系统、引擎、字符集选择
引擎
默认使用InnoDB
可考虑MyISAM/InfiniDB/Infobright
Blackhole可用于复制中继
字符集
默认使用latin1
减少使用utf8
避免CJK问题
mysqldump字符集参数
连接串设置

安装配置

所有磁盘组建大阵列,不降低IOPS
默认阵列级别为:raid 1+0
结合业务特征设置主机名,唯一命名
合理利用hosts/dns,可用于应用授权管理
master和slave命名区分开
/tmp使用/dev/shm & tmpfs
swap至少是16G
部署基本工具包:sysstat、oprofile等

监控预警

重点:先可用性而后才是性能
选择自己熟悉的:nagios、zabbix、cacti
作为补充,需要增加辅助监控
数据安全
关闭公网,只留私网
密码足够长度、复杂度
开启iptables策略
只开放必要的授权许可
使用普通账号管理mysqld(结合sudo)
集成定期安全检查到监控系统中

备份恢复

利用slave执行备份
定期全备+及时增备
不定期随机做恢复测试
二进制内容备份使用 --hex-blob
备份方式:mysqldump VS XtraBackup
如何快速备份/恢复?(并发?快照?)

高可用

Keepalived + LVS
Heartbeat + LVS
Master + Slave
多Master共享存储
故障处理
复制报错:主键冲突
硬件、系统崩溃:数据页损坏
误操作:数据误删除
硬件故障:阵列卡(掉线、IO性能下降)、CPU、内存

运维管理 – 工具集

Percona、其他工具

Xtrabackup
ioprofile
pt-online-schema-change
pt-table-checksum
pt-query-digest
mysqldumpslow
mysqlsla

运维管理 – FAQ

数据库安装完后,无法启动
首先,看日志
一般因为权限不正确、未初始化、配置选项不正确
如何进行基准、压力测试
基准测试:tpcc、sysbench
压力测试:mysqlslap、前端加压
如何在线动态抓取SQL
tcpdump -i eth0 -s 0 -l -w - dst port 3306|strings
如何执行在线热备
mysqldump --single-transaction或Xtrabackup
 

转载于:https://my.oschina.net/luoyedao/blog/687529

你可能感兴趣的文章
2018-2019-1 20165320 《信息安全系统设计基础》第四周学习总结
查看>>
Church 整数前驱的推导
查看>>
git push之后回滚(撤销)代码
查看>>
暑假练习赛 006 E Vanya and Label(数学)
查看>>
Toxophily
查看>>
C# 中的委托和事件(转)
查看>>
专业实训题目需求分析
查看>>
MyEclipse定位class文件
查看>>
Wireshark的过滤规则
查看>>
bzoj1592[Usaco2008 Feb]Making the Grade 路面修整*
查看>>
ios中PagedFlowView的用法
查看>>
pcl_view简单使用
查看>>
[数据安全] 一个简洁快速的去数据特征的混淆算法(obfuscate)
查看>>
Android开源框架:初识ButterKnife
查看>>
[待补充]面向接口编程,数据驱动编程
查看>>
bzoj1502: [NOI2005]月下柠檬树
查看>>
拓扑排序
查看>>
100道java基础面试题
查看>>
docker基本使用
查看>>
java学习笔记 --- 异常
查看>>