PolarDB-X 1.0-用户指南-数据导入导出-使用mysqldump导入导出数据

本文涉及的产品
云原生数据库 PolarDB 分布式版,标准版 2核8GB
简介: PolarDB-X支持MySQL官方数据导出工具mysqldump。本文围绕PolarDB-X数据导入导出的几种常见场景对操作步骤和注意事项进行说明。mysqldump命令的详细说明请参见MySQL 官方文档。mysqldump适合小数据量(低于1000万)的离线导入导出。如果需要完成更大数据量或者实时的数据迁移任务,请参见数据传输服务。

PolarDB-X支持MySQL官方数据导出工具mysqldump。本文围绕PolarDB-X数据导入导出的几种常见场景对操作步骤和注意事项进行说明。mysqldump命令的详细说明请参见MySQL 官方文档

mysqldump适合小数据量(低于1000万)的离线导入导出。如果需要完成更大数据量或者实时的数据迁移任务,请参见数据传输服务

场景一:从MySQL导入到PolarDB-X

从MySQL导入数据到PolarDB-X,请按照以下步骤进行操作。

1.从MySQL中导出数据到文本文件。

输入以下命令,从MySQL中导出表结构和数据。假设导出文件为dump.sql。


  1. mysqldump -h ip -P port -u user -ppassword --default-character-set=char-set--net_buffer_length=10240--no-create-db --skip-add-locks --skip-lock-tables --skip-tz-utc --set-charset  [--hex-blob][--no-data] database [table1 table2 table3...]>dump.sql

参数说明如下,请根据实际情况输入:

参数名 说明 是否必选
ip PolarDB-X实例的 IP。 ✔️
port PolarDB-X实例的端口。
user PolarDB-X的用户名。 ✔️
password PolarDB-X的密码,注意前面有个-p,之间没有空格。 ✔️
char-set 指定的编码。 ✔️
--hex-blob 使用十六进制格式导出二进制字符串字段。如果有二进制数据就必须使用本选项。影响的字段类型包括BINARY、VARBINARY、BLOB。
--no-data 不导出数据。
table 指定导出某个表。默认导出该数据库所有的表。

2.修改建表语句。

从MySQL导出的数据文件包含每个表的建表语句。如果直接在在PolarDB-X上执行这些建表语句,会在PolarDB-X上建立一个单表。如果要对某个表进行分库分表,那么需要手工对建表语句进行修改,关于PolarDB-X建表语句的语法请参见CREATE TABLE语句

3.导入数据文件到PolarDB-X。您可以通过如下两种方式导入数据文件到PolarDB-X:

  • 通过mysql -h ip -P port -u user --default-character-set=char-set命令登录目标olarDB-X,执行source /yourpath/dump.sql命令将数据导入到目标PolarDB-X。
  • 直接通过mysql -h ip -P port -u user --default-character-set=char-set< /yourpath/dump.sql命令将数据导入到目标PolarDB-X。
  • 上述两个命令中default-character-set要设置成实际的数据编码。如果是Windows平台,source命令指定的文件路径需要对分隔符转义。
  • 第一种方式会把所有的步骤回显到屏幕上,速度略慢,但是可以观察导入过程。
  • 导入的时候,由于某些PolarDB-X和MySQL实现上的不同,可能会报错,错误信息类似ERROR 1231 (HY000): [a29ef6461c00000][10.117.207.130:3306][****]Variable @saved_cs_client can't be set to the value of @@character_set_client。此类错误信息并不影响导入数据的正确性。

场景二:从一个PolarDB-X导入到另一个PolarDB-X

