iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 28
1
Software Development

30天開發與部署 Laravel 專案系列 第 28

遠端連線 GCE 的 MySQL 資料庫

情境

每次查詢API執行後都得進vm下MySQL指令用CLI看成果?
身為免費仔推薦一個好用的 database GUI : Sequel pro ,可提供本地端與遠端的資料庫連線。

https://ithelp.ithome.com.tw/upload/images/20201012/20125263EY3HCTWhLw.png

事前準備

連線遠端時,有幾件事要注意

  • GCP:平台服務要開放遠端連線進資料庫
  • ubuntu: vm也要開放遠端連線進資料庫
  • MySQL: VM上的資料庫,要設定連線進來的使用者帳號、密碼、權限

開啟GCP平台服務的防火牆

進入GCP的防火牆,建立一個允許MySQL 3306的Rule

https://ithelp.ithome.com.tw/upload/images/20201013/20125263MzUWLeCuKh.png

建立步驟可參考這隻教學影片

專案vm把上述Rule加入設定檔中

https://ithelp.ithome.com.tw/upload/images/20201013/20125263Njcqu0ou9W.png

再處理Ubuntu 設定檔

MySQL的設定檔

檔案路徑:/etc/mysql/mysql.conf.d/mysqld.cnf

把 bind-address = 127.0.0.1
改 bind-address = 0.0.0.0

開啟vm上的防火牆

ufw 也要開啟 3306 port

建立一個MySQL的遠端連線帳戶

1.建立帳號

CREATE USER '帳戶名稱'@'%' IDENTIFIED by '帳戶密碼'
-> '%' : 不限制資料庫

CREATE USER 'testgcpmysql'@'%' IDENTIFIED by '*******'

2. 設定權限

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

3. 刷新MySQL

flush privileges

驗收成果

處理完以上設定後,就可以嘗試使用 Sequel pro 進行連線。

先檢查遠端的3306 port有無打開

  • 檢查工具: yougetsignal
  • 成功範例:
    https://ithelp.ithome.com.tw/upload/images/20201013/201252633t4w4ZJwZf.png
    失敗就會寫close,再回頭找原因

使用 Sequel pro 測試連線

打開軟體後,會要求輸入以下資訊:

  • Name -> 可自訂
  • Host -> GCP vm 的外部IP
  • Username -> 剛剛設定的MySQL遠端帳戶名稱
  • Password -> 剛剛設定的MySQL遠端帳戶密碼

Database、Port可以不用輸入

點選connect就能正常進入 Sequel pro 查看/新增/編輯遠端資料庫的資料。

https://ithelp.ithome.com.tw/upload/images/20201013/20125263MFAgDmSJpM.png


參考資料
https://www.jishuwen.com/d/pmp7/zh-tw
https://youtu.be/8oF4ku_7vxM?t=326
https://stackoverflow.com/questions/49194719/authentication-plugin-caching-sha2-password-cannot-be-loaded


上一篇
SSH 進 GCP的3種方式
下一篇
透過 HTTP/HTTPS +域名,連線至GCE專案
系列文
30天開發與部署 Laravel 專案30

尚未有邦友留言

立即登入留言