阿里雲RDS上的一些概念性記錄


剛接觸RDS,只能對RDS上的一些特性做一些筆記,方便記憶,以下為RDS上的內容摘錄,取自官方文檔

1 數據備份

可使用命令行或圖形界面進行邏輯數據備份。僅限通過 RDS 管理控制台 或 OPEN API 進行物理備份。

2 數據還原

可使用命令行或圖形界面進行邏輯數據還原。僅限通過 RDS 管理控制台 或 OPEN API 進行物理還原。

3 數據遷入

可以使用命令行或圖形界面進行邏輯導入。可以使用 mysqldump、數據傳輸進行數據遷入。

4 存儲引擎

支持MyISAM,InnoDB,TokuDB,不支持Memory引擎,如果創建,會自動轉換成InnoDB存儲引擎

5 數據庫復制

MySQL自動搭建了主備復制,不需要手動搭建,但無法直接訪問

6 RDS的連接模式

如果應用在ECS上,不需要申請外網,如果在阿里雲之外的,需要申請外網地址,用於應用對接

7 RDS的兩種連接方式

內網地址、外網地址,在訪問模式下,高安全模式下才能同時使用內網地址和外網地址。RDS會針對外網地址流量有一定的費用

8 高安全模式的特性

高安全模式下具有90%的連接閃斷和SQL攔截的能力(基於SQL語義分析來實現防御SQL注入攻擊),但會增加20%的響應時間

9 RDS對外提供服務的端口

取值范圍為3200~3999

10 創建數據庫和賬號

在使用數據庫之前,需要在 RDS 實例中創建數據庫和帳號;在數據庫遷移之前,需要在 RDS 實例中創建和本地數據庫一致的數據庫,並在 RDS 實例和本地數據庫中創建一致的帳號

11 遷移RDS

遷移本地數據庫到 RDS,請在 RDS 數據庫和本地數據庫中一致的遷移帳號和數據庫

12 RDS上的實例數據庫數

同一實例下的數據庫共享該實例下的所有資源,MySQL 版實例最多可以創建 500 個數據庫,500 個帳號

13 高級賬號

阿里雲數據庫 My SQL 版支持創建高權限帳號,且僅支持 MySQL5.5 和 MySQL5.6 版本,只針對有需要的用戶開放,需要提交工單申請開放

  支持用戶在實例內直接執行 create、drop、grant 等命令,實現更便捷的管理操作。

14 高級賬號模式的變化

1.不支持通過 RDS 控制台或者 API 來管理數據庫和帳號,用戶可在實例內直接執行相應的命令進行管理。 控制台上的帳號管理和數據庫管理頁面將會消失,
如果您在應用程序里調用了 API 創建數據庫和帳號的接口,請及時修改應用程序。 2.MySQL 的單庫備份功能使用方式會改變,需要您手動輸入需要備份的數據庫。 3.可以通過 show grants for xxx 來查看已經創建的帳號。 4.不能直接訪問 mysql.user 和 mysql.db 表,可以通過 mysql.user_view 和 mysql.db_view 視圖來查看現有帳號及權限。 5.不能更改全局變量,如 set global xxx = on。 6.在創建其他帳號時,可以通過類似 grant select on test. to user01@'%' identified by'user01password' 方式賦權,
當需要更改權限或密碼時,需要 Drop user user01; 后重新 grant。 7.控制台和 API 支持重置高權限帳號的權限和密碼。實例中已經創建的其他帳號不受影響。 8.創建高權限帳號過程中會有一次實例重啟,將造成30秒內的網絡閃斷1次,請確保在合適的時間選擇創建,同時確保應用程序支持數據庫重連。

15 權限列表

權限 是否支持
alter 支持
Alter_routine 支持
create 支持
Create_routine 支持
Create_tem_table 支持
Create_user 支持
Create view 支持
delete 支持
drop 支持
ececute 支持
event 支持
grant 部分支持
index 支持
insert 支持
Lock_tables 支持
process 支持
reload 部分支持
Repl_client 支持
Repl_slave 支持
Select 支持
trigger 支持
update 支持

 

16 遷移數據

使用DTS遷移數據,可以實現應用不停服務的情況下,平滑完成數據庫的遷移工作。

17 DTS支持的功能

結構遷移、全量遷移和增量遷移
1.結構遷移
DTS 會將本地數據庫的結構定義遷移到目標實例。目前 DTS 支持結構遷移的對象有:表、視圖、觸發器、存儲過程、存儲函數
2.全量遷移
DTS 會將本地數據庫遷移對象的數據全部遷移到目標實例。如果用戶還選擇了增量遷移,那么全量遷移過程中,為了保證數據一致性,無主鍵的非事務表會被鎖定,
鎖定期間這些表無法寫入,鎖定時長依賴於這些表的數據量大小,在這些無主鍵非事務表遷移完成后,鎖才會釋放。 3.增量遷移 增量遷移會將遷移過程進行數據變更同步到目標實例,如果遷移期間進行了DDL 操作,那么這些結構變更不會遷移到目標實例。

18 DTS遷移的限制 

1.遷移過程中不支持DDL操作
2.結構遷移不支持EVENT遷移
3.如果使用了對象名映射功能后,依賴這個對象的其他對象可能遷移失敗
4.當增量遷移時,本地MySQL實例需要開啟binlog,且本地庫的binlog_format要為ROW,如果是5.6版本,binlog_row_image還要設置為full

