本文介绍如何通过AnalyticDB for MySQL映射表和INSERT INTO将AnalyticDB for MySQL中的数据导出到云数据库RDS MySQL 版(Relational Database Service,简称RDS)中。
说明:本文中的MySQL数据库可以是RDS for MySQL数据库,或者ECS自建MySQL数据库。
前提条件
-
根据RDS for MySQL快速入门,完成实例创建、设置白名单、创建账号和数据库、创建表操作。
注意:RDS for MySQL与AnalyticDB for MySQL必须在同一个VPC下,AnalyticDB for MySQL将通过RDS for MySQL的VPC地址访问RDS for MySQL。
本示例在RDS for MySQL的
test_adb
数据库中创建courses
表,用于存储从AanlyticDB for MySQL中导出的数据。CREATE TABLE courses (
id bigint NOT NULL,
name varchar(32) NOT NULL,
grade varchar(32) NOT NULL,
submission_date timestamp NOT NULL,
PRIMARY KEY (id)
)
-
根据AnalyticDB for MySQL快速入门,完成创建实例、设置白名单、创建账号和数据库等准备工作。
本示例将AnalyticDB for MySQL的
adb_demo
数据库中的courses
表数据导出到RDS for MySQL的test_adb
数据库中的courses
表。Create Table courses (
id bigint AUTO_INCREMENT,
name varchar NOT NULL,
grade varchar DEFAULT '三年级',
submission_date timestamp
) DISTRIBUTE BY HASH(id)
insert into courses (name,submission_date) values("Jams",NOW());
实施步骤
-
连接AnalyticDB for MySQL,进入目标数据库。
-
通过CREATE TABLE,在AnalyticDB for MySQL的
adb_demo
数据库中创建外部映射表courses_external_table
。CREATE TABLE IF NOT EXISTS courses_external_table(
id bigint NOT NULL,
name varchar(32) NOT NULL,
grade varchar(32) NOT NULL,
submission_date timestamp NOT NULL,
PRIMARY KEY (id)
)
ENGINE='mysql'
TABLE_PROPERTIES='{
"url":"jdbc:mysql://mysql-vpc-address:3306/test_adb",
"tablename":"courses",
"username":"mysql-user-name",
"password":"mysql-user-password"
}'
参数 说明 ENGINE=’mysql’ 表示该表是外部表,使用的存储引擎是MySQL。 TABLE_PROPERTIES 用于告知AnalyticDB for MySQL如何访问RDS for MySQL中的数据。 url RDS for MySQL中的内网地址,即VPC连接地址。 地址格式为:
"jdbc:mysql://mysql-vpc-address:3306/rds-database-name"
。注意:目前仅支持AnalyticDB for MySQL通过RDS for MySQL的VPC地址访问RDS for MySQL。
登录RDS控制台,在实例基本信息页面查看内网地址。
tablename RDS for MySQL中的源表,本示例为 courses
表。username RDS for MySQL中访问 test_adb
数据库的账号。password username对应的密码。 -
执行INSERT语句将AnalyticDB for MySQL数据导出到RDS for MySQL。
insert into courses_external_table
select * from courses;
原创文章,作者:网友投稿,如若转载,请注明出处:https://www.cloudads.cn/archives/34109.html