MySQL 

Uzak bir MySQL sunucusunda veritabanlarına bağlanmak ve gerçekleştirmek için izin verir INSERT ve SELECT ClickHouse ve MySQL arasında veri alışverişi için sorgular.

Bu MySQL veritabanı motoru sorguları MySQL sunucusuna çevirir, böylece aşağıdaki gibi işlemleri gerçekleştirebilirsiniz SHOW TABLES veya SHOW CREATE TABLE.

Aşağıdaki sorguları gerçekleştiremiyor:

  • RENAME
  • CREATE TABLE
  • ALTER

Veritabanı oluşturma 

CREATE DATABASE [IF NOT EXISTS] db_name [ON CLUSTER cluster]
ENGINE = MySQL('host:port', ['database' | database], 'user', 'password')

Motor Parametreleri

  • host:port — MySQL server address.
  • database — Remote database name.
  • user — MySQL user.
  • password — User password.

Veri Türleri Desteği 

MySQL ClickHouse
UNSIGNED TINYINT Uİnt8
TINYINT Int8
UNSIGNED SMALLINT Uınt16
SMALLINT Int16
UNSIGNED INT, UNSIGNED MEDIUMINT Uİnt32
INT, MEDIUMINT Int32
UNSIGNED BIGINT Uİnt64
BIGINT Int64
FLOAT Float32
DOUBLE Float64
DATE Tarihli
DATETIME, TIMESTAMP DateTime
BINARY FixedString

Diğer tüm MySQL veri türleri dönüştürülür Dize.

Nullable desteklenir.

Kullanım örnekleri 

MySQL tablo:

mysql> USE test;
Database changed

mysql> CREATE TABLE `mysql_table` (
    ->   `int_id` INT NOT NULL AUTO_INCREMENT,
    ->   `float` FLOAT NOT NULL,
    ->   PRIMARY KEY (`int_id`));
Query OK, 0 rows affected (0,09 sec)

mysql> insert into mysql_table (`int_id`, `float`) VALUES (1,2);
Query OK, 1 row affected (0,00 sec)

mysql> select * from mysql_table;
+------+-----+
| int_id | value |
+------+-----+
|      1 |     2 |
+------+-----+
1 row in set (0,00 sec)

Clickhouse'daki veritabanı, MySQL sunucusu ile veri alışverişi:

CREATE DATABASE mysql_db ENGINE = MySQL('localhost:3306', 'test', 'my_user', 'user_password')
SHOW DATABASES
┌─name─────┐
│ default  │
│ mysql_db │
│ system   │
└──────────┘
SHOW TABLES FROM mysql_db
┌─name─────────┐
│  mysql_table │
└──────────────┘
SELECT * FROM mysql_db.mysql_table
┌─int_id─┬─value─┐
│      1 │     2 │
└────────┴───────┘
INSERT INTO mysql_db.mysql_table VALUES (3,4)
SELECT * FROM mysql_db.mysql_table
┌─int_id─┬─value─┐
│      1 │     2 │
│      3 │     4 │
└────────┴───────┘

Orijinal makale

Rating: 4.8 - 24 votes

Was this content helpful?
★★★★★