CentOS和Windows下配置MySQL資料庫遠程訪問的教程

一.前言

由於實驗在雲伺服器上跑的結果不是很理想.所以,現在切換到局域網伺服器.因此,需要重新配置 Windows 伺服器和 CentOS 伺服器下的MySQL環境.

為瞭方便在本地Navicat 上操作伺服器上的資料庫,需要在伺服器上配置遠程訪問.

二.實驗環境

Windows 10 CentOS 7.4

三.配置

1. Windows 下配置

配置指定資料庫可被指定用戶遠程連接.

指定資料庫為papertest,

指定用戶:dancy,密碼:xxx

1.1 使用CREATE DATABASE papertest,新建papertest資料庫.

1.2 切換到MySQL伺服器的mysql資料庫下.


mysql資料庫

1.3 使用GRANT ALL PRIVILEGES ON papertest.* TO 'dancy'@'%' IDENTIFIED BY 'xxx' WITH GRANT OPTION;命令可以更改遠程連接的設置.

1.4 使用flush privileges;命令刷新剛才修改的權限,使其生效.

1.5 使用select host,user from user;查看修改是否成功。

1.6 解決防火墻問題

win7及以上添加防火墻例外端口:

控制面板-防火墻設置-高級設置-入站規則設置

第一步 選擇 入站規則 然後 新建規則,選擇 端口,然後下一步

第二步 選擇TCP 選擇特定端口 然後輸入端口,如有多個端口需要用逗號隔開瞭 例如: 3306

第三步 選擇允許連接

第四步 選擇配置文件

第五步 輸入規則名稱 mysqlport

ok.

本地使用Navicat 測試連接.

2. CentOS 下配置

配置指定資料庫可被指定用戶遠程連接.

指定資料庫為papertest,

指定用戶:dancy,密碼:xxx

2.1 安裝Mysql,網上教程很多,此處跳過,詳細可參照參考文獻.

2.2 使用CREATE DATABASE papertest,新建papertest資料庫.

2.3 切換到MySQL伺服器的mysql資料庫下.


mysql資料庫

2.4 創建用戶dancy,並授權.

mysql> grant all privileges on papertest.* to ‘dancy’@’%’ identified by ‘xxx’

授予dancy用戶所有訪問權限,papertest.*代表papertest資料庫的任意表,%代表任意ip地址,通過xxx密碼來訪問(這裡也可以直接授予root用戶這種權限)

授權完成後刷新一下才生效.

mysql> flush privileges;

2.5 開放MySQL的 3306 端口.

[root@xxx]#firewall-cmd –zone=public –add-port=3306/tcp –permanent

出現success即開放成功,然後重啟防火墻

[root@xxx]systemctl restart firewalld.service

註:centos 7.4 下不再有iptables文件,故配置規則與以往不同.

ok.

本地使用Navicat 測試連接.

 

You May Also Like