版權聲明:本文為部落客chszs的原創文章,未經部落客允許不得轉載。 https://blog.csdn.net/chszs/article/details/51627370
MariaDB資料庫的安裝、性能優化和安全
作者:chszs,未經部落客允許不得轉載。經許可的轉載需注明作者和部落格首頁: http://blog.csdn.net/chszs
資料庫伺服器是絕大多數應用程式的關鍵組成部分。如果沒有存儲、檢索、更新和删除資料的能力,那麼Web應用和桌面應用的實用性和使用範圍會變得非常有限。
此外,知道如何安裝、管理和配置資料庫伺服器,使得資料庫的運作達到預期設定,是每個系統管理者必備技能。
在這篇文章中,主要講述了MariaDB資料庫的安裝、性能優化和安全。
一、安裝MariaDB
在CentOS 7.x系統中,MariaDB正式取代了MySQL的地位,預置到系統倉庫中。這一點在Ubuntu和openSUSE等系統上也是如此。
要安裝MariaDB,執行指令:
--------------- On CentOS/RHEL 7 and Fedora 23 ---------------
# yum update && yum install mariadb mariadb-server # CentOS
--------------- On Debian and Ubuntu ---------------
$ sudo aptitude update && sudo aptitude install mariadb-client mariadb-server
--------------- On openSUSE ---------------
# zypper update && zypper install mariadb mariadb-tools # openSUSE
一但MariaDB軟體包完成了安裝,需要確定資料庫服務啟動運作,并且能開機自動啟動。在CentOS和openSUSE系統都需要手段執行指令才能實作上述需求,而Ubuntu的安裝過程可以自動完成這一點。
--------------- On CentOS/RHEL 7 and Fedora 23 ---------------
# systemctl start mariadb && systemctl enable mariadb
--------------- On openSUSE ---------------
# systemctl start mysql && systemctl enable mysql
二、MariaDB的安全加強
完成以上操作後,是時候對MariaDB的安全進行加強了。需要運作mysql_secure_installation腳本。此腳本可以實作:
- 為資料庫root使用者設定或重置密碼
- 禁止匿名使用者登入
- 禁止root使用者的遠端通路,隻允許本地localhost通路
- 删除test資料庫(任何人都可以通路的資料庫)
- 激活以上1~4選項
三、配置MariaDB伺服器
MariaDB伺服器預設的配置檔案在這裡,注意下面給定的順序:
/etc/mysql/my.cnf /etc/my.cnf ~/.my.cnf
在大多數情況下,隻存在/etc/my.cnf配置檔案。對于Linux伺服器上的使用者,可以使用~/.my.cnf配置檔案來覆寫這個配置檔案。
要注意,在my.cnf配置檔案中,每一個節的内容都是由方括号分隔的。
伺服器的系統配置在[mysqld]節中給出,下表中的前兩行就是其中的内容,餘下的都是可選項,可以按自己的需求修改其預設值。
在CentOS系統中,還需要告訴SELinux允許MariaDB的監聽端口穿透防火牆,然後重新開機服務。
# yum install policycoreutils-python
# semanage port -a -t mysqld_port_t -p tcp 20500
四、MariaDB性能優化
最簡單、最友善的MariaDB性能優化技巧,就是使用mysqltuner工具。mysqltuner其實是一個腳本,它可以掃描資料庫伺服器,并提出性能和穩定性方面的改進建議。
要安裝mysqltuner:
# wget https://github.com/major/MySQLTuner-perl/tarball/master
# tar xzf master
然後進入mysqltuner的解壓目錄:
# cd major-MySQLTuner-perl-7dabf27
運作mysqltuner:
# ./mysqltuner.pl
mysqltuner輸出的報告大緻如下:
結果報告建議把query_cache_type設定為0,0表示禁用,1表示啟用。
那麼為什麼mysqltuner會建議停用query_cache_type呢?原因是,查詢緩存适用于高讀/低寫的情況,而我們才安裝了MariaDB,顯然還不具備這種情況。
注意:使用mysqltuner進行調優,并非一次性的工作,每隔一段時間就應該檢查一次,做一些調整。