阿里云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 [email protected]‘%‘ 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.出于同步链路自身稳定性的需要,灾备实例仅支持创建只读权限的帐号不支持备份设置、备份恢复、数据迁移、数据库管理、申请外网访问地址、修改连接地址功能
时间: 2024-12-14 03:55:40

阿里云RDS上的一些概念性记录的相关文章

重磅干货免费下载!阿里云RDS团队论文被数据库顶会SIGMOD 2018收录

ACM SIGMOD数据管理国际会议是由美国计算机协会(ACM) 数据管理专业委员会(SIGMOD)发起.在数据库领域具有最高学术地位的国际性学术会议. SIGMOD和另外两大数据库会议VLDB.ICDE构成了数据库领域的三个顶级会议.相对而言,SIGMOD比另外两个会议的含金量更高,被录取的难度更大.ACM SIGMOD的论文录取率是很低的,平均录取率大约仅为15%-17%. 来自阿里云RDS团队的论文"TcpRT: Instrument and Diagnostic Analysis Sys

阿里云RDS与ECS自建库搭建主从复制

前言 最近尝试在阿里云RDS与ECS自建库之间搭建主从复制,主要是想用于备份数据,所以对于同步一致性要求不是很高.模拟了几次,遇到的一些坑记录在这里,使用的是基于GTID的主从服务,关于GTID: MySQL GTID是在传统的mysql主从复制的基础之上演化而来的产物,即通过UUID加上事务ID的方式来确保每一个事物的唯一性.这样的操作方式使得我们不再需要关心所谓的log_file和log_Pos,只是简单的告诉从库,从哪个服务器上去找主库就OK了.简化了主从的搭建以及failover的过程,

阿里云RDS数据备份本地恢复

公司现在用的阿里云数据库,阿里云上虽然对RDS数据库有备份,也只能免费保存一个月,所以大部分情况需要把备份下载到本地,但是如何在本地恢复可真是话费了一番功夫.先分享如下: 公司目前使用的数据库是阿里云的RDS,目前RDS的版本为mysql5.6.如下: 现在要求把RDS的数据,在公司内部本地进行恢复. 操作系统:Centos7 数据库:mysql5.6 一.安装mysql数据库 在进行RDS本地恢复数据之前,我们需要先在本地服务器上安装mysql的5.6版本,因为RDS是5.6版本,所以我们本地

基于阿里云RDS创建ECS自建从库

使用阿里云ECS自建RDS MySQL从库 友情提示:安装MySQL软件步骤本文暂不介绍,安装完MySQL无需着急初始化数据库和启动服务.只需确保安装的MySQL版本不低于阿里云RDS MySQL版本,同时提前新建运行MySQL服务的mysql系统用户.出于安全,部分内容已打马赛克.采用何种模式做主从由RDS MySQL版本决定.本文主要使用RDS MySQL 5.6版作为样例说明,使用新的GTID模式做主从.5.5版配置主从更加简单,前15步操作一样,没有16.17步操作,18步使用binlo

阿里云服务器上架设apache php mysql 环境

由于朋友一公司要做企业站,于是就买了阿里云的服务器.买完进去发现iptables 和selinux默认就是关掉的,可能是因为阿里云有云盾就可以不用自带的防火墙吧,具体配置过程如下(我边配边记录的): 1,生成yum 缓存: yum makecache 速度蛮不错,生成蛮快 2,安装apache,centos 封装apache为httpd了,直接安装就可以 yum install httpd 安装完后,开机默认启动该服务 chkconfig httpd on 现在启动服务 service http

关于阿里云ESC上go语言项目编译6l: running gcc failed: Cannot allocate memory

前段时间将自己的阿里云服务器上的系统由centos 6.5换为了ubuntu 14,其他的硬件配置都没有发生改变,将服务器上的数据恢复并且重新安装了golang的编译环境后,发现使用go build编译稍微大一点的golang项目就会报错: /usr/local/go/pkg/tool/linux_amd64/6l: running gcc failed: Cannot allocate memory 一直想不通为啥换了个系统就会报这个错,字面意思是gcc分配内存失败,应该是内存不够用,机器配置

专访阿里云RDS团队:WebScaleSQL是一个怎么样的数据库?

2015年1月20日,Facebook宣布阿里巴巴旗下的阿里云RDS团队正式加入WebScaleSQL.WebScaleSQL是Facebook. Google.Twitter和Linkedin四家公司的MySQL团队发起的MySQL开源组织,旨在改进MySQL在规模和性能等方面的问题.阿里云RDS团队有专门的源码小组负责MySQL源码级别的改进,他们也经常活跃在MySQL社区中,此次受邀加入WebScaleSQL组织也是对他们工作的肯定和认可.近日,InfoQ编辑采访了RDS团队的负责人褚霸,

阿里云ECS上APP访问异常或超时

App访问ECS连接超时或访问慢: 具体情况描述: 1.Android.iOS两个版本的App,Android访问部署阿里云ECS上的API经常出现超时和访问慢的情况 2.访问阿里云ECS上的Android API超时问题和访问慢的情况,主要出现在通过公司WiFi网络访问时出现: 3. 在别的地方或者APP用户通过WiFi访问阿里云ECS上的Android API时,访问正常: 4.当Android访问API超时和访问慢的时候,马上关闭Wifi切换到手机数据网络,访问正常; 原因: 导致请求阿里

PgSQL · 应用案例 · 阿里云 RDS PostgreSQL 高并发特性 vs 社区版本

摘要: 背景 进程模型数据库,需要为每个会话指派独立的进程与之服务,在连接数非常多,且大都是活跃连接时,进程调度浪费或引入的开销甚至远远大于实际任务需要的开销(例如上下文切换,MEMCPY等),性能下降会较为严重. 背景 进程模型数据库,需要为每个会话指派独立的进程与之服务,在连接数非常多,且大都是活跃连接时,进程调度浪费或引入的开销甚至远远大于实际任务需要的开销(例如上下文切换,MEMCPY等),性能下降会较为严重. PostgreSQL与Oracle Dedicate Server一样,属于