mysql设计规范之运维规范

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

监控预警
重点:先可用性然后才是性能
选择本身熟悉的:nagios、zabbix、cacti
做为补充,须要增长辅助监控
数据安全
关闭公网,只留私网
密码足够长度、复杂度
开启iptables策略
只开放必要的受权许可
使用普通帐号管理mysqld(结合sudo)
集成按期安全检查到监控系统中ios

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

高可用
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等tcp

监控预警
重点:先可用性然后才是性能
选择本身熟悉的: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  

相关文章
相关标签/搜索