阿里云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.出于同步链路自身稳定性的需要,灾备实例仅支持创建只读权限的帐号不支持备份设置、备份恢复、数据迁移、数据库管理、申请外网访问地址、修改连接地址功能
阿里云RDS上的一些概念性记录的更多相关文章
- 阿里云RDS上用mysqldump导入导出
文章转载自: http://blog.csdn.net/jk0803_wantao/article/details/9179217 1. 开通云服务器服务.2. 开通RDS服务,如果开通成功,会返回给 ...
- 云计算之路-阿里云上:数据库连接数过万的真相,从阿里云RDS到微软.NET Core
在昨天的博文中,我们坚持认为数据库连接数过万是阿里云RDS的问题,但后来阿里云提供了当时的数据库连接情况,让我们动摇了自己的想法. 帐户 连接数 A 4077 B 3995 C 741 D 698 E ...
- 云上的芯脏病:奇怪的阿里云 RDS 数据库突发 CPU 近 100% 问题
最近遇到了奇怪的阿里云 RDS 数据库突发 CPU 近 100% 问题,遇到了3次. 第一次是10月12日(周六)凌晨 3:24 负载极低的时候开始出现,早上发现后进行了主备切换,恢复了正常. 第二次 ...
- 阿里云RDS数据库备份同步到自建库方法(SHELL脚本)
一.背景: 由于阿里云RDS生产库每天都需要备份且拷贝到自建读库,而如果使用阿里云的自动拷贝到只读实例, 费用太高, 故采用自编写同步脚本方法实现. 二.前提: 1). 已开通阿里云RDS, 且开启定 ...
- 阿里云RDS与ECS服务器数据库做主从
阿里云RDS与ECS服务器数据库做主从 [精] 里云RDS(数据库)基于飞天大规模分布式计算和存储能力,提供超高性价比的单机版实例,同时利用读写分离横向扩展读能力,满足网站类的业务需求.提供稳定.高性 ...
- 重磅干货免费下载!阿里云RDS团队论文被数据库顶会SIGMOD 2018收录
ACM SIGMOD数据管理国际会议是由美国计算机协会(ACM) 数据管理专业委员会(SIGMOD)发起.在数据库领域具有最高学术地位的国际性学术会议. SIGMOD和另外两大数据库会议VLDB.IC ...
- 关于阿里云ESC上go语言项目编译6l: running gcc failed: Cannot allocate memory
(1)前段时间将自己的阿里云服务器上的系统由centos 6.5换为了ubuntu 14,其他的硬件配置都没有发生改变,将服务器上的数据恢复并且重新安装了golang的编译环境后,发现使用go bui ...
- 阿里云RDS for SQL Server使用的一些最佳实践
了解RDS的概念 这也是第一条,也是最重要的一条,在使用某项产品和服务之前,首先要了解该产品或服务的功能与限制,就像你买一个冰箱或洗衣机,通常也只有在阅读完说明书之后才能利用起来它们的所以功能,以及使 ...
- 阿里云RDS数据库改造迁移方案
1. 改造原因 (1) 由于历史原因, 本应该是同一个库的表分布在两个数据库中,需要对这两个库进行合并. (2) 已有的数据库性能无法满足业务的增长需要, 查询卡,慢问题突出. (3) 当前自建Mys ...
随机推荐
- mongoDB GUI客户端工具大全
网易blog - MongoDB GUI客户端工具大全 oschina - MonjaDB 1.0.2 发布,MongoDB 的 GUI 客户端 oschina创建人红薯对MonjaDB官方文 ...
- lucene: nDocs must be > 0查询异常解决
nDocs must be > 0 // 函数search(query,filter,n),其中query是查询条件,filter是过滤器,n查询数量,异常消息意思就是n参数的值必须大于 ...
- js实现仿购物车加减效果
代码如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <tit ...
- 正则化--L1正则化(稀疏性正则化)
稀疏矢量通常包含许多维度.创建特征组合会导致包含更多维度.由于使用此类高维度特征矢量,因此模型可能会非常庞大,并且需要大量的 RAM. 在高维度稀疏矢量中,最好尽可能使权重正好降至 0.正好为 0 的 ...
- 转 iOS:NSAttributedString
NSAttributedString: http://blog.csdn.net/kmyhy/article/details/8895638 CTFramesetterSuggestFrameSize ...
- 字符串算法之 AC自己主动机
近期一直在学习字符串之类的算法,感觉BF算法,尽管非常easy理解,可是easy超时,全部就想学习其它的一些字符串算法来提高一下,近期学习了一下AC自己主动机.尽管感觉有所收获,可是还是有些朦胧的感觉 ...
- redhat5.8下oracle11g启动失败
# redhat5.8下oracle11g启动失败 ### 日志文件路径-----------------------------tail -f /u01/app/oracle/product/11. ...
- centos 源码安装apache 之apr、apr-util
apr 和 apr-util官网下载地址: http://apr.apache.org/download.cgi 安装顺序是先安装apr然后再安装 apr-util,因为安装apr-util需要apr ...
- shell脚本中多命令单行执行_转
多命令一起执行 如果希望把几个命令合在一起执行, shell提供了两种方法.既可以在当前shell也可以在子shell中执行一组命令. 对{}和()而言, 括号中的重定向符只影响该条命令, 而括号外的 ...
- github桌面工具commit不了解决
这样发现github上还是空文件, 因为要重新添加过 1. git add -A 添加所有文件 2. git commit -m "xxx" 3. git push -u ...