- 计算
- 网络
- 存储与CDN
-
数据库
-
云数据库 RDS MySQL
- 产品概述
- 产品定价
- 快速入门
- 操作手册
- 案例实践
- API文档
-
常见问题
- 如何访问MySQL实例?
- MySQL实例的安全性如何?
- 如何向MySQL实例中导入数据?
- 如何向MySQL实例中导出数据?
- 如何创建新用户并授予权限?
- QPS是如何统计的?
- 什么是内存溢出?
- 默认的最大连接数是多少?
- 如何查看数据库运行状态?
- 如何查看MySQL实例的SlowLog?
- 如何修改MySQL实例的配置参数?
- 如何安装和卸载插件?
- 如何使用MySQL-Proxy使MySQL实例可以通过外网访问?
- 何查看MySQL实例的各项监控指标?
- 是否可以查看云数据库运行状态?
- 默认的配置是针对哪种存储引擎优化的?
- 如何在云主机上搭建云数据库从库并进行主从同步呢?
- 如何正确设置字符集?
- 如何查询MySQL实例的客户端和服务器端版本
- 相关协议
- 云数据库 RDS PostgreSQL
- 云数据库 Redis
- 云数据库 MongoDB
- 分布式数据库 InDDB
- 云数据库 Memcache
-
云数据库 RDS MySQL
- 安全
- 人工智能
-
大数据
- ES服务 Elasticsearch
- 数据仓库 DW
- 托管Hadoop
- 管理和监控
-
API
-
对象存储OSS
- 创建Bucket-CreateBucket
- 获取Bucket信息-DescribeBucket
- 更改Bucket属性-UpdateBucket
- 删除Bucket-DeleteBucket
- 前缀列表查询 – PrefixFileList
- 上传文件 – PutFile
- 表单上传 – PostFile
- 秒传文件-UploadHit
- 下载文件-GetFile
- 查询文件基本信息-HEADFile
- 删除文件 – DeleteFile
- 初始化分片 – InitiateMultipartUpload
- 上传分片 – UploadPart
- 完成分片 – FinishMultipartUpload
- 放弃分片 – AbortMultipartUpload
- 查看配额状态-GetUFileQuota
- 查询配额支付价格-GetUFileQuotaPrice
- 查看配额使用报表-GetUFileReport
- 获取配额信息-GetUFileQuotaInfo
- 获取已上传成功的分片列表-GetMultiUploadPart
- 更新令牌-UpdateUFileToken
- 删除令牌-DeleteUFileToken
- 获取令牌信息-DescribeUFileToken
- OSS 错误码列表
- 操作文件的Meta信息 – OpMeta
- API文档综述
-
弹性公网IP EIP
- 1、申请弹性IP-AllocateEIP
- 2、获取弹性IP信息-DescribeEIP
- 3、更新弹性IP属性-UpdateEIPAttribute
- 4、释放弹性IP-ReleaseEIP
- 5、绑定弹性IP-BindEIP
- 6、解绑弹性IP-UnBindEIP
- 7、调整弹性IP带宽-ModifyEIPBandwidth
- 8. 修改弹性IP出口权重-ModifyEIPWeight
- 9. 获取弹性IP价格-GetEIPPrice
- 10. 获取弹性IP带宽改动价格-GetEIPUpgradePrice
- 11. 获取弹性IP计费方式-GetEIPPayMode
- 12. 设置弹性IP计费方式-SetEIPPayMode
- 13. 申请内网虚拟IP-AllocateVIP
- 14. 获取内网虚拟IP信息-DescribeVIP
- 15. 释放内网虚拟IP- ReleaseVIP
- 16. 创建带宽包-CreateBandwidthPackage
- 17. 获取带宽包信息-DescribeBandwidthPackage
- 18. 删除带宽包-DeleteBandwidthPackage
- 19. 开通共享带宽-AllocateShareBandwidth
- 20. 获取共享带宽信息-DescribeShareBandwidth
- 21. 调整共享带宽-ResizeShareBandwidth
- 22. 关闭共享带宽-ReleaseShareBandwidth
- 23. 将EIP加入共享带宽-AssociateEIPWithShareBandwidth
- 24. 将EIP移出共享带宽-DisassociateEIPWithShareBandwidth
- 25. 获取带宽用量-DescribeBandwidthUsage
- 26. 更新防火墙属性-UpdateFirewallAttribute
- 27. 获取防火墙信息-DescribeFirewall
- 28. 应用防火墙-GrantFirewall
- 29. 错误码
-
云服务器ECS
- 1、获取VNC登录信息-GetUHostInstanceVncInfo
- 2、启动云服务器-StartUHostInstance
- 3、重启云服务器-RebootUHostInstance
- 4、关闭云服务器-StopUHostInstance
- 5、获取云服务器业务组列表-DescribeUHostTags
- 6、字段规范
- 7、删除云服务器-TerminateUHostInstance
- 8、重置云服务器密码-ResetUHostInstancePassword
- 9、修改云服务器业务组-ModifyUHostInstanceTag
- 10、修改云服务器名-ModifyUHostInstanceName
- 11、获取挂载磁盘的升级价格-GetAttachedDiskUpgradePrice
- 12、修改云服务器配置-ResizeUHostInstance
- 13、获取升级配置价格-GetUHostUpgradePrice
- 14、创建云服务器-CreateUHostInstance
- 15、移除硬件隔离组-LeaveIsolationGroup
- 16、创建硬件隔离组-CreateIsolationGroup
- 17、删除自制镜像-TerminateCustomImage
- 18、创建自制镜像-CreateCustomImage
- 19、导入镜像-ImportCustomImage
- 20、修改云服务器备注-ModifyUHostInstanceRemark
- 21、修改挂载的磁盘大小-ResizeAttachedDisk
- 22、模拟服务器掉电-PoweroffUHostInstance
- 23、重装系统-ReinstallUHostInstance
- 24、获取镜像列表-DescribeImage
- 25、获取云服务器价格-GetUHostInstancePrice
- 26、获取云服务器信息-DescribeUHostInstance
- 27、普通机型开启CDP-UpgradeToArkUHostInstance
-
对象存储OSS
- 用户提醒
- 服务等级协议(SLA)
- 企业上云常见问题
- 其他协议
- 云市场
- 开发者
- 账户管理
-
可以通过一条命令, 将InDDB作为RDS或者自建MySQL的从库, 挂载到源数据库实例(RDS/自建MySQL)后方。 挂载后,InDDB能够和源数据库保持准实时同步。
通过这种方式, 客户可以将InDDB,作为源数据库的备份。 在必要的时候,可以将业务的数据库访问IP切换到InDDB,即可完成业务数据库的切换。
同时, 数据迁移的粒度,是可以调节的。 客户可以选择将一个库,或者若干个库的数据,全部同步到InDDB; 也可以只选择将某几张表的数据, 同步到InDDB。
具体的步骤如下:
1. 在InDDB下面创建需要迁移的库表
客户在InDDB下面, 创建需要从源数据库迁移到InDDB的库和表。 源数据库中, 有在InDDB中创建的库和表,才会被迁移和同步, 如果库表没有在InDDB中创建,则不会迁移到InDDB。
在InDDB中创建的库表,需要保证库表名、字段名、字段类型和源数据库一致。但是InDDB中的表,可以做水平拆分。对于在InDDB做了水平拆分的表, 将数据从原始数据库迁移到RDS时, 由InDDB保证数据能够按照拆分规则,被正确写入到InDDB。
2. 启动数据迁移和同步
在InDDB中创建好要迁移的库和表之后,通过以下命令, 即可启动数据的迁移和同步:
create udb_import_task(src_udb_addr:"10.13.110.26:3306",src_udb_user:"root",src_udb_passwd:"liuly624@cloud",import_dbs:"import1,import2",notes:"1st create trans task in bjd");其中: src_udb_addr : 源数据库的地址,可以为UDB地址,也可以为自建MySQL地址 src_udb_user: 源数据库的用户名, 目前必须为root。 如果需要其他用户名,请联系InDDB技术支持 src_udb_passwd: 用户密码import_dbs: 需要迁移的库, 多个库之间用,号分隔。
1、 InDDB收到该命令后,会首先连接源数据库实例, 检查InDDB中的库表,是否已经在源数据库中存在,如果不存在会报错;
2、 库表存在性检查通过后,InDDB内部将开启数据迁移和同步进程,从源数据库中将数据迁移到InDDB,并通过binlog watch 机制, 保证源数据库实例中的数据发生变更后,InDDB能够感知并将变更后的数据同步到InDDB。
可以通过show udb_import_task命令, 来查看数据迁移和同步进程:
ysql> show udb_import_task\G;*************************** 1. row ***************************src_udb_addr: 10.13.110.26:3306import_dbs: import1,import2create_time: 1495369094modify_time: 1495369313status: 1log_file: mysql-bin.000495file_pos: 5614total_sync_num: 42have_data_num: 22no_data_num: 20notes: 1st create trans task in bjd其中:
status 为迁移和同步任务的状态。状态值如下:
const (UDB_IMPORT_TASK_NOTSTART = 0UDB_IMPORT_TASK_RUNNING = 1UDB_IMPORT_TASK_FAILED = 2UDB_IMPORT_TASK_DROPPING = 3UDB_IMPORT_TASK_DROPPED = 4UDB_IMPORT_TASK_ABNORMAL = 5)1、 1log_file、file_pos为InDDB目前已经读取到的, 源数据库的binlog文件和位置。 可以在源数据库通过show master status来查看源数据库目前的binglog文件和位置, 并和show udb_import_task命令输出的log_file、file_pos比对,判断InDDB中的数据,是否和源数据库一致。
2、 total_sync_num: 3秒内,InDDB数据迁移和同步进程, 从源数据库同步binlog数据的次数。
3、 have_data_num: 3秒内, 在total_sync_num次binlog同步中, 从源数据库获取到了binlog数据的次数。
4、 no_data_num: 3秒内, 在total_sync_num次binlog同步中, 从源数据库没有获取到binlog数据的次数。
3. 停止数据迁移和同步
可以通过以下命令, 终止InDDB的数据迁移和同步进程:
drop udb_import_task(src_udb_addr:"10.13.110.26:3306",src_udb_user:"root",src_udb_passwd:"liuly624@cloud",import_dbs:"import",notes:"1st create trans task in bjd");InDDB收到该命令后, 立即停止数据迁移和同步进程,并将迁移和同步任务状态改为:UDB_IMPORT_TASK_DROPPED。
4. 重新开启数据迁移和同步进程
当InDDB内部出现异常时, 数据迁移和同步进程可能终止。 此时show udb_import_task状态为5(UDB_IMPORT_TASK_ABNORMAL)。 此时, 可以通过以下命令, 重启数据迁移和同步进程:
restart udb_import_task(src_udb_addr:"10.13.110.26:3306",src_udb_user:"root",src_udb_passwd:"liuly624@cloud",import_dbs:"import",notes:"1st create trans task in bjd");5、推荐的数据迁移和业务切换流程
1、 在InDDB中,创建需要迁移的数据库和表
2、 执行create udb_import_task语句, 开启数据迁移和同步进程, 从源数据库迁移数据。
3、 每隔若干秒, 通过show udb_import_task查看迁移和同步进度, 如果每次查询的结果, 是no_data_num的值, 接近total_sync_num的值,那么说明InDDB的数据,已经接近追平源数据库的数据。 此时可以将暂停业务写入源数据库。
4、 暂停业务写入源数据库后, 通过在源数据库show master status,获取源数据库最新binlog地址,通过show udb_import_task,获取InDDB最新的binglog地址。如果两者相同,则说明InDDB和源数据库一致,此时可以将业务切换到InDDB进行写入。