概述
前文記錄了在Windows系統中安裝配置MySQL 5.7,由於安裝部署大數據環境需要,現在要在CentOS 7系統中安裝配置MySQL 5.7,CentOS 7環境安裝配置也已經記錄過,所以此處直接進行安裝配置。
yum來源安裝MySQL 5.7
安裝MySQL 5.7
在CentOS 7系統中系統預設的來源檔案是不包含MySQL的,直接使用yum來源執行安裝指令會提示「沒有可用軟體套件 mysql-community-server。」:
所以需要先手動執行以下指令,下載來源檔案的安裝檔:
1 # cd /home 2 # wget 'https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm'
#然後執行原始檔安裝指令:
1 # rpm -ivh mysql57-community-release-el7-11.noarch.rpm
現在可以安裝MySQL了,執行以下指令:
1 # yum install -y mysql-community-server
#稍候片刻,等待下載安裝完成:
執行如下指令,啟動資料庫並檢視資料庫狀態:
1 # systemctl start mysqld 2 # systemctl status mysqld
設定MySQL 5.7
此版本資料庫會在安裝時,會在/var/log/mysqld .log檔案中產生一個隨機的root使用者的密碼,查看該檔案取得密碼:
1 # cat /var/log/mysqld.log
#或使用以下指令:
##
1 # grep 'temporary password' /var/log/mysqld.log
使用以下指令登入MySQL資料庫:
1 # mysql -uroot -p
密碼輸入剛才查到的密碼,即可登入資料庫:
使用以下指令,修改root使用者密碼:
1 > SET PASSWORD = PASSWORD('Password@123!');
#資料庫預設遠端存取未開放,使用以下指令進行設定:
1 > GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Password@123!' WITH GRANT OPTION;
然後輸入quit,回車退出資料庫登錄,使用指令開啟資料庫的設定檔:
1 # vim /etc/my.cnf
設定資料庫字元集為utf8mb4,並設定sql_mode支援group by語句,完整的設定檔內容如下:
1 [mysqld] 2 datadir=/var/lib/mysql 3 socket=/var/lib/mysql/mysql.sock 4 symbolic-links=0 5 log-error=/var/log/mysqld.log 6 pid-file=/var/run/mysqld/mysqld.pid 7 character-set-server = utf8mb4 8 collation-server = utf8mb4_unicode_ci 9 sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION 10 11 [mysql] 12 default-character-set = utf8mb4 13 14 [client] 15 default-character-set = utf8mb4 16
#
注意:
此處設定為utf8mb4:一是因為utf8編碼只支援3位元組的數據,而行動端的表情數據是4個位元組的字符,所以直接往utf-8編碼的資料庫中插入表情數據,會報異常;二是看過一位大神的文章提到,MySQL中的utf8並不是真正的utf8,所以要用utf8mb4。
配置完成後,執行以下指令重新啟動資料庫服務:
1 # systemctl restart mysqld
使用修改後的密碼,登入資料庫,執行下列指令查看字元集設定:
1 # SHOW VARIABLES LIKE 'character%';
#執行下列指令,設定資料庫服務開機啟動:
1 # systemctl enable mysqld
#壓縮套件安裝MySQL 5.7
若伺服器無法連網,不能使用yum來源進行安裝,可以使用能夠連網的電腦,到官網下載壓縮包進行安裝,下面換台伺服器進行壓縮包安裝。
首先去官方網站:https://www.mysql.com/下載相關安裝包:
遠端連接到伺服器上的/usr目錄下建立mysql57:
1 # cd /usr 2 # mkdir mysql57
使用Xftp將壓縮包上傳到伺服器上的mysql57目錄:
由於CentOS 7系統中預設安裝了mariadb,使用以下命令,查看並卸載mariadb:
1 # rpm -qa | grep mariadb 2 # rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
然後使用rpm指令進行安裝:
1 # rpm -ivh *.rpm
使用以下指令啟動MySQL服務,並檢視服務運作狀態:
1 # systemctl start mysqld 2 # systemctl status mysqld
MySQL 5.7資料庫安裝完成。
設定MySQL 5.7
查看log檔案取得密碼:
#
1 # grep 'temporary password' /var/log/mysqld.log
使用如下命令登录MySQL数据库:
1 # mysql -uroot -p
密码输入刚才查到的密码,即可登录数据库:
使用如下命令,修改root用户密码:
1 > SET PASSWORD = PASSWORD('******');
数据库默认远程访问未开放,使用如下命令进行配置:
1 > GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '******' WITH GRANT OPTION;
星号为root用户的密码(下图红色覆盖区域):
然后输入quit,回车退出数据库登录,使用命令打开数据库的配置文件:
1 # vim /etc/my.cnf
设置数据库字符集为utf8mb4,并设置sql_mode支持group by语句,完整的配置文件内容如下:
1 [mysqld] 2 character-set-server = utf8mb4 3 collation-server = utf8mb4_unicode_ci 4 sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION 5 6 [mysql] 7 default-character-set = utf8mb4 8 9 [client] 10 default-character-set = utf8mb4 11
注意:
此处设置为utf8mb4:一是因为utf8编码只支持3字节的数据,而移动端的表情数据是4个字节的字符,所以直接往utf-8编码的数据库中插入表情数据,会报异常;二是看过一位大神的文章提到,MySQL中的utf8并不是真正的utf8,所以使用utf8mb4。
配置完成后,执行如下命令重启数据库服务:
1 # systemctl restart mysqld
使用修改后的密码,登录数据库,执行如下命令查看字符集设置:
1 # SHOW VARIABLES LIKE 'character%';
执行如下命令,设置数据库服务开机启动:
1 # systemctl enable mysqld
为了方便查看不同安装方式的朋友,将记录了两种不同的安装方式的配置都记录下来,避免他们需要回头去查找配置信息。
以上是CentOS 7如何安裝設定MySQL 5.7的詳細內容。更多資訊請關注PHP中文網其他相關文章!