mysql设计规范之运维规范
mysql设计规范之运维规范
落叶刀 发表于2年前
mysql设计规范之运维规范
  • 发表于 2年前
  • 阅读 52
  • 收藏 1
  • 点赞 0
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

运维管理 – 运维规范
硬件、系统、引擎、字符集选择
硬件
性能差不多,关键是可靠性
上线前烤机测试非常重要
监控预警可有效预防故障
避免使用外部阵列
最好是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
 

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 36
博文 76
码字总数 87001
作品 2
×
落叶刀
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: