- Amazon RDS›
- Amazon RDS for MySQL›
- 什麼是 MySQL?
什麼是 MySQL?
MySQL 充當許多熱門網站、應用程式和商業產品的主要關聯式資料存放區。MySQL 擁有超過 25 年由社群所支持的開發與支援,是一款可靠、穩定且安全的結構化查詢語言 (SQL) 資料庫管理系統。
MySQL 資料庫適合各式各樣的使用案例,包含任務關鍵應用程式與動態網站。 由於 MySQL 的簡單性與可靠性,該資料庫亦是現代化應用程式的熱門 SQL 引擎。應用程式開發人員可擁有一個配備簡單的用戶端伺服器介面,並且可加速佈設的引擎,而組織則可節省培訓費用。
AWS 以多種方式支援 MySQL,包括全受管資料庫服務 Amazon Relational Database Service (RDS) for MySQL。 Amazon Aurora MySQL 相容版本亦是使用 MySQL 建立的,且 Amazon RDS 支援熱門的 MySQL 分支專案 MariaDB。
您還可在 Amazon EC2 上託管 MySQL 軟體並自行管理資料庫,或瀏覽 AWS Marketplace 上的第三方 MySQL 產品。
MySQL 的歷史
MySQL Server 的第一個版本是在 1995 年由瑞典公司 MySQL AB 發行,該公司是由 David Axmark、Allan Larsson 及 Michael Widenius 所創辦。MySQL 的名稱取自 Widenius 的女兒,名為 My。MySQL 專案在 2000 年以 GNU 通用公眾授權 (GPL) 規範下的開放原始碼形式發佈。
到 2001 年,MySQL 已達到超過 200 萬個作用中安裝;到 2004 年,該軟體每天下載超過 3 萬次。MySQL 於 2008 年被 Sun Microsystems 收購,Oracle 在 2009 年收購 Sun 時,它也取得了 MySQL 的擁有權。
使用 MySQL 資料庫的優勢
易於使用
MySQL 資料庫由於其易於使用和生產力功能,包括觸發程序、預存程序和可更新檢視,因此受到 Web 開發人員的喜愛。MySQL 包括以下公用程式:備份程式 mysqldump;系統管理用戶端 mysqladmin;以及 MySQL Workbench,這是用於管理和移轉工作的 GUI。
效能
隨著時間的推移,MySQL 透過具有索引壓縮的 B 型樹狀結構磁碟表格,以執行緒為基礎的記憶體配置和最佳化巢狀迴圈加入等功能,提高了其效能功能。儲存引擎中的列層級鎖定和一致的讀取,可為 MySQL 提供多使用者並行的額外效能優勢。MySQL 藉助使用最少特徵集的核心功能,來遵循並促進設計實務,以便加速效能。
可靠性和安全性
MySQL 的 InnoDB 交易儲存引擎遵循 ACID 模型,具有改善資料保護的額外功能,包括時間點復原和自動提交。InnoDB 還透過支援外部索引鍵限制提供資料完整性,防止資料表之間的資料不一致。
MySQL 包含強化且靈活的安全功能,包括以主機為基礎的驗證和密碼流量加密。InnoDB 提供額外的安全優勢,使用雙層加密金鑰架構進行靜態資料資料表空間加密。
開放原始碼授權
MySQL 在開放原始碼授權 (GNU 通用公眾授權) 下可供使用,從而讓您在安裝 MySQL 時可自由使用和修改原始程式碼。MySQL 的受管版本,例如 Amazon RDS for MySQL,無須為 MySQL 引擎支付額外的授權費用,這與專屬 SQL 引擎有所差異。
MySQL 擁有龐大的全球貢獻者和愛好者社群,為使用資料庫系統帶來了許多額外的長尾效益。例如,MySQL 社群始終掌握安全性問題和錯誤修復,有助於軟體的整體恢復能力。MySQL 使用者群組、活動、論壇和郵件清單提供一個內建教育和支援網路。
MySQL 常見使用案例
一般用途 OLTP 資料庫
MySQL 適用於任何需要交易 SQL 引擎的應用程式,包括關鍵任務應用程式和大量流量的網站。MySQL 遵守 ACID 原則,並包括 ANSI/ISO 標準 SQL 的擴充,以及對 XML 和 JSON 的支援。
MySQL 也支援高可用性資料庫叢集,並且可以處理 PB 大小的資料庫。使用 MySQL 資料庫的熱門應用程式包括 TYPO3,MODx,Joomla,WordPress,phpBB,MyBB 和 Drupal。
電子商務應用程式
MySQL 是電子商務平台最熱門的交易引擎之一。MySQL 對於管理客戶的所有資料、交易,以及產品型錄尤其有用。
在電子商務解決方案中,MySQL 通常與其他非關聯式資料庫一起使用,包括用於同步訂單資料以及儲存非產品資料的文件和鍵值存放區。
LAMP 開放原始碼堆疊
MySQL 是在 LAMP 開放原始碼軟體堆疊上執行的無數應用程式中不可或缺的一部分 (LAMP 代表 Linux、Apache、MySQL 和 PHP/Python/Perl)。LAMP 是無所不在的 Web 服務解決方案堆疊,被廣泛認為是動態網站和高效能 Web 應用程式的首選平台。
MySQL 軟體分支專案
MariaDB
MariaDB 是 MariaDB 提供的一個熱門 MySQL 分支,該分支是由 MySQL 的原始開發人員創立,他們希望它在 GNU GPL 下保持免費和開放原始碼。雖然 MariaDB 與 MySQL 分開維護,但其保留了高度的 MySQL 相容性,包括程式庫二進位等效性,與應用程式介面 (API) 的精確比對,以及各式各樣的管理工具。AWS 透過全受管資料庫服務 Amazon RDS for MariaDB 支援 MariaDB。
Percona Server
Percona Server 是 Percona 提供的另一個熱門 MySQL 分支。Percona Server 包括 XtraDB,Percona 的 InnoDB 儲存引擎分支。
針對應用程式開發的語言支援
MySQL 在 SQL 語言支援方面具有領先優勢。此外,MySQL 還支援大多數領先的程式設計語言與通訊協定,從而支援使用者使用下列程式設計語言:Python、Java、Perl、Node.js、.NET、PHP、Ruby、Erlang、C/C++、Tcl、ODBC,以及 Objective-C。
MySQL vs.PostgreSQL
MySQL 和 PostgreSQL 都是熱門的開放原始碼關聯式資料庫。MySQL 之所以備受青睞,是因為其被認為不僅易於使用,而且操作快捷,而 PostgreSQL 則被認為擁有豐富的特徵,且更接近於 Oracle 這樣的商業授權版資料庫。但是,目前的主要版本 MySQL 和 PostgreSQL 在支援查詢效能、可靠性、安全性等方面都提供許多強大的特徵和功能。您可以進一步了解 PostgreSQL,並使用 AWS 免費方案來試用 Amazon Aurora PostgreSQL 或 Amazon RDS for PostgreSQL。
AWS 上的 MySQL 託管選項
Amazon EC2 上的自我管理 MySQL
過去,關聯式資料庫曾採用內部部署,隨著資料庫工作負載移至雲端,組織最初利用 Amazon EC2 來執行自己的資料庫。使用這種方法,您可管理內部部署資料庫隨附的所有經常性管理任務,例如硬體佈建、資料庫設定、調整、修補、備份,以及 MySQL 可擴展性。
Amazon RDS 上的全受管 MySQL
Amazon Relational Database Service (Amazon RDS) 是可輕鬆管理的關聯式資料庫服務,已針對總體擁有成本最佳化。根據需求設定、操作和擴展很簡單。RDS 可自動化處理無差異化的資料庫管理任務,例如佈建、配置、備份和修補程式。
RDS 讓您在幾分鐘內即可建立新的資料庫,以及提供自訂資料庫的靈活性,以便符合其需求。您可以透過以下特徵來最佳化效能,例如兩個可讀備用、最佳化寫入和讀取,以及 AWS Graviton4 型執行個體,並且他們可從多個定價選項中選擇以有效管理成本。
藉助 Amazon Aurora MySQL 相容版本來實現現代化
Amazon Aurora 可在全球範圍內為 MySQL 提供卓越的高效能和可用性。Aurora 具有 MySQL 5 倍的輸送量且全面相容。Aurora 提供廣泛的合規標準和企業安全功能,並支援遍佈全球的應用程式。
開始使用 Amazon RDS for MySQL 很簡單
1
註冊 Amazon RDS
存取 Amazon RDS 免費方案。
2
透過簡單教學了解
3
開始使用 Amazon RDS 進行建置
透過 Amazon RDS 上的 MySQL 使用者指南的協助開始建置。
MySQL 資料庫移轉程序
原生及第三方 MySQL 資料庫移轉方法
SQL 傾印與複寫服務
若要進行 MySQL 關聯式資料庫管理系統移轉,最實用的原生方法是執行 SQL 傾印,然後執行複寫活動,以確保同步資料庫。MySQL 的 mysqldump 是一個內建備份公用程式,可用做 MySQL 伺服器資料庫移轉的基礎。Mysqldump 可藉助傾印檔案來傾印整個資料庫,然後提供 SQL 陳述式集來重新生成資料庫。若您擁有快速且穩定的網際網路連線,並且資料移轉時間並非關鍵,則對於 10GB 以下大小的資料庫,此方法很實用。
Percona XtraBackup 與 Amazon S3
您可先傳輸 Percona XtraBackup 檔案與備份至 Amazon S3,藉此以一對一方式從來源資料庫,移轉資料庫伺服器至新的 Amazon RDS for MySQL 或 Aurora DB 叢集。藉助此資料移轉轉換程序載入資料,速度可能會比使用 mysqldump 要快捷得多。
INFORMATION_SCHEMA 資料庫
內建 INFORMATION_SCHEMA 資料庫可用做 MySQL 中繼資料總管。藉助此 MySQL 中繼資料總管,並結合使用 AWS DMS 結構描述轉換,您可確定您的來源資料庫結構描述與目的地資料庫結構描述集資料類型是否相符,以及確定在何處修補任何差距。
受管 MySQL 資料移轉服務
AWS Database Migration Service
AWS Database Migration Service (DMS) 可探索、評估、轉換 MySQL 資料庫工作負載,以及將其移轉至 AWS,從而減少手動編輯與工作。藉助 AWS DMS 移轉精靈,您可以選擇來源基礎結構與目標基礎結構,從而透過變更資料擷取 (CDC) 來自動執行複寫,以及建立包含自動化評估與目標物件建議的報告。在 MySQL 至 MySQL 的移轉中,無需轉換結構描述或物件定義。您可在移轉資料之前,善用 AWS Application Discovery Service 來探索 MySQL 伺服器資料庫中的任何相依項。
AWS Application Migration Service
若只需執行直接移轉,以便從內部部署 MySQL 伺服器移轉資料至 EC2,您可使用 AWS Application Migration Service 來移轉您的整個伺服器至 EC2。您可針對單一資料庫或多個資料庫物件來運用這項技術。