หน้านี้ยังไม่พร้อมใช้งานในภาษาท้องถิ่นของคุณ เรากำลังพยายามอย่างหนักเพื่อเพิ่มเวอร์ชันภาษาอื่น ๆ เพิ่มเติม ขอบคุณสำหรับการสนับสนุนเสมอมา

Compute
Elastic Cloud Server
Huawei Cloud Flexus
Bare Metal Server
Auto Scaling
Image Management Service
Dedicated Host
FunctionGraph
Cloud Phone Host
Huawei Cloud EulerOS
Networking
Virtual Private Cloud
Elastic IP
Elastic Load Balance
NAT Gateway
Direct Connect
Virtual Private Network
VPC Endpoint
Cloud Connect
Enterprise Router
Enterprise Switch
Global Accelerator
Management & Governance
Cloud Eye
Identity and Access Management
Cloud Trace Service
Resource Formation Service
Tag Management Service
Log Tank Service
Config
OneAccess
Resource Access Manager
Simple Message Notification
Application Performance Management
Application Operations Management
Organizations
Optimization Advisor
IAM Identity Center
Cloud Operations Center
Resource Governance Center
Migration
Server Migration Service
Object Storage Migration Service
Cloud Data Migration
Migration Center
Cloud Ecosystem
KooGallery
Partner Center
User Support
My Account
Billing Center
Cost Center
Resource Center
Enterprise Management
Service Tickets
HUAWEI CLOUD (International) FAQs
ICP Filing
Support Plans
My Credentials
Customer Operation Capabilities
Partner Support Plans
Professional Services
Analytics
MapReduce Service
Data Lake Insight
CloudTable Service
Cloud Search Service
Data Lake Visualization
Data Ingestion Service
GaussDB(DWS)
DataArts Studio
Data Lake Factory
DataArts Lake Formation
IoT
IoT Device Access
Others
Product Pricing Details
System Permissions
Console Quick Start
Common FAQs
Instructions for Associating with a HUAWEI CLOUD Partner
Message Center
Security & Compliance
Security Technologies and Applications
Web Application Firewall
Host Security Service
Cloud Firewall
SecMaster
Anti-DDoS Service
Data Encryption Workshop
Database Security Service
Cloud Bastion Host
Data Security Center
Cloud Certificate Manager
Edge Security
Managed Threat Detection
Blockchain
Blockchain Service
Web3 Node Engine Service
Media Services
Media Processing Center
Video On Demand
Live
SparkRTC
MetaStudio
Storage
Object Storage Service
Elastic Volume Service
Cloud Backup and Recovery
Storage Disaster Recovery Service
Scalable File Service Turbo
Scalable File Service
Volume Backup Service
Cloud Server Backup Service
Data Express Service
Dedicated Distributed Storage Service
Containers
Cloud Container Engine
SoftWare Repository for Container
Application Service Mesh
Ubiquitous Cloud Native Service
Cloud Container Instance
Databases
Relational Database Service
Document Database Service
Data Admin Service
Data Replication Service
GeminiDB
GaussDB
Distributed Database Middleware
Database and Application Migration UGO
TaurusDB
Middleware
Distributed Cache Service
API Gateway
Distributed Message Service for Kafka
Distributed Message Service for RabbitMQ
Distributed Message Service for RocketMQ
Cloud Service Engine
Multi-Site High Availability Service
EventGrid
Dedicated Cloud
Dedicated Computing Cluster
Business Applications
Workspace
ROMA Connect
Message & SMS
Domain Name Service
Edge Data Center Management
Meeting
AI
Face Recognition Service
Graph Engine Service
Content Moderation
Image Recognition
Optical Character Recognition
ModelArts
ImageSearch
Conversational Bot Service
Speech Interaction Service
Huawei HiLens
Video Intelligent Analysis Service
Developer Tools
SDK Developer Guide
API Request Signing Guide
Terraform
Koo Command Line Interface
Content Delivery & Edge Computing
Content Delivery Network
Intelligent EdgeFabric
CloudPond
Intelligent EdgeCloud
Solutions
SAP Cloud
High Performance Computing
Developer Services
ServiceStage
CodeArts
CodeArts PerfTest
CodeArts Req
CodeArts Pipeline
CodeArts Build
CodeArts Deploy
CodeArts Artifact
CodeArts TestPlan
CodeArts Check
CodeArts Repo
Cloud Application Engine
MacroVerse aPaaS
KooMessage
KooPhone
KooDrive
Help Center/ GaussDB(DWS)/ Best Practices/ Data Migration/ Using CDM to Migrate MySQL Data to a GaussDB(DWS) Cluster

