MySQL實例支持哪些加密函數
有關關系數據庫MySQL版支持的加密函數,請參見官方文檔://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html
使用RDS要注意些什么
- 實例的操作系統,對用戶都不可見,這意味著,只允許用戶應用程序訪問數據庫對應的IP地址和端口。
- 對象存儲服務(Object Storage Service,簡稱OBS)上的備份文件以及關系型數據庫服務使用的彈性云主機(Elastic Cloud Server,簡稱ECS),都對用戶不可見,它們只對關系型數據庫服務的后臺管理系統可見。
- 查看實例列表時請確保與購買實例選擇的區域一致。
- 申請關系型數據庫實例后,您不需要進行數據庫的基礎運維(比如高可用、安全補丁等),但是您還需要重點關注以下事情:
- 關系型數據庫實例的CPU、IOPS、空間是否足夠,如果不夠需要變更規格或者擴容。
- 關系型數據庫實例是否存在性能問題,是否有大量的慢SQL,SQL語句是否需要優化,是否有多余的索引或者缺失的索引等。
什么是RDS實例可用性
關系型數據庫實例可用性的計算公式:
實例可用性=(1–故障時間/服務總時間)×100%
RDS實例是否會受其他用戶實例的影響
關系型數據庫實例不會受其他用戶實例影響,因為每個用戶的關系型數據庫實例與其他用戶的實例是相互獨立的,并且有資源隔離,互不影響。
關系型數據庫支持跨AZ高可用嗎
RDS支持跨AZ高可用。當用戶創建實例的時候,選擇主備實例類型,可以選擇主可用區和備可用區不在同一個可用區(AZ)。
可用區指在同一區域下,電力、網絡隔離的物理區域,可用區之間內網互通,不同可用區之間物理隔離。
關系型數據庫服務支持在同一個可用區內或者跨可用區部署數據庫主備實例,備機的選擇和主機可用區對應情況:
- 不同(默認),主機和備機會部署在不同的可用區,以提供不同可用區之間的故障轉移能力和高可用性。
- 相同,主機和備機會部署在同一個可用區,出現可用區級故障無法保障高可用性。
RDS是否支持主備實例變更為單機實例
RDS僅支持單機實例變更為主備實例,主備實例無法變更為單機實例。您可以通過DRS或者客戶端導出導入工具將數據從主備實例遷移到單機實例。
為何使用了RDS后網站登錄較慢
推薦您做如下兩個處理:
- 通過關系型數據庫服務的管理控制臺查看關系型數據庫實例的性能情況。
- 與應用程序有很大關系,使用命令查看當前數據庫連接狀態,比較本地數據庫和關系型數據庫的差異。
主實例和只讀實例之間可以設置數據同步方式嗎
- 針對MySQL引擎:
- RDS console上展示的數據同步方式,指的是主實例和備實例之間的數據同步方法,支持半同步和異步兩種。關注數據安全,請選擇半同步,關注性能,請選擇異步。
- 對于主實例和只讀實例之間,默認是異步方式,不可以修改同步方式。
- 針對Microsoft SQL Server引擎:
- 主實例和備實例之間支持同步提交模式,且不可以修改。
- 主實例和只讀實例之間支持異步提交模式,且不可以修改。
主備同步存在多長時間的延遲
如果復制線程正常運行,復制延遲是一個代表秒的數值。如果SQL線程異常、I/O線程正常運行但SQL線程重放了所有的relay log的話,復制延遲的值為NULL。
主機與備機的同步延遲是無法利用公式來計算的,它會受到以下因素的影響:
- 網絡通信狀況。
- 主機的事務壓力,即主機每秒執行的事務量。
- 主機執行的事務大小,即一個事務要執行多久。
- 備機和只讀實例的機器負載狀況。
- 如果主機在某個時間段壓力非常大,每秒執行的事務量非常多,備機通常會出現延遲。反之,延遲一般都是秒級。
- 對于RDS for MySQL,可以在“實例管理”頁面,單擊實例名稱,進入實例基本信息面,其中,復制源為該實例下的主機,在復制狀態正常的情況下,通過查看“實時復制時延”,來獲取當前主備同步延遲值。
- 對于RDS for PostgreSQL,可以通過Cloud Eye頁面查看監控指標“復制時延”,來獲取當前主備同步延遲值。
- 對于Microsoft SQL Server,可以通過Cloud Eye頁面查看監控指標“數據同步延遲”,來獲取當前主備同步延遲值。
多臺彈性云主機是否可以使用同一個RDS數據庫
在數據庫的壓力承載范圍內,多臺彈性云主機是可以使用同一個關系型數據庫來支撐業務的。
MySQL開啟GTID后有哪些限制
MySQL默認開啟GTID且不支持關閉,主備關系的建立等功能均依賴GTID。如果關閉GTID,會對整個RDS的功能(比如備份恢復、主備倒換)受到影響甚至無法運行。
社區版MySQL開啟GTID后,如下三種語句執行會報錯:
- 使用select語句建表(create table...select)會報錯。
- 如果在一個事務中同時處理支持事務的引擎(InnoDB)和不支持事務的引擎(MyISAM)會報錯。
- 顯式事務中創建臨時表(create temporary table)會報錯。
為了放開社區版的這些約束,云數據庫RDS對MySQL內核進行了改造,以支持這些語句。
不同RDS實例的CPU和內存是否共享
CPU和內存指的是購買的實例規格,并且服務器是獨立的,不會出現不同RDS共用資源的情況。
RDS實例內能運行多少個數據庫
關系型數據庫服務沒有強制限制在一個RDS實例內能運行多少個數據庫,這取決于數據庫引擎自身設置。
如果CPU、內存和磁盤大小均滿足的情況下,實例允許數據庫數量沒有限制。數據庫中表的數量會影響備份速度。表數量超過50萬,備份將會失敗。
- RDS for MySQL創建的數據庫、表數量沒有限制。這取決于MySQL自身,詳情請查看MySQL官方文檔。
- RDS for PostgreSQL可創建無限個數據庫、無限個數據庫帳號。
MySQL是否有單表尺寸限制
MySQL單表的有效最大表尺寸受限于操作系統的文件尺寸限制,而不是受MySQL內部機制的限制。
由于存在部分元數據開銷,MySQL單表尺寸的最大限制為2TB。
RDS for MySQL購買磁盤加密后,備份文件會加密嗎
RDS for MySQL購買磁盤加密后,在實例創建成功后不可修改磁盤加密狀態,且無法更改密鑰。選擇“磁盤加密”,存放在對象存儲服務上的備份數據不會被加密。
注意設置了磁盤加密或備份數據加密后,提醒您保存好密鑰,一旦密鑰被禁用、刪除或凍結,會導致數據庫不可用,并且可能無法恢復數據,具體場景如下:
針對磁盤加密,備份數據不加密的場景:可以通過按備份文件恢復全量實例的方式恢復數據。
針對磁盤加密,并且備份數據加密的場景:無法恢復數據。