Cette page décrit l’utilisation du moteur de table MySQL pour lire les données d’une table MySQL.
Connecter ClickHouse à MySQL à l’aide du moteur de table MySQL
Le moteur de table MySQL vous permet de connecter ClickHouse à MySQL. Les instructions SELECT et INSERT peuvent être exécutées soit dans ClickHouse, soit sur la table MySQL. Cet article présente les méthodes de base pour utiliser le moteur de table MySQL.
Configurer MySQL
- Créez une base de données dans MySQL :
CREATE DATABASE db1;- Créez une table :
CREATE TABLE db1.table1 (
id INT,
column1 VARCHAR(255)
);- Insérez quelques lignes d’exemple :
INSERT INTO db1.table1
(id, column1)
VALUES
(1, 'abc'),
(2, 'def'),
(3, 'ghi');- Créez un utilisateur pour se connecter depuis ClickHouse :
CREATE USER 'mysql_clickhouse'@'%' IDENTIFIED BY 'Password123!';- Accordez les privilèges nécessaires. (À des fins de démonstration, des privilèges d’administration sont accordés à l’utilisateur
mysql_clickhouse.)
GRANT ALL PRIVILEGES ON *.* TO 'mysql_clickhouse'@'%';Définir une Table dans ClickHouse
- Créons maintenant une table ClickHouse qui utilise le moteur de table
MySQL:
CREATE TABLE mysql_table1 (
id UInt64,
column1 String
)
ENGINE = MySQL('mysql-host.domain.com','db1','table1','mysql_clickhouse','Password123!')Les paramètres minimaux sont :
| parameter | Description | example |
|---|---|---|
| host | nom d’hôte ou IP | mysql-host.domain.com |
| database | nom de la base de données MySQL | db1 |
| table | nom de la table MySQL | table1 |
| user | nom d’utilisateur pour se connecter à MySQL | mysql_clickhouse |
| password | mot de passe pour se connecter à MySQL | Password123! |
Tester l’intégration
- Dans MySQL, insérez une ligne d’exemple :
INSERT INTO db1.table1
(id, column1)
VALUES
(4, 'jkl');- Constatez que les lignes existantes de la table MySQL se trouvent dans la table ClickHouse, ainsi que la nouvelle ligne que vous venez d’ajouter :
SELECT
id,
column1
FROM mysql_table1Vous devriez voir 4 lignes :
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.- Ajoutons une ligne à la table ClickHouse :
INSERT INTO mysql_table1
(id, column1)
VALUES
(5,'mno')- Remarquez que la nouvelle ligne apparaît dans MySQL :
mysql> select id,column1 from db1.table1;Vous devriez voir la nouvelle ligne :
+------+---------+
| id | column1 |
+------+---------+
| 1 | abc |
| 2 | def |
| 3 | ghi |
| 4 | jkl |
| 5 | mno |
+------+---------+
5 rows in set (0.01 sec)Résumé
Le moteur de table MySQL vous permet de connecter ClickHouse à MySQL pour échanger des données dans les deux sens. Pour en savoir plus, consultez la page de documentation du moteur de table MySQL.