Using CDM to Migrate MySQL Data to a GaussDB(DWS) Cluster

Updated on 2024-10-29 GMT+08:00

This section describes how to use Cloud Data Migration (CDM) to migrate MySQL data to GaussDB(DWS) clusters in batches.

This section contains the following parts:

  1. Checking Data Before Migration
  2. Creating a GaussDB(DWS) Cluster
  3. Creating a CDM cluster
  4. Creating a Connection
  5. Creating and Migrating a Job
  6. Verifying Data Consistency After Migration

Scenario Description

Figure 1 Migration

CDM can migrate an entire cloud/on-premises MySQL database or a single table. The migration of an on-premises MySQL database is used as an example.

  • On-premises MySQL data migration:

    CDM accesses the MySQL database through the public IP address. CDM and GaussDB(DWS) are in the same VPC. CDM establishes JDBC connections respectively with MySQL and GaussDB(DWS).

  • Cloud RDS MySQL data migration:

    RDS, CDM, and GaussDB(DWS) are in the same VPC. CDM establishes JDBC connections respectively with MySQL and GaussDB(DWS). If cloud RDS and GaussDB(DWS) are not in the same VPC, CDM uses the EIP to access RDS.

Checking Data Before Migration

  1. Connect to the MySQL DB instance and check the MySQL database status.

    mysql -h <host>-P<port>-u <userName>-p--ssl-ca=<caDIR>

    Table 1 Parameter description

    Parameter

    Description

    <host>

    Address for connecting to the MySQL database.

    <port>

    Database port. By default, the value is 3306.

    <userName>

    MySQL administrator account. The default value is root.

    <caDIR>

    Path of the CA certificate. The file must be stored in the path where the command is executed.

    Enter the password of the database account as prompted:

    1
    Enter password:
    

  2. Analyze the name and code of the databases to be migrated, and the name and attributes of the tables to be migrated.

    For example, the destination MySQL databases to be migrated are test01, test02, and the encoding format. The test01 library contains the orders, persons, and persons_b tables and the persons_beijing view. The test02 library contains the persons_c table.

    1. Query the database name.
      1
      show databases;
      

    2. Query the database code.
      1
      2
      use <databasename>; 
      status; 
      
      Figure 2 Query database code 1
      Figure 3 Query database code 2
    3. Query database tables.
      1
      2
      use <databasename>; 
      show full tables;   
      
      NOTICE:
      • The GaussDB(DWS) database is case-insensitive. If the original MySQL database contains table names that contain both uppercase and lowercase letters or only uppercase letters, for example, Table01 and TABLE01, you need to change the table names to lowercase letters before the migration. Otherwise, GaussDB(DWS) cannot identify the tables after migration.
      • You are advised to set the MySQL database to be case-insensitive by modifying lower_case_table_names to 1 in /etc/my.cnf and restarting the MySQL service.
      Figure 4 Querying database tables
      Figure 5 Querying database tables
    4. Check the attributes of each table for comparison after the migration.
      1
      2
      use <databasename>; 
      desc <table name>;
      
      Figure 6 Viewing table properties

Creating a GaussDB(DWS) Cluster

  1. For how to create a cluster, see Creating a Cluster. You can select the CN-Hong Kong region

    NOTE:

    Ensure that the GaussDB(DWS) cluster and CDM cluster are in the same region and VPC.

  2. Connect to a cluster by referring to Using the gsql CLI Client to Connect to a Cluster.
  3. Create the target databases test01 and test02 in Checking Data Before Migration with the same name and database code as the original MySQL database.

    1
    2
    create database test01 with encoding 'UTF-8' dbcompatibility 'mysql' template template0; 
    create database test02 with encoding 'UTF-8' dbcompatibility 'mysql' template template0; 
    

Creating a CDM cluster

  1. Log in to the Huawei Cloud console.
  2. Choose Migration > Cloud Data Migration.
  3. Click Buy CDM Cluster and set the following parameters:

    Table 2 CDM cluster parameters

    Parameter

    Value

    Region

    Select the CN-Hong Kong region, which is in the same location as GaussDB (DWS).

    AZ

    AZ1 (If the desired resources are sold out in the current AZ, change the AZ and try again.)

    Name

    CDM-demo

    Instance Type

    cdm.large (Select other flavors if the flavor is sold out.)

    VPC

    demo-vpc, which is in the same location as GaussDB (DWS).

    Subnet

    subnet-f377(10.1.0.0/24) (example)

    Security Group

    -

    Enterprise Project

    default

  4. Click Buy Now, confirm all the parameters, and click Submit.
  5. Go back to the Cluster Management page. Cluster creation takes about 5 minutes. After the cluster is created, click Bind EIP in the Operation column of the cluster.
  6. Select an available EIP and click OK. If no EIP is available, switch to the EIP page to purchase an EIP.

