使用 yum 在 CentOS7 上安裝 MySQL8
時(shí)間:2022-07-13
安裝版本:MySQL-community-8.0.29
0. 刪除MariaDB
在CentOS 7中默認(rèn)有安裝MariaDB,這個(gè)是MySQL的分支,通過其他方式安裝MySQL需要?jiǎng)h除MariaDB或補(bǔ)全依賴關(guān)系,但通過yum安裝則會(huì)自動(dòng)覆蓋MariaDB并補(bǔ)全依賴(也就是說(shuō)yum安裝的話刪不刪都行)
0.1 檢查MariaDB
rpm -qa|grep mariadb

0.2 刪除MariaDB
(如果上條命令返回為空則略過)
rpm -e --nodeps mariadb-server
rpm -e --nodeps mariadb
rpm -e --nodeps mariadb-libs
0.3 檢查MariaDB
重復(fù)步驟0.1若無(wú)返回即表示刪除成功
1. 添加MySQL Yum Repository
從CentOS 7開始,MariaDB成為Yum源中默認(rèn)的數(shù)據(jù)庫(kù)安裝包。也就是說(shuō)在CentOS 7及以上的系統(tǒng)中使用yum安裝MySQL默認(rèn)安裝的會(huì)是MariaDB(MySQL的一個(gè)分支)。如果想安裝官方MySQL版本,需要使用MySQL提供的Yum源。
1.1 下載MySQL源
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

1.2 安裝MySQL源
yum -ivh install mysql80-community-release-el7-3.noarch.rpm

1.3 檢查
安裝完成后會(huì)在/etc/yum.repos.d/目錄下生成兩個(gè)repo文件mysql-community.repo及 mysql-community-source.repo

2. 安裝MySQL
2.1 使用yum安裝MySQL
默認(rèn)情況下自動(dòng)安裝最新版的MySQL,即8.0.29
yum -y install mysql-community-server
該命令會(huì)安裝MySQL服務(wù)器 (mysql-community-server) 及其所需的依賴、相關(guān)組件
如果安裝過程中出現(xiàn)報(bào)錯(cuò)
Public key for mysql-community-icu-data-files-8.0.29-1.el7.x86_64.rpm is not installed
請(qǐng)看步驟2.2
2.2 導(dǎo)入新的MySQL存儲(chǔ)庫(kù)的GPG秘鑰
出現(xiàn)步驟2.2原因?yàn)楣俜?MySQL 存儲(chǔ)庫(kù)的 GPG 密鑰已過期,無(wú)法安裝或更新 MySQL 包。
并且官方也提交了該Bug https://bugs.mysql.com/bug.php?id=106188
我們可以使用以下命令重新導(dǎo)入新的密鑰來(lái)解決該問題
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
執(zhí)行完后再使用步驟2.1中命令來(lái)安裝即可

2.3 安裝完成
若出現(xiàn)以下提示則表示安裝完成

3. 啟動(dòng)MySQL
3.1 啟動(dòng)MySQL服務(wù)
systemctl start mysqld.service
3.2 查看MySQL服務(wù)狀態(tài)
systemctl status mysqld.service
注意上述命令為
mysqld.service,不是mysql.service
若要檢查MySQL是否為開機(jī)自啟,可執(zhí)行以下命令查看開機(jī)自啟列表
systemctl list-unit-files|grep enabled
若MySQL未在開機(jī)自啟列表,執(zhí)行以下代碼設(shè)置開機(jī)自啟動(dòng)
systemctl enable mysqld
3.3 停止MySQL服務(wù)
systemctl stop mysqld.service
3.4 重啟MySQL服務(wù)
systemctl restart mysqld.service
4. 修改密碼
4.1 查看默認(rèn)密碼
在Linux中安裝MySQL不會(huì)在安裝過程中讓你設(shè)置密碼,而是自動(dòng)生成一個(gè)默認(rèn)密碼,并存儲(chǔ)在日志文件中
可以使用以下命令查看默認(rèn)密碼
grep "password" /var/log/mysqld.log

返回代碼中冒號(hào)后即為默認(rèn)密碼,建議復(fù)制粘貼,因?yàn)樵谳斎朊艽a過程中并不顯示,容易輸錯(cuò)
4.2 修改密碼
進(jìn)入MySQL中后更改你的密碼(MySQL在不更改默認(rèn)密碼的情況下無(wú)法操作數(shù)據(jù)庫(kù))
ALTER USER 'root'@'localhost' IDENTIFIED BY 'AAAbbb123@';
MySQL默認(rèn)密碼規(guī)范等級(jí)為MEDIUM,即需要滿足密碼長(zhǎng)度大于8,包含數(shù)字、大寫/小寫和特殊字符
4.3 修改密碼規(guī)范等級(jí)

如果是僅做學(xué)習(xí)測(cè)試使用,不需要過于復(fù)雜的密碼,可以通過修改密碼規(guī)范等級(jí)來(lái)使用更簡(jiǎn)單的密碼
前提仍是需要先設(shè)置一個(gè)符合MEDIUM要求的復(fù)雜密碼,否則不允許操作數(shù)據(jù)庫(kù)
set global validate_password.policy = 0; # 設(shè)置密碼規(guī)范等級(jí)為0
set global validate_password.length = 4; # 設(shè)置密碼最短長(zhǎng)度為4
成功后再次使用步驟4.2命令重設(shè)密碼即可
5.遠(yuǎn)程訪問
5.1 創(chuàng)建遠(yuǎn)程訪問root用戶
create user 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
5.2 為該用戶授予全部權(quán)限
grant all on *.* to 'root'@'%';
此處root用戶名可隨意更改
5.3 開放端口3306
Linux打開/關(guān)閉/查詢/端口命令如下
firewall-cmd --permanent --add-port=3306/tcp #打開3306端口
firewall-cmd --permanent --remove-port=3306/tcp #關(guān)閉3306端口
firewall-cmd --reload #重載使上述命令生效
firewall-cmd --query-port=3306/tcp #查詢3306端口是否開放
若嫌麻煩可以直接關(guān)閉防火墻,安全性自行評(píng)估
systemctl stop firewalld.service #關(guān)閉防火墻
firewall-cmd --zone=public --list-ports #查看防火墻所有開放的端口
firewall-cmd --state #查看防火墻狀態(tài)
5.4 云端服務(wù)器開啟端口參考
以騰訊云服務(wù)器為例
在控制臺(tái)中選擇防火墻,添加規(guī)則中應(yīng)用類型下拉選擇MySQL即可

5.5 通過DataGrip遠(yuǎn)程訪問
若為本地虛擬機(jī)中Linux,則在Linux中使用ifconfig查詢內(nèi)網(wǎng)ip地址,使用此ip在DataGrip上連接
若為云端服務(wù)器,則使用該服務(wù)器公網(wǎng)ip進(jìn)行訪問

若測(cè)試連接無(wú)錯(cuò)誤即可成功遠(yuǎn)程訪問該數(shù)據(jù)庫(kù)


浙公網(wǎng)安備 33010602011771號(hào)