天天看點

【MySQL】 在Centos7/8下MySQL8的安裝

先拿到我們的 rpm

https://dev.mysql.com/downloads/mysql/

我們選擇好我們所需要的環境以及系統版本

【MySQL】 在Centos7/8下MySQL8的安裝

我們需要下載下傳這些 rpm 包

【MySQL】 在Centos7/8下MySQL8的安裝

我們的安裝順序在圖中也已經給出了。

# 先安裝依賴包
rpm -ivh mysql-community-common-8.0.19-1.el7.x86_64.rpm

# 在安裝我們的 lib 
rpm -ivh mysql-community-libs-8.0.19-1.el7.x86_64.rpm

# 現在,由于我們的這個 mariadb-libs 被 mysql-community-libs-8.0.13-1.el7.x86_64 取代。是以我們需要将這個包給清除掉
yum remove mysql-libs

# 再繼續執行
rpm -ivh mysql-community-libs-compat-8.0.19-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-8.0.19-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.19-1.el7.x86_64.rpm           
【MySQL】 在Centos7/8下MySQL8的安裝

開始檢視一下我們的安裝結果

# 先看看我們的 mysql 程序
ps -ef | grep mysql
# 檢視我們的 mysql 的使用者組
cat /etc/group | grep mysql
# 檢視我們的mysql的版本
mysqladmin --version           

開始修改我們的 /var/lib/mysql 的權限

chown -R mysql:mysql  /var/lib/mysql           

開始啟動我們的 mysql 服務

初始化我們的 MySQL

mysqld --initialize           

這裡我們的日志檔案在 /var/log/mysqld.log 裡面,我們所需要的這個 密碼 也在這裡

cat /var/log/mysqld.log |grep password           

啟動我們的服務

systemctl start mysqld           

然後這裡啟動服務的時候報了一個錯誤:

Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.           

這個問題,谷歌了一下,基本确定是我們的權限問題,因為初始化後,有些檔案的權限還是 root 的。我們改完權限之後,mysqld 服務就可以正常啟動了。

修改我們的安全設定(可以進去之後在進行修改)

網上的大神在這裡就開始做這個安全設定的修改,這裡,我索性也在這裡修改。

啟動服務後,我們開始修改我們的 MySQL的安全設定。

mysql_secure_installation           
【MySQL】 在Centos7/8下MySQL8的安裝
【MySQL】 在Centos7/8下MySQL8的安裝

設定遠端登入

由于我們禁止 root 使用者的遠端登入,是以我們這裡需要自己去建立新的使用者去進行遠端登入。

create user 'sun'@'%' identified by '123456789';

grant all privileges on *.* to 'sun'@'%' with grant option;

flush privileges;           

這裡,如果我們按照 MySQL5.0+ 版本裡面那樣的設定的話,會報錯的。不信你試試。

使用 DBserver 登入到我們的 MySQL

這裡在登陸的過程中,有可能出現: Public Key Retrieval is not allowed

最簡單的解決方法是在連接配接後面添加 allowPublicKeyRetrieval=true

【MySQL】 在Centos7/8下MySQL8的安裝

結束語

至此,我們的 Centos7 下 MySQL8.0+ 版本資料庫配置完成. 這個方式同樣适用于Centos8 .