常見問題
1. RDS MySQL 字符序命名規則與相關命令??
- 字符序命名規則:以字符序對應的字符集名稱開頭,以_ci(大小寫不敏感)、 _cs(大小寫敏感)、 _bin(按編碼值比較)結尾。例如:
- 當會話的 collation_connction 設置為字符序 utf8_general_ci 時,字符 a 和字符 A 是等價的;而當其設置為 utf8_bin時,字符 a 和字符 A 是不等價的。
- 字符集相關 Mysql 命令
- 查看 RDS 實例字符集相關參數設置: show global variables like '%char%';
- 查看當前會話字符集相關參數設置: show global variables like 'coll%';
- 查看實例支持的字符集: show character set;
- 查看實例支持的字符序: show collation;
- 查看表字符集設置: show create table table_name \G;
- 查看數據庫字符集設置: show create database database_name \G;
- 查看存儲過程字符集設置: show create procedure procedure_name \G 和 show procedure status \G;
- 修改數據庫的字符集: alter database db_name default charset utf8;
- 創建數據庫時指定字符集: create database db_name character set utf8;
- 修改表字符集和字符序示例: alter table tab_name default charset utf8 collate utf8_general_ci;
2. 數據庫實例類型有哪些以及它們的特點??
- 主實例:支持可讀可寫;可獨立存在;提供包年包月和按量付費兩種計費方式。
- 只讀實例:僅支持可讀;不能獨立存在,必須依附于主實例;通過從主實例同步更改的數據,來保持與主實例數據的一致性,但由于數據同步有時延,只讀實例和主實例之間可能存在少許數據不一致的情況;只讀實例僅提供按量付費的支付方式。
- 臨時實例:支持可讀可寫;不能獨立存在,必須依附于主實例,但不會從主實同步數據,與主實例的數據不一致;48小時有效期內免費使用,過期后自動刪除。
3. 使用 “CREATE TABLE ... ENGINE = MyISAM” 創建表為什么會失敗??
- 由于 MyISAM 存儲引擎本身的設計缺陷可能會導致表損壞的情況,出于性能和安全目的,RDS MySQL僅提供 INNODB 存儲引擎的支持,使用其它存儲引擎來創建表,都有可能會失敗。
4. 如何在同一數據中心不同私網的云主機上訪問云數據庫RDS??
假設用戶在某數據中心同時購買了一個RDS實例和一個云主機,分別分配至不同的私有網絡網段net1 和 net2, 當云主機需要訪問RDS實例時,只需在該數據中心購買一個路由器,并將net1 和 net2 連接(jie)到這個路由器上,云主機即可(ke)通(tong)過 mysql 命令進行登錄:
>>mysql -h 10.168.5.2 -u tester001 -p (回車)參數說明:
-h:RDS 實例的私網地址(zhi)
-u:RDS 數(shu)據庫賬號,云(yun)主機的私(si)網IP必(bi)須(xu)已添(tian)加到(dao)該數(shu)據庫賬號的白名單(dan)
-p:賬號(hao)對應(ying)的密(mi)碼
5. 如何外網訪問云數據庫RDS??
假設用戶在某數據中心僅購買了一個RDS實例,用戶需在不同的地域訪問該RDS實例時,則需要用戶在該數據中心同時購買一個公網IP和路由器,并把公網IP綁定到路由器,為路由器創建轉發規則,如下:

設置完成后,在用戶在其他(ta)公網主機上通過 mysql 命令進(jin)行(xing)登錄(lu):
>>mysql -P 1000 -h 120.132.17.121 -u tester001 -p (回(hui)車)參數說明:
-P:路由器創建的端口(kou)規(gui)則(ze)中(zhong)的 “源端口(kou)”
-h:路(lu)由器綁定的公網(wang)IP
-u:RDS 數據庫賬(zhang)號(hao),主機的公(gong)網IP必須已添加到該數據庫賬(zhang)號(hao)的白(bai)名(ming)單
-p:賬號對應的(de)密(mi)碼(ma)
6. 數據庫實例如何遷移和導入??
可利(li)用(yong)MySQL工具(ju)mysqldump來做數(shu)據(ju)庫的導(dao)出和(he)導(dao)入,具(ju)體參數(shu)說明請(qing)參考。
Usage: mysqldump [OPTIONS] database [tables]
OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR mysqldump [OPTIONS] --all-databases [OPTIONS]步驟如下:
- 為需要遠程備份的數據庫創建一個備份數據庫實例 A 的專用賬號,并賦予 select 和 lock table 的權限。
- 利用步驟1創建的備份賬號和mysqldump工具遠程備份源數據庫實例 A 需要遷移的數據庫,備份至sql文件,例如:
mysqldump -h 192.168.232.134 -u username -p testdbout > testdb.sql - 連接需要導入的目標數據庫實例 B, 創建一個導入數據庫的專用賬號,并賦予 create 的權限,并創建導入的數據庫名。
- 利用步驟3創建的導入賬號遠程導入步驟2備份得到的文件。例如:
mysql -h 192.168.232.131 -u username -p testdbin < testdb.sql
7. 試用的實例如何轉正使用??
- 用戶對該試用實例進行續費操作即可轉成包年包月付費方式,詳見續費說明。