App Service 中使用 MySQL in App 和 phpMyAdmin

  • 839
  • 0
  • 2021-03-21

微軟在 2016 年就發表了 App Service 提供了 MySQL In App 這個功能,雖然他很陽春,但是在某些情境下使用也是可以省下不少費用和時間,且還提供了 phpMyAdmin 這一套熱門的管理工具,因此我們也不用另外安裝來管理 MySQL,所以在時間和成本考量下,是可以考慮使用這個小功能的。

前言

微軟在 2016 年就發表了 App Service 提供了 MySQL In App 這個功能,雖然他很陽春,但是在某些情境下使用也是可以省下不少費用和時間,且還提供了 phpMyAdmin 這一套熱門的管理工具,因此我們也不用另外安裝來管理 MySQL,所以在時間和成本考量下,是可以考慮使用這個小功能的。

實做

啟用 MySQL in App

在 App Service 左邊選單設定區段可以找到 MySQL In App ,點選開啟之後儲存,即可啟用此功能。

這個功能一樣僅有在 Windows 的 App Service Plan 才有提供 

啟動之後我們可以透過進階工具開啟 Kudo 中的 PowerShell 進到 D:\home\data\mysql 目錄,找到 MYSQLCONNSTR_localdb.txt 就可以取得 MySQL 的連線字串了。格式應該會如下所示,就可以拿來給我們程式使用了。

Database=localdb;Data Source=127.0.0.1:{port};User Id=azure;Password={password}
這邊要注意的是 port 是隨機的,且可能是會變動的,如果要直接用於正式環境可能要注意一下

管理 MySQL

在 MySQL in App 中左上角可以點選管理,就會可以連到內建的 phpMyAdmin 來管理我們的 MySQL 了

如果我們有其它外部的 MySQL 需要管理的話,其實也可以透過此內建的管理工具來管理,這邊以 Azure 上面的 Azure Database for MySQL 來做示範。建立服務的過程就不再另外說明,在服務建立完成之後到服務內取得連線字串,複製針對 Web App 使用的連線字串。

接下來回到 App Service 的組態裡面,點選新增連線字串,輸入相關的資訊之後儲存連線字串。

重新整理 phpMyAdmin 之後我們就可以看到設定的 MySQL 出現了。

 

討論

雖然此功能跟效能上可能不如開一台 VM 或是開 Paas 服務來的強大,但是對於在開發階段或是小負載的正式環境使用上是很足夠的,我們也不用花很多時間去管理跟維護 MySQL Server,或是等到站台大了之後再將資料匯出到另外的環境來使用,都是不錯的選擇。就算不使用內建的 MySQL 也可以開啟之後透過安裝好的 phpMyAdmin 來管理其它外部的 MySQL Server,也是很方便的,就看使用情境上的考量了。

參考資料

  1. Announcing MySQL in-app for Web Apps (Windows)
  2. phpMyAdmin