在CentOS(Fedora、RedHat)系統中,可以使用yum install mysql
命令來安裝MySQL,但所安裝的MySql版本一般都較舊,所以更推薦通過源碼編譯安裝或下載最新rpm
安裝包進行安裝。
MySQL的Yum
源提供了RPM
安裝包,包括MySQL服務端、客戶端、及Linux平台的其它組件。這些安裝包同樣可以用於升級或替換第三方已安裝的MySQL。
MySQL的Yum
源支持以下Linux平台:
- 基於EL5-、EL6-、EL7-的平台(如 Red Hat Enterprise Linux、Oracle Linux 和 CentOS)
- Fedora 23 和 24
1. 添加MySQLYum
源
首先,添加MySQLYum
源到系統源列表中:
- 打開MySQL
Yum
源下載頁: http://dev.mysql.com/downloads/repo/yum/,選擇並下載你所用系統適用的發行包。 - 使用以下命令安裝下載的發行包
如,我下載的發行包為mysql57-community-release-el6-9.noarch.rpm
,安裝命令如下:
$ sudo rpm -Uvh mysql57-community-release-el6-9.noarch.rpm
注意:安裝發行包后,如果系統執行yum update
命令(或在dnf-enabled
的系統中執行dnf upgrade
命令)后,會自動升級系統中的MySQL包,並會自動替換所有的本地第三方包。
2. 選擇一個發行系列
使用MySQL的Yum
源時,默認會安裝MySQL最新的GA(General Availability,正式發布)版本。如果正要使用最新的版本,請跳過本步驟,直接查看使用Yum
安裝MySQL
在MySQLYum
源的內部,不同的發行系列對應了MySQL社區服務器的不同資源子節點。子節點默認為最新的正式版本(當前為 5.7),而其它資源子節點(如5.5、5.6等)默認是不可用的。
可以通過以下命令,查詢子資源是否可用(在dnf-enabled
的系統中使用dnf
命令替代yum
):
yum repolist all | grep mysql
mysql-connectors-community MySQL Connectors Community enabled: 24 mysql-connectors-community-source MySQL Connectors Community - S disabled mysql-tools-community MySQL Tools Community enabled: 40 mysql-tools-community-source MySQL Tools Community - Source disabled mysql-tools-preview MySQL Tools Preview disabled mysql-tools-preview-source MySQL Tools Preview - Source disabled mysql55-community MySQL 5.5 Community Server disabled mysql55-community-source MySQL 5.5 Community Server - S disabled mysql56-community MySQL 5.6 Community Server disabled mysql56-community-source MySQL 5.6 Community Server - S disabled mysql57-community MySQL 5.7 Community Server enabled: 146 mysql57-community-source MySQL 5.7 Community Server - S disabled mysql80-community MySQL 8.0 Community Server disabled mysql80-community-source MySQL 8.0 Community Server - S disabled
如上所示,因為筆者安裝5.7版本Yum
源,所以默認啟用的就是5.7版本。
如果要安裝最新的發行版,則不需要其它配置。而要指定安裝一個早期版本,則需要在安裝前禁用最新發生版,並啟用指定要安裝的版本。可以通過修改/etc/yum.repos.d/mysql-community.repo
文件實現,該文件是一個指定子資源的入口:
[mysql-connectors-community] name=MySQL Connectors Community baseurl=http://repo.mysql.com/yum/mysql-connectors-community/el/6/$basearch/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
如上所示,默認啟用的是最新的5.7版本。如果要修改配置,可以通過編輯enabled
配置節點實現,enable=0
表示禁用該子資源,而enabled=1
表示啟用該子資源。
例如,如果需要啟用5.6版本的源,就需要將如下所示的5.6版本源設置為enabled=1
並將5.7版本源設置為enabled=0
:
# Enable to use MySQL 5.6 [mysql56-community] name=MySQL 5.6 Community Server baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/6/$basearch/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
配置完成后,可以使用前面所示的yum repolist enabled | grep mysql
命令檢查配置是否正確。
3. 使用Yum
安裝MySQL
使用以下命令安裝MySQL(在dnf-enabled
的系統中使用dnf
命令替代yum
):
$ sudo yum install mysql-community-server
以上命令用於安裝MySQL的服務端模塊,安裝其它模塊命令格式也類似。
4. 啟動MySQL服務器
啟動MySQL服務命令如下:
$ sudo service mysqld start
啟動時會依次輸出以下信息:
Initializing MySQL database: [ OK ] Installing validate password plugin: [ OK ] Starting mysqld: [ OK ]
可以通過以下命令檢查MySQL的運行狀態:
$ sudo service mysqld status
在5.7版本的MySQL啟動時,因為數據目錄是空的,所以會有以下操作:
- 服務器初始化
- 在數據目錄生成一個SSL證書和key文件
validate_password
插件安裝並啟用- 創建一個超級管理帳號
'root'@'localhost'
。管理的密碼會保存在錯誤日志文件中,可以通過以下命令查看:$ sudo grep 'temporary password' /var/log/mysqld.log
可以通過以下命令並使用自動生成的臨時密碼登錄,然后修改為一個自定義密碼:
$ mysql -u root -p
密碼修改:
$ ALTER USER 'root'@'localhost' IDENTIFIED BY 'newPassword';
注意:MySQL的validate_password
插件是默認安裝的。這要求MySQL密碼至少包含一個大寫字母、一個小寫字母、一個數字和一個特殊字符,並且總密碼長度至少為8個字符。
5. 加固MySQL安全(僅MySQL5.6適用)
mysql_secure_installation
程序可以保證一些重要操作的安全性,如:修改root用戶的密碼、刪除匿名用戶等。如果安裝是MySQL 5.6,應該保證始終運行該程序:
$ mysql_secure_installation