CentOS8服務器安裝Mysql並設置遠程連接

過程

安裝

1、通過以下命令,使用最新的包管理器安裝MySQL(安裝過程中一直yes/y即可)

sudo dnf install @mysql

2、設置MySQL自動啓動

sudo systemctl enable --now mysqld

3、檢查MySQL是否在運行

sudo systemctl status mysqld

結果:
在這裏插入圖片描述
(如圖顯示active,則表明MySQL已經安裝成功且正在運行,接下來進行安全性、遠程連接等配置)

安全性配置

4、運行mysql_secure_installation腳本,進行密碼設置、允許遠程連接等安全性設置。

sudo mysql_secure_installation

(1)第一步是進行密碼設置,問是否VALIDATE PASSWORD component?輸入y;密碼有三個等級low=0、medium=1、strong=2,直接選擇0即可;再輸入兩次相同的密碼(這個密碼是登錄mysql的密碼)。確認是否繼續使用提供的密碼?輸入y ,回車即可。
(2)第二步移除匿名用戶? 輸入y ,回車。
(3)第三步設置爲不允許root遠程登陸? 我們肯定需要遠程登錄,所以輸入n ,回車。
(4)移除test數據庫? 輸入y ,回車
(5)重新載入權限表? 輸入y ,回車
在這裏插入圖片描述

設置root用戶權限

5、從服務器登錄MySQL,將root用戶的host字段設爲’%’,使得用戶root可以從任意IP的機器上登錄(若root用戶的host字段爲localhost,則只能本機登錄)。

(1)輸入以下命令,從本機登錄MySQL:

mysql -uroot -p

(2)輸入密碼進入mysql中,結果如下圖
在這裏插入圖片描述
(3)輸入以下命令,選擇mysql數據庫:

use mysql;

(4)輸入以下命令,進行host字段(主機IP)賦值:

update user set host='%' where user='root';

(5)輸入以下命令,刷新系統權限

flush privileges;

(6)通過以下命令,驗證是否設置成功

use mysql;    
select user,host from user;

若mysql數據庫的user表出現以下字段則設置成功
在這裏插入圖片描述

防火牆設置

6、輸入以下命令,檢查防火牆是否開啓:

systemctl status firewalld

若結果如下圖顯示dead,則是未開啓;在這裏插入圖片描述
若結果如下圖顯示running,則是開啓
在這裏插入圖片描述
7、處於安全性考慮,若你的防火牆是關閉的,則推薦你開啓防火牆,通過以下命令開啓防火牆

systemctl start firewalld

8、輸入以下命令,查看防火牆允許哪些端口被訪問:

firewall-cmd --list-ports

9、若無3306這個被用作數據庫訪問的默認端口,則通過以下命令開啓系統防火牆的3306端口:

sudo firewall-cmd --add-port=3306/tcp --permanent

10、輸入以下命令重啓防火牆:

sudo firewall-cmd --reload

(若無意外防火牆部分設置到此就ok了,接下來就是服務器安全組設置)

安全組設置

11、進入控制檯查看該服務器的安全組設置,查看入方向是否開放3306端口,若無則開啓3306端口。

(至此MySQL的遠程連接設置已完成)

12、輸入以下命令重啓MySQL服務,然後就可以愉快的在自己電腦上進行遠程連接了。

sudo systemctl restart mysqld

若第一次連接速度很慢,則關閉MySQL主機查詢DNS

MySQL會反向解析遠程連接地址的DNS記錄,如果MySQL主機無法連接外網,則DNS可能無法解析成功,導致第一次連接MySQL速度很慢,所以在配置中可以關閉該功能。通過以下命令到/etc/my.cnf文件中關閉該功能。
(1)先輸入以下命令,到etc目錄下

cd /etc/

(2)通過vim命令進入編輯器中修改文件配置

vim my.cnf

(3)在文件中添加以下命令

[mysqld]
skip-name-resolve
bind-address=0.0.0.0 #此配置非必須,可以防止限定IP訪問MySQL服務

(4)保存退出即可

總結

CentOS服務器安裝很簡單,一條命令即可,但想要遠程訪問服務器上的MySQL,則需要配置多個地方,包括設置用戶root權限、防火牆端口設置、安全組端口設置等。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章