當內網服務器部署好mysql數據庫后,在局域網外需要用程序進行mysql 遠程訪問,而mysql因為安全的因素,默認的時候用戶設置的是不能遠程連接,只能本地連接,這個時候就需要自己去修改其中的設置。下面就介紹一下相關mysql的操作方法,然后介紹外網訪問mysql數據庫的簡單方法。
外網如何安全的訪問數據庫進行增刪改查,是運維人員經常需要遇到的一個問題。面對這種需求,我們可以采用nat123內網穿透方案,實現mysql 外網連接。
一、本地mysql開放遠程訪問配置
1、查看用戶情況
查看mysql數據庫中,user表中的信息,先使用use mysql切換到mysql數據庫,然后用select host, user from user列出user表中所有的用戶及對應的host地址,其中host對應允許訪問的主機的ip,“%”表示允許所有的ip訪問該數據庫,user對應于用戶名。
2、給特定的用戶屬于權限的指令
GRANT ALL PRIVILEGES ON . TO ’user_name'@'host_name';
FLUSH PRIVILEGES;
第一條指令是授予權限,第二條是讓授予的權限生效;第一條指令中.表示所有的數據庫中的所有的表,如果對應于特定的數據庫的特定表的權限就可以使用“databaseName.tableName"來授予相應的對象。
3、開放MYSQL其他設備遠程連接(必須)
查看配置文件my.cnf,找到bind_address這一行,如果這一行沒有被注釋掉,默認對應的地址是本地地址“127.0.0.1”,那么要把這一句給注釋掉,要么改為“0.0.0.0”,否則其他設備遠程連接不了。
4、給數據庫用戶修改密碼的指令
update user set password=password("new password") where user='username';
以上就是mysql本地開放遠程連接的設置的方法了,設置生效后,如果是內網環境的,在局域網內其他電腦上就可以通過MYSQL主機IP端口進行連接訪問。
二、內網MYSQL服務在無公網IP環境下設置提供外網連接
首先確保MYSQL已設置允許遠程訪問,當局域網內MYSQL其他電腦上可以正常遠程訪問后,就是提供局域網外的遠程連接步驟了,較為通用簡單的方案就是用網絡映射工具,這里以常見的nat123為示例,操作如下步驟參考。
1、下載安裝和注冊帳號
打開nat123官網,在自己的內網服務器上下載一個nat123軟件客戶端,安裝非常簡單只需要一步下一步執行即可。同時可以在對應官網上,或在客戶端登錄界面上對應點擊“注冊帳號”進入注冊一個nat123帳號,設置自己郵箱和名稱和密碼方式。
需要注意的是,不同網絡環境下,不同應用場景時,需要分別注冊使用不同帳號區分。
2、軟件上添加端口映射
在軟件界面點擊添加映射模塊,彈出來的對話框中,映射名稱自定義,映射類型選擇(如MYSQL外網直接訪問的用非80或非網站類型),內網IP端口填寫本地mysql服務器的內網IP端口,外網地址端口填寫mysql對外通信的域名(自己域名或自動生成的二級域名)和外網端口(自動生成的或自定義未占用的)。
添加成功保存后,界面上就為您生成提供了一個帶內外網訪問地址的mysql映射記錄圖標,這個地址映射圖標當鼠標停留時會對應提示相關狀態信息可參考。如果外網地址填寫了自己域名,同時需要在自己注冊域名解析網上添加對應的Cname指向(鼠標停留映射圖標和在編輯映射界面上可見指向的目標地址)讓自己域名生效。
3、外網訪問內網中的mysql
做完以上配置后,外網就可以通過映射軟件設置的域名訪問地址訪問mysql了。外網人員電腦安裝Navicat數據庫連接工具,點擊文件 、 新建 、mysql,連接名稱自定義,主機填寫mysql 服務器上映射工具設置的域名地址,端口寫對應自定義或生成的外網端口,輸入數據庫服務器的用戶名和密碼即可登錄。登錄成功后即可看到mysql 中的數據表了,如果你有類似應用需求可以嘗試使用實現遠程連接mysql。
端口映射軟件是自帶內網穿透兼動態域名解析的網絡工具利器,無需公網IP、自帶端口映射,不僅可以實現mysql 遠程訪問,實現外網設備訪問內網的數據庫服務器,還可將內部任意指定端口服務映射到外網實現域名訪問。