Exemple de paramètres :
SOURCE(MYSQL(
port 3306
user 'clickhouse'
password 'qwerty'
replica(host 'example01-1' priority 1)
replica(host 'example01-2' priority 1)
db 'db_name'
table 'table_name'
where 'id=10'
invalidate_query 'SQL_QUERY'
fail_on_connection_loss 'true'
query 'SELECT id, value_1, value_2 FROM db_name.table_name'
enable_compression 1
))<source>
<mysql>
<port>3306</port>
<user>clickhouse</user>
<password>qwerty</password>
<replica>
<host>example01-1</host>
<priority>1</priority>
</replica>
<replica>
<host>example01-2</host>
<priority>1</priority>
</replica>
<db>db_name</db>
<table>table_name</table>
<where>id=10</where>
<invalidate_query>SQL_QUERY</invalidate_query>
<fail_on_connection_loss>true</fail_on_connection_loss>
<query>SELECT id, value_1, value_2 FROM db_name.table_name</query>
<enable_compression>1</enable_compression>
</mysql>
</source>Champs des paramètres :
| Paramètre | Description |
|---|---|
port |
Port du serveur MySQL. Vous pouvez le spécifier pour toutes les répliques, ou individuellement pour chacune d’elles (dans <replica>). |
user |
Nom de l’utilisateur MySQL. Vous pouvez le spécifier pour toutes les répliques, ou individuellement pour chacune d’elles (dans <replica>). |
password |
Mot de passe de l’utilisateur MySQL. Vous pouvez le spécifier pour toutes les répliques, ou individuellement pour chacune d’elles (dans <replica>). |
replica |
Section de configuration des répliques. Il peut y avoir plusieurs sections. |
replica/host |
Hôte MySQL. |
replica/priority |
Priorité de la réplique. Lors d’une tentative de connexion, ClickHouse parcourt les répliques par ordre de priorité. Plus le nombre est faible, plus la priorité est élevée. |
db |
Nom de la base de données. |
table |
Nom de la table. |
where |
Critère de sélection. La syntaxe des conditions est la même que celle de la clause WHERE dans MySQL, par exemple id > 10 AND id < 20. Facultatif. |
invalidate_query |
Requête permettant de vérifier l’état du dictionnaire. Facultatif. Pour en savoir plus, consultez la section Actualisation des données du dictionnaire à l’aide de LIFETIME. |
fail_on_connection_loss |
Contrôle le comportement du serveur en cas de perte de connexion. Si true, une exception est immédiatement levée si la connexion entre le client et le serveur est perdue. Si false, le serveur réessaie de récupérer les données au moins trois fois avant de signaler une erreur. Notez que ces nouvelles tentatives augmentent le temps de réponse. Valeur par défaut : false. |
query |
Requête personnalisée. Facultatif. |
enable_compression |
Active la compression zlib pour la connexion utilisant le protocole MySQL. Lorsqu’elle est définie sur 1, ClickHouse demande une compression au niveau du protocole au serveur MySQL. Peut également être définie pour chaque réplique dans <replica>. Valeur par défaut : 0. |
ssl_ca_pem |
Contenu du certificat de l’autorité de certification (CA) utilisé pour vérifier le certificat du serveur MySQL. Facultatif. |
ssl_cert_pem |
Contenu du certificat client, pour l’authentification basée sur certificat. Facultatif. |
ssl_key_pem |
Contenu de la clé privée associée à ssl_cert_pem. Facultatif. |
ssl_ca, ssl_cert, ssl_key |
Les mêmes identifiants sous forme de chemins vers des fichiers sur le serveur. Autorisés uniquement pour un dictionnaire défini dans un fichier de configuration du serveur, ou via une collection nommée qui y est définie, voir ci-dessous. Facultatif. |
Il est possible de se connecter à MySQL sur un hôte local via des sockets. Pour ce faire, définissez host et socket.
Exemple de paramètres :
SOURCE(MYSQL(
host 'localhost'
socket '/path/to/socket/file.sock'
user 'clickhouse'
password 'qwerty'
db 'db_name'
table 'table_name'
where 'id=10'
invalidate_query 'SQL_QUERY'
fail_on_connection_loss 'true'
query 'SELECT id, value_1, value_2 FROM db_name.table_name'
))<source>
<mysql>
<host>localhost</host>
<socket>/path/to/socket/file.sock</socket>
<user>clickhouse</user>
<password>qwerty</password>
<db>db_name</db>
<table>table_name</table>
<where>id=10</where>
<invalidate_query>SQL_QUERY</invalidate_query>
<fail_on_connection_loss>true</fail_on_connection_loss>
<query>SELECT id, value_1, value_2 FROM db_name.table_name</query>
</mysql>
</source>