Uso de CDM para migrar datos de MySQL a un clúster de DWS
Esta sección describe cómo usar Cloud Data Migration (CDM) para migrar datos de MySQL a clústeres de DWS por lotes.
Esta sección contiene las siguientes partes:
- Verificación de datos antes de la migración
- Creación de un clúster de DWS
- Creación de un clúster de CDM
- Creación de una conexión
- Creación y migración de un trabajo
- Verificación de la consistencia de los datos después de la migración
Descripción del escenario
CDM puede migrar la base de datos de MySQL en la nube o local con la base completa o una sola tabla. La migración de una base de datos de MySQL local se utiliza como ejemplo.
- Migración de datos de MySQL local:
CDM accede a la base de datos de MySQL con la dirección IP pública. CDM y DWS están en la misma VPC. CDM establece conexiones JDBC respectivamente con MySQL y DWS.
- Migración de datos de RDS for MySQL en la nube:
RDS, CDM y DWS están en la misma VPC. CDM establece conexiones JDBC respectivamente con MySQL y DWS. Si RDS en la nube y DWS no están en la misma VPC, CDM utiliza la EIP para acceder a RDS.
Verificación de datos antes de la migración
- Conéctese a la instancia de base de datos de MySQL y verifique el estado de la base de datos de MySQL.
mysql -h <host>-P<port>-u <userName>-p--ssl-ca=<caDIR>
Tabla 1 Descripción de parámetros Parámetro
Descripción
<host>
Dirección para conectarse a la base de datos de MySQL.
<port>
Puerto de la base de datos. De forma predeterminada, el valor es 3306.
<userName>
Cuenta de administrador de MySQL. El valor predeterminado es root.
<caDIR>
Ruta del certificado de CA. El archivo debe almacenarse en la ruta donde se ejecuta el comando.
Ingrese la contraseña de la cuenta de la base de datos según se le solicite:
1Enter password:
- Analice el nombre y el código de las bases de datos que se van a migrar, así como el nombre y los atributos de las tablas que se van a migrar.
Por ejemplo, las bases de datos de MySQL de destino que se van a migrar son test01, test02 y el formato de codificación. La biblioteca test01 contiene las tablas orders, persons y persons_b y el persons_beijing view. La biblioteca test02 contiene las tablas persons_c table.
- Consulte el nombre de la base de datos.
1show databases;

