概述
前文記錄了在Windows系統(tǒng)中安裝配置MySQL 5.7(前文連接:http://www.itdecent.cn/p/b96e55e86c98),由于安裝部署大數(shù)據(jù)環(huán)境需要,現(xiàn)在要在CentOS 7系統(tǒng)中安裝配置MySQL 5.7,CentOS 7環(huán)境安裝配置也已經(jīng)記錄過(前文連接:http://www.itdecent.cn/p/d237c82b9a53),所以此處直接進行安裝配置。
yum源安裝MySQL 5.7
安裝MySQL 5.7
在CentOS 7系統(tǒng)中系統(tǒng)默認(rèn)的源文件是不包含MySQL的,直接使用yum源執(zhí)行安裝命令會提示“沒有可用軟件包 mysql-community-server?!保?/p>

所以需要先手動執(zhí)行以下命令,下載源文件的安裝文件:
# cd /home
# wget 'https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm'

然后執(zhí)行源文件安裝命令:
# rpm -ivh mysql57-community-release-el7-11.noarch.rpm

現(xiàn)在可以安裝MySQL了,執(zhí)行如下命令:
# yum install -y mysql-community-server
稍候片刻,等待下載安裝完成:

執(zhí)行如下命令,啟動數(shù)據(jù)庫并查看數(shù)據(jù)庫狀態(tài):
# systemctl start mysqld
# systemctl status mysqld

配置MySQL 5.7
該版本數(shù)據(jù)庫會在安裝時,會在/var/log/mysqld.log文件中生成一個隨機的root用戶的密碼,查看該文件獲取密碼:
# cat /var/log/mysqld.log

或者使用如下命令:
# grep 'temporary password' /var/log/mysqld.log

使用如下命令登錄MySQL數(shù)據(jù)庫:
# mysql -uroot -p
密碼輸入剛才查到的密碼,即可登錄數(shù)據(jù)庫:

使用如下命令,修改root用戶密碼:
> SET PASSWORD = PASSWORD('Password@123!');

數(shù)據(jù)庫默認(rèn)遠程訪問未開放,使用如下命令進行配置:
> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Password@123!' WITH GRANT OPTION;
然后輸入quit,回車退出數(shù)據(jù)庫登錄,使用命令打開數(shù)據(jù)庫的配置文件:
# vim /etc/my.cnf

設(shè)置數(shù)據(jù)庫字符集為utf8mb4,并設(shè)置sql_mode支持group by語句,完整的配置文件內(nèi)容如下:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
[mysql]
default-character-set = utf8mb4
[client]
default-character-set = utf8mb4
此處設(shè)置為utf8mb4:一是因為utf8編碼只支持3字節(jié)的數(shù)據(jù),而移動端的表情數(shù)據(jù)是4個字節(jié)的字符,所以直接往utf-8編碼的數(shù)據(jù)庫中插入表情數(shù)據(jù),會報異常;二是看過一位大神的文章提到,MySQL中的utf8并不是真正的utf8,所以使用utf8mb4。
配置完成后,執(zhí)行如下命令重啟數(shù)據(jù)庫服務(wù):
# systemctl restart mysqld
使用修改后的密碼,登錄數(shù)據(jù)庫,執(zhí)行如下命令查看字符集設(shè)置:
# SHOW VARIABLES LIKE 'character%';

執(zhí)行如下命令,設(shè)置數(shù)據(jù)庫服務(wù)開機啟動:
# systemctl enable mysqld
壓縮包安裝MySQL 5.7
若服務(wù)器無法聯(lián)網(wǎng),不能使用yum源進行安裝,可以使用能夠聯(lián)網(wǎng)的電腦,去官網(wǎng)下載壓縮包進行安裝,下面換臺服務(wù)器進行壓縮包安裝。
首先去官方網(wǎng)站:https://www.mysql.com/下載相關(guān)安裝包:

遠程連接到服務(wù)器上的/usr目錄下創(chuàng)建mysql57:
# cd /usr
# mkdir mysql57
使用Xftp將壓縮包上傳到服務(wù)器上的mysql57目錄:

由于CentOS 7系統(tǒng)中默認(rèn)安裝了mariadb,使用如下命令,查看并卸載mariadb:
# rpm -qa | grep mariadb
# rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
然后使用rpm命令進行安裝:
# rpm -ivh *.rpm

使用如下命令啟動MySQL服務(wù),并查看服務(wù)運行狀態(tài):
# systemctl start mysqld
# systemctl status mysqld

MySQL 5.7數(shù)據(jù)庫安裝完成。
配置MySQL 5.7
查看log文件獲取密碼:
# grep 'temporary password' /var/log/mysqld.log

使用如下命令登錄MySQL數(shù)據(jù)庫:
# mysql -uroot -p
密碼輸入剛才查到的密碼,即可登錄數(shù)據(jù)庫:

使用如下命令,修改root用戶密碼:
> SET PASSWORD = PASSWORD('******');
數(shù)據(jù)庫默認(rèn)遠程訪問未開放,使用如下命令進行配置:
> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '******' WITH GRANT OPTION;
星號為root用戶的密碼(下圖紅色覆蓋區(qū)域):

然后輸入quit,回車退出數(shù)據(jù)庫登錄,使用命令打開數(shù)據(jù)庫的配置文件:
# vim /etc/my.cnf
設(shè)置數(shù)據(jù)庫字符集為utf8mb4,并設(shè)置sql_mode支持group by語句,完整的配置文件內(nèi)容如下:
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
[mysql]
default-character-set = utf8mb4
[client]
default-character-set = utf8mb4

此處設(shè)置為utf8mb4:一是因為utf8編碼只支持3字節(jié)的數(shù)據(jù),而移動端的表情數(shù)據(jù)是4個字節(jié)的字符,所以直接往utf-8編碼的數(shù)據(jù)庫中插入表情數(shù)據(jù),會報異常;二是看過一位大神的文章提到,MySQL中的utf8并不是真正的utf8,所以使用utf8mb4。
配置完成后,執(zhí)行如下命令重啟數(shù)據(jù)庫服務(wù):
# systemctl restart mysqld
使用修改后的密碼,登錄數(shù)據(jù)庫,執(zhí)行如下命令查看字符集設(shè)置:
# SHOW VARIABLES LIKE 'character%';

執(zhí)行如下命令,設(shè)置數(shù)據(jù)庫服務(wù)開機啟動:
# systemctl enable mysqld
因為記錄了兩種不同的安裝方式,所以配置也記錄了兩遍,只是希望看不同安裝方式的朋友不需要回頭再去翻配置,至此CentOS 7安裝配置MySQL 5.7記錄完成。