Saltar al contenido principal
Esta página explica cómo usar el motor de tabla MySQL para leer desde una tabla de MySQL.
Para ClickHouse Cloud, también puede usar ClickPipe para MySQL (actualmente en beta pública) para mover fácilmente datos desde sus tablas de MySQL a ClickHouse.

Conectar ClickHouse con MySQL mediante el motor de tabla MySQL

El motor de tabla MySQL le permite conectar ClickHouse con MySQL. Las sentencias SELECT e INSERT pueden ejecutarse tanto en ClickHouse como en la tabla de MySQL. Este artículo muestra las formas básicas de usar el motor de tabla MySQL.

1. Configurar MySQL

  1. Crea una base de datos en MySQL:
  CREATE DATABASE db1;
  1. Cree una tabla:
  CREATE TABLE db1.table1 (
    id INT,
    column1 VARCHAR(255)
  );
  1. Inserte algunas filas de ejemplo:
  INSERT INTO db1.table1
    (id, column1)
  VALUES
    (1, 'abc'),
    (2, 'def'),
    (3, 'ghi');
  1. Cree un usuario para conectarse desde ClickHouse:
  CREATE USER 'mysql_clickhouse'@'%' IDENTIFIED BY 'Password123!';
  1. Otorgue los privilegios necesarios. (Con fines de demostración, se otorgan privilegios de administrador al usuario mysql_clickhouse.)
  GRANT ALL PRIVILEGES ON *.* TO 'mysql_clickhouse'@'%';
Si utiliza esta función en ClickHouse Cloud, puede que necesite permitir que las direcciones IP de ClickHouse Cloud accedan a su instancia de MySQL. Consulte la API de Cloud Endpoints de ClickHouse para obtener detalles sobre el tráfico de salida.

2. Definir una tabla en ClickHouse

  1. Ahora vamos a crear una tabla en ClickHouse que use el motor de tabla MySQL:
  CREATE TABLE mysql_table1 (
    id UInt64,
    column1 String
  )
  ENGINE = MySQL('mysql-host.domain.com','db1','table1','mysql_clickhouse','Password123!')
Los parámetros mínimos son:
parámetrodescripciónejemplo
hostnombre de host o IPmysql-host.domain.com
databasenombre de la base de datos de MySQLdb1
tablenombre de la tabla de MySQLtable1
usernombre de usuario para conectarse a MySQLmysql_clickhouse
passwordcontraseña para conectarse a MySQLPassword123!
Consulta la página de documentación de motor de tabla MySQL para ver la lista completa de parámetros.

3. Pruebe la integración

  1. En MySQL, inserte una fila de muestra:
  INSERT INTO db1.table1
    (id, column1)
  VALUES
    (4, 'jkl');
  1. Observe que las filas existentes de la tabla de MySQL están en la tabla de ClickHouse, junto con la nueva fila que acaba de añadir:
  SELECT
      id,
      column1
  FROM mysql_table1
Deberías ver 4 filas:
  Query id: 6d590083-841e-4e95-8715-ef37d3e95197

  ┌─id─┬─column1─┐
  │  1 │ abc     │
  │  2 │ def     │
  │  3 │ ghi     │
  │  4 │ jkl     │
  └────┴─────────┘

  4 rows in set. Elapsed: 0.044 sec.
  1. Añadamos una fila a la tabla de ClickHouse:
  INSERT INTO mysql_table1
    (id, column1)
  VALUES
    (5,'mno')
  1. Observa que la nueva fila aparece en MySQL:
  mysql> select id,column1 from db1.table1;
Deberías ver la nueva fila:
  +------+---------+
  | id   | column1 |
  +------+---------+
  |    1 | abc     |
  |    2 | def     |
  |    3 | ghi     |
  |    4 | jkl     |
  |    5 | mno     |
  +------+---------+
  5 rows in set (0.01 sec)

Resumen

El motor de tabla MySQL le permite conectar ClickHouse a MySQL para intercambiar datos en ambos sentidos. Para obtener más información, consulte la página de documentación del motor de tabla MySQL.
Última modificación el 10 de junio de 2026