- Consulte el código de la base de datos.
1 2
use <databasename>; status;
Figura 2 Consulte el código de la base de datos 1
Figura 3 Consulte el código de la base de datos 2
- Consulte las tablas de la base de datos.
1 2
use <databasename>; show full tables;
- La base de datos de DWS no distingue entre mayúsculas y minúsculas. Si la base de datos MySQL original contiene nombres de tablas que contienen letras mayúsculas y minúsculas o solo letras mayúsculas, por ejemplo, Table01 y TABLE01, debe cambiar los nombres de las tablas a letras minúsculas antes de la migración. De lo contrario, DWS no puede identificar las tablas después de la migración.
- Se recomienda configurar la base de datos MySQL para que no distinga entre mayúsculas y minúsculas modificando lower_case_table_names a 1 en /etc/my.cnf y reiniciando el servicio MySQL.
Figura 4 Consulta de tablas de la base de datos
Figura 5 Consulta de tablas de la base de datos
- Verifique los atributos de cada tabla para la comparación después de la migración.
1 2
use <databasename>; desc <table name>;
Figura 6 Consulta de propiedades de la tabla
- Consulte el nombre de la base de datos.
Creación de un clúster de DWS
- Para conocer cómo crear un clúster, consulte Creación de un clúster. Puede seleccionar la región CN-Hong Kong
Asegúrese de que el clúster de DWS y el clúster de CDM estén en la misma región y VPC.
- Conéctese a un clúster consultando Uso del cliente de CLI gsql para conectarse a un clúster.
- Cree las bases de datos de destino test01 y test02 en Verificación de datos antes de la migración con el mismo nombre y código de base de datos que la base de datos MySQL original.
1 2
create database test01 with encoding 'UTF-8' dbcompatibility 'mysql' template template0; create database test02 with encoding 'UTF-8' dbcompatibility 'mysql' template template0;
Creación de un clúster de CDM
- Inicie sesión en la consola de CDM.
- Haga clic en Buy CDM Cluster y configure los siguientes parámetros:
Tabla 2 Parámetros del clúster de CDM Parámetro
Valor
Region
Seleccione la región CN-Hong Kong, que está en la misma ubicación que DWS.
AZ
AZ1 (Si los recursos deseados están agotados en la AZ actual, cambie la AZ e inténtelo de nuevo).
Name
CDM-demo
Instance Type
cdm.large (Seleccione otras variantes si la variante está agotada).
VPC
demo-vpc, que está en la misma ubicación que DWS.
Subnet
subnet-f377(10.1.0.0/24) (ejemplo)
Security Group
-
Enterprise Project
predeterminado
- Haga clic en Buy Now, confirme todos los parámetros y haga clic en Submit.
- Vuelva a la página Cluster Management. La creación de clústeres tarda unos 5 minutos. Una vez creado el clúster, haga clic en Bind EIP en la columna Operation del clúster.
- Seleccione una EIP disponible y haga clic en OK. Si no hay EIP disponible, cambie a la página de EIP para comprar una EIP.
Creación de una conexión
- Cuando cree una conexión de MySQL por primera vez, cargue un controlador.
- Acceda al controlador MySQL y descargue la versión 5.1.48. Figura 7 Descarga de un controlador
- Descargue el paquete en el host local y descomprímalo para obtener mysql-connector-java-xxx.jar.
- En la página Cluster Management, haga clic en Job Management en la columna Operation del clúster y seleccione Links > Driver Management.
- Haga clic en Upload a la derecha de MySQL, seleccione mysql-connector-java-xxx.jar y haga clic en Upload.
- Acceda al controlador MySQL y descargue la versión 5.1.48.
- Cree una conexión de MySQL.
- En la página Cluster Management, haga clic en Job Management en la columna Operation del clúster y seleccione Links > Create Link.
- Seleccione MySQL y haga clic en Next. (Si el RDS se despliega en la nube, seleccione RDS for MySQL.)
- Ingrese la información de conexión según Tabla 3 y haga clic en Test. Si la prueba se realiza correctamente, haga clic en Save.
Si la prueba falla, verifique si CDM se conecta a la base de datos MySQL usando la dirección IP pública. Si se utiliza la dirección IP pública, vincule la dirección IP pública consultando 4.
Tabla 3 Información de conexión de MySQL Parámetro
Valor
Name
MySQL
Database Server
192.168.1.100 (Este es un ejemplo, ingrese la dirección IP pública real de la base de datos MySQL local. Asegúrese de que el permiso de acceso de la lista blanca se haya habilitado en el servidor MySQL).
Port
3306
Database Name
test01
User
root
Password
Contraseña del usuario root.
Use Local API
No
Use Agent
No
- Cree un enlace de DWS.
- En la página Cluster Management, haga clic en Job Management en la columna Operation del clúster y seleccione Links > Create Link.
- Seleccione Data Warehouse Service y haga clic en Next.
- Ingrese la información de conexión según Tabla 4 y haga clic en Test. Si la prueba se realiza correctamente, haga clic en Save.
Tabla 4 Información de conexión de DWS Parámetro
Valor
Name
DWS-test01
Database Server
Haga clic en Select y seleccione el clúster de DWS que se conectará de la lista de clústeres.
NOTA:El sistema muestra automáticamente los clústeres de DWS en la misma región y VPC. Si no hay ningún clúster de DWS disponible, ingrese manualmente la dirección IP del clúster de DWS que se ha conectado a la red.
Port
8000
Database Name
test01 (Asegúrese de que la base de datos correspondiente se haya creado manualmente en DWS consultando 3.)
Username
dbadmin
Password
Contraseña del usuario dbadmin
Use Agent
No
- Repita 3.a a 3.c para crear el enlace DWS-test02.
Creación y migración de un trabajo
- En la página Cluster Management, haga clic en Job Management en la columna Operation del clúster y elija Entire DB Migration > Create Job.
- Configure los siguientes parámetros y haga clic en 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
- Conservar el valor predeterminado para otras configuraciones.
Figura 8 Configuración de un trabajo
- Seleccione todas las tablas, haga clic en
y haga clic en Next. - Conservar las configuraciones predeterminadas y hacer clic en Save and Run.
- Verifique el estado de ejecución del trabajo. Si el estado es Succeeded, la migración se realizó correctamente. Figura 9 Consulta del estado de ejecución del trabajo
- Repita los pasos 1 a 5 para migrar todas las tablas de la base de datos test02.
Al crear un trabajo, seleccione test02 para la base de datos de DWS del origen de destino.
Verificación de la consistencia de los datos después de la migración
- Utilice gsql para conectarse al clúster de test01 de DWS.
gsql -d test01 -h dirección IP del host -p 8000 -U dbadmin -W contraseña del usuario de la base de datos -r;
- Consulte las tablas de la base de datos test01.
1select * from pg_tables where schemaname= 'public';
Figura 10 Consulte las tablas de la base de datos test01.
- Verifique si los datos de cada tabla están completos y si las columnas están completas.
1 2
select count(*) from table name; \d+ table name;
Figura 11 Consulta de campos de tabla
Figura 12 Consulta de datos de tabla
- Realice una comprobación de muestreo para verificar los datos de la tabla.
1select * from persons where city = 'Beijing' order by id_p;
Figura 13 Verificación de datos de tabla
- Repita los pasos 2 a 4 para verificar si los datos de otras bases de datos y tablas son correctos.