假设您之前有一个测试环境的PolarDB-X,测试完毕以后,需要把测试过程中的一些表结构和数据导入到生产环境中的PolarDB-X中,那么可以按照以下步骤进行操作。

  1. 从源PolarDB-X中导出数据到文本文件。请参见场景一第1步。
  2. 导入数据文件到PolarDB-X。请参见场景一第3步。
  3. 手动创建Sequence对象。
    mysqldump并不会导出PolarDB-X中的Sequence对象,所以如果在源PolarDB-X中使用了Sequence对象,并且需要在目标PolarDB-X中继续使用相同的Sequence对象,则需要手动在目标PolarDB-X中创建同名的Sequence的对象。具体步骤如下:
    a. 在源PolarDB-X上执行SHOW SEQUENCES,获取当前PolarDB-X中的Sequence对象的状态。
    b. 在目标PolarDB-X数据库上通过CREATE SEQUENCE命令创建新的Sequence对象。
    Sequence命令详情请参见全局唯一数字序列

场景三:从PolarDB-X导出数据到 MySQL

从PolarDB-X导出数据到MySQL,和在PolarDB-X之间相互导入数据的过程类似,也分为以下几个步骤。

  1. 从源PolarDB-X中导出表结构和数据。请参见场景一第1步。
  2. 手动修改拆分表的DDL语句。PolarDB-X中拆分表的建表语句和MySQL并不兼容。为了后续导入到MySQL中,需手动修改导出的SQL文件,删除以下关键字:
  • DBPARTITION BY hash(partition_key):
  • TBPARTITION BY hash(partition_key):
  • TBPARTITIONS N
  • BROADCAST
  1. 例如一个拆分表语句导出如下:
  1. CREATE TABLE multi_db_single_tbl
  2. (id int,
  3. name varchar(30),
  4. primary key(id)) dbpartition by hash(id);
  1. 需修改成以下语句:
  1. CREATE TABLE multi_db_single_tbl
  2. (id int,
  3. name varchar(30),
  4. primary key(id));
  1. 导入修改以后的文件。请参见场景一第3步。
相关文章
|
9天前
|
关系型数据库 MySQL 分布式数据库
PolarDB操作报错合集之在进行批量导出数据时,如何过滤掉视图并只导出表
在使用阿里云的PolarDB(包括PolarDB-X)时,用户可能会遇到各种操作报错。下面汇总了一些常见的报错情况及其可能的原因和解决办法:1.安装PolarDB-X报错、2.PolarDB安装后无法连接、3.PolarDB-X 使用rpm安装启动卡顿、4.PolarDB执行UPDATE/INSERT报错、5.DDL操作提示“Lock conflict”、6.数据集成时联通PolarDB报错、7.编译DN报错(RockyLinux)、8.CheckStorage报错(源数据库实例被删除)、9.嵌套事务错误(TDDL-4604)。
|
5天前
|
关系型数据库 MySQL 数据库
关系型数据库mysql数据增量恢复
【7月更文挑战第3天】
16 2
|
5天前
|
关系型数据库 MySQL Shell
关系型数据库mysql数据完全恢复
【7月更文挑战第3天】
13 2
|
6天前
|
存储 关系型数据库 MySQL
|
11天前
|
关系型数据库 MySQL 分布式数据库
PolarDB产品使用问题之从MySQL迁移数据到PolarDB-X时,自定义函数不会自动迁移,该怎么办
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
11天前
|
关系型数据库 MySQL 分布式数据库
PolarDB产品使用问题之要验证MySQL迁移后的数据库数据与迁移前的数据一致性,该怎么办
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
PolarDB产品使用问题之要验证MySQL迁移后的数据库数据与迁移前的数据一致性,该怎么办
|
11天前
|
canal 关系型数据库 分布式数据库
PolarDB产品使用问题之对于PostgreSQL的导出,有哪些要注意的
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
11天前
|
运维 关系型数据库 MySQL
PolarDB产品使用问题之迁移到从polardb mysql的数据空间里是否需要修改数据源地址
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
11天前
|
关系型数据库 分布式数据库 数据库
PolarDB产品使用问题之迁移后数据库数据不同步是什么导致的
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
13天前
|
NoSQL Java 关系型数据库
非关系型数据库NoSQL数据层解决方案 之 Mongodb 简介 下载安装 springboot整合与读写操作
非关系型数据库NoSQL数据层解决方案 之 Mongodb 简介 下载安装 springboot整合与读写操作
34 0

热门文章

最新文章

相关产品

  • 云原生分布式数据库 PolarDB-X