Creating a Connection

  1. When creating a MySQL connection for the first time, upload a driver.

    1. Access the MySQL driver and download the 5.1.48 version.
      Figure 7 Downloading a driver
    2. Download the package to the local host and decompress it to obtain mysql-connector-java-xxx.jar.
    3. On the Cluster Management page, click Job Management in the Operation column of the cluster and choose Links > Driver Management.
    4. Click Upload on the right of MySQL, select mysql-connector-java-xxx.jar, and click Upload.

  2. Create a MySQL connection.

    1. On the Cluster Management page, click Job Management in the Operation column of the cluster and choose Links > Create Link.
    2. Select MySQL and click Next. (If the RDS is deployed on the cloud, select RDS for MySQL.)
    3. Enter the connection information according to Table 3, and click Test. If the test is successful, click Save.
      NOTE:

      If the test fails, check whether CDM connects to the MySQL database using the public IP address. If the public IP address is used, bind the public IP address by referring to 5.

      Table 3 MySQL connection information

      Parameter

      Value

      Name

      MySQL

      Database Server

      192.168.1.100 (This is an example, enter the actual public IP address of the on-premises MySQL database. Ensure that the whitelist access permission has been enabled on the MySQL server.)

      Port

      3306

      Database Name

      test01

      User

      root

      Password

      Password of the user root.

      Use Local API

      No

      Use Agent

      No

  3. Create a GaussDB(DWS) link.

    1. On the Cluster Management page, click Job Management in the Operation column of the cluster and choose Links > Create Link.
    2. Select Data Warehouse Service and click Next.
    3. Enter the connection information according to Table 4, and click Test. If the test is successful, click Save.
      Table 4 GaussDB(DWS) connection information

      Parameter

      Value

      Name

      DWS-test01

      Database Server

      Click Select and select the GaussDB(DWS) cluster to be connected from the cluster list.

      NOTE:

      The system automatically displays the GaussDB(DWS) clusters in the same region and VPC. If no GaussDB(DWS) cluster is available, manually enter the IP address of the GaussDB(DWS) cluster that has been connected to the network.

      Port

      8000

      Database Name

      test01 (Ensure that the corresponding database has been manually created on GaussDB(DWS) by referring to 3.)

      Username

      dbadmin

      Password

      Password of user dbadmin

      Use Agent

      No

    4. Repeat 3.a to 3.c to create the DWS-test02 link.

Creating and Migrating a Job

  1. On the Cluster Management page, click Job Management in the Operation column of the cluster and choose Entire DB Migration > Create Job.
  2. Set the following parameters and click Next.

    • Job Name: MySQL-DWS-test01
    • Source Job Configuration:
      • Source Link Name: MySQL
    • Destination Job Configuration:
      • Destination Link Name: DWS-test01
      • Automatic Table Creation: The table is created when it does not exist.
      • isCompress: Yes
      • Orientation: COLUMN
      • Retain the default value for other settings.
    Figure 8 Configuring a Job

  3. Select all tables, click , and click Next.
  4. Retain the default settings and click Save and Run.
  5. Check the job running status. If the status is Succeeded, the migration is successful.

    Figure 9 Viewing the job running status

  6. Repeat 1 to 5 to migrate all tables in the test02 database.

    NOTICE:

    When creating a job, select test02 for the GaussDB(DWS) database of the target source.

Verifying Data Consistency After Migration

  1. Use gsql to connect to the test01 cluster of GaussDB(DWS).

    gsql -d test01 -h IP address of the host -p 8000 -U dbadmin -W Database user password -r;

  2. Query the tables in the test01 database.

    1
    select * from  pg_tables where schemaname= 'public'; 
    
    Figure 10 Query the tables in the test01 database.

  3. Check whether the data in each table is complete and whether the columns are complete.

    1
    2
    select count(*) from table name; 
    \d+ table name; 
    
    Figure 11 Querying table fields
    Figure 12 Querying table data

  4. Perform sampling check to verify table data.

    1
    select * from persons where city = 'Beijing' order by id_p;
    
    Figure 13 Verifying table data

  5. Repeat 2 to 4 to check whether the data in other databases and tables is correct.

เราใช้คุกกี้เพื่อปรับปรุงไซต์และประสบการณ์การใช้ของคุณ การเรียกดูเว็บไซต์ของเราต่อแสดงว่าคุณยอมรับนโยบายคุกกี้ของเรา เรียนรู้เพิ่มเติม

Feedback

Feedback

Feedback

0/500

Selected Content

Submit selected content with the feedback