在應用程式中,Database 往往都是不可少的,而如果在大型應用中對於管理資料庫以及自建資料庫會是一門很大的學問,資源擴充、叢集與自動備份與還原 … 等都是維護成本,在人力資源不足的前提下可以選擇雲端 Database 服務,本篇將介紹如何建立與使用微軟的 Azure Database for MySQL。
建立
在 azure protal 建立資源頁面點左邊的資料庫,並點選 [Azure Database for MySQL]
基本設定
- 伺服器名稱:database 的伺服器名稱,會是之後連線的 domain 一部分
- 資料來源:[無] 表示建立空白的資料庫,[備份] 則是能從備份檔案中把資料庫還原回來
- 管理使用者名稱:設定最大權限的管理員帳號,azure 限制管理員帳號名稱不可以是以下任何一個: ‘azure_superuser’、‘admin’、‘administrator’、‘root’、‘guest’ 或 ‘public’。
- 密碼與確認密碼:管理員帳號的密碼
- 位置:資料庫伺服器位置
- 版本:MySQL 的版本
- 計算 + 儲存體:設定機器的規格 (如下圖)
- vCore:虛擬 CPU 的核心數
- 儲存體:RAM 的大小
- 自動成長:當空間已經到達上限的90%時,是否自動擴充空間 (空間只會動擴充並不會自動縮減)
- 備份保留期限:當資料進行備份時,最常會存放多久
- 備份備援選項:當資料進行備份時,會存放在同個機房還是不同地區的機房,會影響還原時是否可以還原到不同區域的伺服器 (建立伺服器之後無法修改)
標籤設定
依據自己習慣可以對這個資源 (Database) 進行標籤
檢閱 + 建立
檢查確認沒有問題後點 [建立] 後會開始建立伺服器
等待部屬完成
開始使用
在進入建立的 Azure Database for MySQL 後可以在概觀的頁面中檢視到一些基本資訊
其中畫面右上方的 [伺服器名稱] 便是用來連線 DB 的 host,而 [伺服器系統管理員登入名稱] 則是管理員登入的帳號 (含 @ 與後面的名稱)
連線防火牆設定
預設從外部是連不到資料庫的,需要在防火牆設定允許連線的 IP 或是設定虛擬網路
這邊以允許的 IP 做示範
點左邊列表設定中的 [連線安全性]
設定上自己的 public IP 並且點左上的儲存
接著被設定 IP 的伺服器就能夠連到這個 database 了
MySQL 伺服器的設定
如果要修改一些平常在 my.ini 設定 (例如:time_zone, sql_mode, max_connections… 等)
可以點左邊列表設定中的 [伺服器參數]
裡面會有許多的設定,修改後點左上的儲存便會生效
改變規格
假如因為商業擴充,需要調整伺服器的規格
可以點左方列表設定中的 [定價層]
選擇要調整個規格後按確定就可以了
資料庫複寫 (replication)
如果是大型應用服務可能會大量連線的需求,可以設定複寫來利用多台機器分散效能
※ 只有在伺服器配置等級在 [一般目的] 以上等級才能夠使用官方提供的 [複寫] 功能,而 [基本] 等級是沒有這個選項的
點左上的 [加入複本]
接著設定伺服器名稱與伺服器位置
而伺服器規格並無法調整,會與原本的伺服器相同
資料庫還原
預設 Azure 的 MySQL 伺服器會進行自動備份,而自動備份的頻率是由微軟預設的無法調整,分別有完整備份、快照集備份與交易記錄備份,其中交易記錄備份會達到五分鐘備份一次 (詳細參考:適用於 MySQL 的 Azure 資料庫中備份與還原),在還原時會用這三種備份來完成完整的還原工作
如果管理員要還原資料可在概觀頁面上方點 [還原] 按鈕
還原並不是蓋過目前以存在的資料庫資料,而是它會要求建立一個新的伺服器,並且把資料還原至那個新的伺服器 (伺服器規格與原本伺服器相同)
※ 如果當初在建立資源時,只有選擇 [本地備援] 的話,只能建立在相同地區的伺服器,而如果選擇 [異地備援] 的話則可以改變還原的伺服器位置