远端连线 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


<<:  Day 28 - Kubernetes 第三方好用工具介绍

>>:  Day 28 axios-login(vue cli)

铁人赛 Day13-- MySQL函式

mysqli_num_rows() 取得查询笔数 可以使用 mysqli_num_rows() 函式...

[Day8] [笔记] React Props (下)

前言 昨天我们了解到如何透过 Props 来传递资料给子元件。而今天我们要来认识如何在元件中间包裹内...

Websockify/ noVNC

订阅patreon即可看到更多文章 https://www.patreon.com/wade3c ...

5.unity图片分割(Slice Sprite)、tile绘制技巧

今天的主题有两个 一、unity图片分割(Slice Sprite) 目标:把一张素材切成很多小素材...

Day 06 - 私有云VPC设置

今天我们来研究看看私有云VPC吧 VPC的价值: 懂得如何运用VPC,提供我们一套更好的安全机制,来...