19 本地數據庫遷移到RDS上的過程

遷移類型    結構遷移    全量遷移    增量遷移
本地數據庫    select   select     select replication slave/replication client
RDS         實例讀寫   權限讀寫    權限讀寫權限

20 具體過程

1.本地數據庫創建遷移賬號
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
2.授權
GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;(授權該帳號能使用GRANT命令,該參數為可選)
3.開啟本地數據庫的binlog,查詢
show global variables like "log_bin";
開啟方法
log_bin=mysql_bin
binlog_format=row
server_id=大於 1 的整數
binlog_row_image=full //當本地 MySQL 版本大於 5.6 時,則需設置該項
4.修改完成,重啟MySQL進程
5.RDS管理控制台操作-略,看官方文檔

21 遷移注意事項

1.數據遷移只會將本地數據庫的數據(結構)復制一份到目標數據庫,並不會對本地數據庫數據(結構)造成影響
2.數據遷移過程中,不支持 DDL 操作,如進行 DDL 操作可能導致遷移失敗
3.DTS 增量遷移的時間最長支持 15 天,如果超過 15 天不停止任務,系統資源可能被回收

22 遷移完畢

因遷移帳號擁有讀寫權限,為了保證本地數據庫安全,請在數據遷移完成后,刪除本地數據庫和 RDS 實例中的遷移帳號

23 使用mysqldump遷移數據

使用 mysqldump 工具的優點是簡單易用、容易上手,缺點是停機時間較長,因此它適用於數據量不大,或者允許停機的時間較長的情況

24 遷移過程

1.關閉MySQL進程
mysql_dir/bin/mysqladmin -u root -p shutdown
2.使用 mysqldump 的數據導出工具,將本地數據庫數據導出為數據文件
mysqldump -h localIp -u userName -p --opt --default-character-set=utf8 --hex-blob dbName --skiptriggers> /tmp/dbName.sql
3.使用 mysqldump 導出存儲過程、觸發器和函數
mysqldump -h localIp -u userName -p --opt --default-character-set=utf8 --hex-blob dbName -R | sed -e 's/DEFINER[ ]*=[ ]*[^*]*\*/\*/' > /tmp/triggerProcedure.sql
4.參見ECS產品文檔,將數據文件和存儲文件上傳到ECS
5.登錄ECS
mysql -h intranet4example.mysql.rds.aliyuncs.com -u userName -p dbName < /tmp/dbName.sql
mysql -h intranet4example.mysql.rds.aliyuncs.com -u userName -p dbName </tmp/triggerProcedure.sql

25 壓縮數據

MySQL 5.6 版支持通過 TokuDB 存儲引擎壓縮數據。經過大量測試表明,數據表從 InnoDB 存儲引擎轉到 TokuDB 存儲引擎后,數據量可以減少 80% 到 90%,
即 2T 的數據量能壓縮到 400G 甚至更低。除了數據壓縮外,TokuDB 存儲引擎還支持事務和在線 DDL 操作,可以很好兼容運行於 MyISAM 或 InnoDB存儲引擎上的應用。

26 使用TokuDB的限制

1.TokuDB 存儲引擎無法支持外鍵 Foreign Key
2.TokuDB 存儲引擎不適用於頻繁大量讀取的場景

27 創建RDS只讀實例的要求

要創建只讀實例,主實例要求 MySQL5.6 及以上版本

28 只讀實例的功能限制

1.1 個主實例做多可以創建 5 個只讀實例
2.備份設置:不支持備份設置以及臨時備份
3.數據遷移:不支持數據遷移至只讀實例
4.數據庫管理:不支持創建和刪除數據庫
5.帳號管理:不支持創建和刪除帳號,不支持為帳號授權以及修改帳號密碼功能
6.實例恢復:不支持通過備份文件或任意時間點創建臨時實例,不支持通過備份集覆蓋實例
7.創建只讀實例后,主實例將不支持通過備份集直接覆蓋實例來恢復數據

29 RDS災備

1.提供獨立的數據庫連接地址,由用戶應用端自助控制連接
2.使用主備高可用架構
3.支持按小時計費,即開即用,即停即止
4.提供獨立的白名單配置,帳號管理

30 RDS災備的前提

1.當前災備實例只支持數據庫類型為 MySQL 的 RDS 實例
2.要創建災備實例,主實例要求 MySQL 5.6 及以上版本。在升級主實例版本前,請做好兼容性測試;或者新建一個 MySQL 5.6 的實例,將數據從主實例復制到新建實例,
然后在新建實例上創建災備實例 3.創建災備實例的主實例必須要有內網地址

31 RDS上災備的功能限制

1.暫僅支持在國內五大地域:華東 1(杭州)、華東 2(上海)、華南 1(深圳)、華北 1(青島)、華北 2(北京)
2.暫不支持創建在 VPC 內(主實例可創建在 VPC 內)
3.出於同步鏈路自身穩定性的需要,災備實例僅支持創建只讀權限的帳號不支持備份設置、備份恢復、數據遷移、數據庫管理、申請外網訪問地址、修改連接地址功能

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM