標籤:mysql最佳化 老男孩教育 面試必會 每日一題
參考答案:
a:硬體的最佳化:
1、 採用64位cpu,cpu至少4顆,L2緩衝越大越好
2、 記憶體要大,32-64G運行1-2個執行個體,96-128G運行3-4個執行個體
3、 機械盤選用sas盤,轉速15000以上,用可能的話使用ssd
4、 raid卡使用raid10
5、 網卡多塊,千兆以上
6、 資料庫不要使用虛擬化,slave硬體要好於master
b:作業系統最佳化
1、 作業系統選擇x86_64位,盡量採用xfs檔案系統
2、 最佳化磁碟儲存參數
3、 最佳化核心參數
4、 最佳化網路等
c:mysql構架最佳化
1、根據記憶體大小,設定管理員跑多執行個體
2、主從複製採用mixed模式,盡量不要跨機房同步,若要跨機房,盡量採用遠程寫,本地讀
3、定期檢查、修複主從複製的資料差異
4、業務拆分,搜尋功能不使用MySQL資料庫執行;某些高並發,安全性一般的業務使用nosql,如:memcache、 redis等
5、資料庫前端加cache,如memcache,用於使用者登入,商品查詢
6、動態資料靜態化,整個檔案靜態化,頁面片段靜態化
7、資料庫叢集讀寫分離,一主多從,通過dbproxy進行叢集讀寫分離
8、單表超過800萬,拆庫拆表,如人工將(登入、商品、訂單)拆表拆庫
9、選擇從庫備份,並且對資料庫進行分表分庫備份
d:MySQL資料庫層面最佳化
1、 最佳化my.cnf參數
2、 最佳化庫表設計,包括字元集、字串長度、建立短索引、多用複合索引;
3、 SQL語句最佳化,減少慢語句數量;
e:資料庫管理流程、制度最佳化
1、 人的流程:開發—>核心營運/DBA
2、 測試流程:內網 IDC測試線上執行
3、 用戶端管理,PHPMYADMIN
f:MySQL資料庫安全最佳化
1、 資料庫禁止設定外網
2、 資料庫檔案許可權最佳化;
3、 授權使用者許可權限制,盡量專庫專使用者
4、 限制開發對生產庫的操作許可權
5、 防止SQL語句注入
備忘
今天是每日一題陪伴大家的第88天,期待你的進步。
對於題目和答案的任何疑問,請在部落格評論區留言。
往期題目索引
http://lidao.blog.51cto.com/3388056/1914205
本文出自 “李導的部落格” 部落格,請務必保留此出處http://lidao.blog.51cto.com/3388056/1945391
老男孩教育每日一題-第88天-企業生產MySQL如何最佳化?