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  

相關文章
相關標籤/搜索