與其他的大型數(shù)據(jù)庫例如 Oracle、DB2、SQL Server等相比,MySQL 自有它的不足之處,但是這絲毫也沒有減少它受歡迎的程度。對于一般的個人使用者和中小型企業(yè)來說,MySQL提供的功能已經(jīng)綽綽有余,而且由于 MySQL是開放源碼軟件,因此可以大大降低總體擁有成本。
企業(yè)生產(chǎn)MySQL是如何優(yōu)化的呢?
參考答案:
a:硬件的優(yōu)化:
1、 采用64位cpu,cpu至少4顆,L2緩存越大越好
2、 內(nèi)存要大,32-64G運行1-2個實例,96-128G運行3-4個實例
3、 機(jī)械盤選用sas盤,轉(zhuǎn)速15000以上,用可能的話使用ssd
4、 raid卡使用raid10
5、 網(wǎng)卡多塊,千兆以上
6、 數(shù)據(jù)庫不要使用虛擬化,slave硬件要好于master
b:操作系統(tǒng)優(yōu)化
1、 操作系統(tǒng)選擇x86_64位,盡量采用xfs文件系統(tǒng)
2、 優(yōu)化磁盤存儲參數(shù)
3、 優(yōu)化內(nèi)核參數(shù)
4、 優(yōu)化網(wǎng)絡(luò)等
c:mysql構(gòu)架優(yōu)化
1、根據(jù)內(nèi)存大小,配置服務(wù)器跑多實例
2、主從復(fù)制采用mixed模式,盡量不要跨機(jī)房同步,若要跨機(jī)房,盡量采用遠(yuǎn)程寫,本地讀
3、定期檢查、修復(fù)主從復(fù)制的數(shù)據(jù)差異
4、業(yè)務(wù)拆分,搜索功能不使用MySQL數(shù)據(jù)庫執(zhí)行;某些高并發(fā),安全性一般的業(yè)務(wù)使用nosql,如:memcache、 redis等
5、數(shù)據(jù)庫前端加cache,如memcache,用于用戶登錄,商品查詢
6、動態(tài)數(shù)據(jù)靜態(tài)化,整個文件靜態(tài)化,頁面片段靜態(tài)化
7、數(shù)據(jù)庫集群讀寫分離,一主多從,通過dbproxy進(jìn)行集群讀寫分離
8、單表超過800萬,拆庫拆表,如人工將(登錄、商品、訂單)拆表拆庫
9、選擇從庫備份,并且對數(shù)據(jù)庫進(jìn)行分表分庫備份
d:MySQL數(shù)據(jù)庫層面優(yōu)化
1、 優(yōu)化my.cnf參數(shù)
2、 優(yōu)化庫表設(shè)計,包括字符集、字符串長度、創(chuàng)建短索引、多用復(fù)合索引;
3、 SQL語句優(yōu)化,減少慢語句數(shù)量;
e:數(shù)據(jù)庫管理流程、制度優(yōu)化
1、 人的流程:開發(fā)—>核心運維/DBA
2、 測試流程:內(nèi)網(wǎng) IDC測試線上執(zhí)行
3、 客戶端管理,PHPMYADMIN
f:MySQL數(shù)據(jù)庫安全優(yōu)化
1、 數(shù)據(jù)庫禁止設(shè)置外網(wǎng)
2、 數(shù)據(jù)庫文件權(quán)限優(yōu)化;
3、 授權(quán)用戶權(quán)限限制,盡量專庫專用戶
4、 限制開發(fā)對生產(chǎn)庫的操作權(quán)限
5、 防止SQL語句注入
總結(jié)
本文關(guān)于企業(yè)生產(chǎn)MySQL優(yōu)化介紹的先關(guān)內(nèi)容就到這里,希望對大家有所幫助。感興趣的朋友可以參閱:Oracle分頁查詢性能優(yōu)化代碼詳解、ORACLE SQL語句優(yōu)化技術(shù)要點解析、C/C++ 編譯器優(yōu)化介紹等內(nèi)容,有什么問題可以隨時留言,小編會及時回復(fù)大家的。
您可能感興趣的文章:- 簡單談?wù)凪ySQL優(yōu)化利器-慢查詢
- MySQL優(yōu)化表時提示 Table is already up to date的解決方法
- MySQL數(shù)據(jù)庫21條最佳性能優(yōu)化經(jīng)驗