ByteHouse 企业版在 2.4.0 版本开始,增加了对 MySQL 5.7 和 MySQL 8.0 常用功能及语法的兼容,可以实现与 MySQL 客户端应用程序和工具的无缝集成。这将使用户能够使用熟悉的 MySQL 协议与 ByteHouse 企业版进行交互,并利用 MySQL 生态系统的功能。
说明
请在 ByteHouse 2.4 及以上版本使用此功能,并建议您升级到最新版本以获得更好的支持。
升级方法:火山引擎控制台 > 集群管理 > 集群列表 > 集群详情 > 基本信息 > 引擎版本 > 版本变更
--访问命令 其中默认端口为9004 mysql --protocol tcp -h [hostname] -u [username] -P [port_number] --password=[password] --访问命令示例 mysql --protocol tcp -h 7277767706697666852-public.bytehouse-ce.volces.com -u bytehouse_test -P 9004 --password=XXXXXX
show databases;
您可参考 ClickHouse Client 连接到 ByteHouse,并使用 MySQL 语法操作 ByteHouse。
部分 MySQL 函数,与 ClickHouse 模式下的同名函数存在冲突。
因此,在使用时需要设置 dialect_type='MYSQL'
,举例如下:
select adddate('2022-01-22',interval '3' day) settings dialect_type='MYSQL';
目前需要设置方言才能使用的查询,包括但不限于:
SELECT cast(4.3 AS boolean);
SELECT cast('a' AS boolean);
SELECT cast( 'China' AS decimal(5,2));
SELECT cast('China' AS smallint);
SELECT cast('a' AS bigint);
SELECT cast(date '2021-09-18' AS bigint);
SELECT cast( date '2021-09-17' AS double);
SELECT cast(timestamp '2001-1-22' AS time);
SELECT round(345.983,1);
在ByteHouse 返回346,abd和MySQL返回346.0;select curdate
时报错,ByteHouse 需要加括号select curdate();
select datediff('2022-01-22 23:59:59','2022-1-21') settings dialect_type='MYSQL';
select subtime('2022-10-31 23:59:59','0:1:1');
select maketime(-1,15,30);
select sec_to_time(86401);
select subtime(date '2022-10-31','00:01:01');
select subtime(time '02:12:59','10:13:01');
select timediff(time '12:09:11','13:59:30');
select timediff(time '12:09:10',time '12:56:34');
select minute('2022-02-03 10:61:03');
select time_format(date '2022-01-22','%H %k %h %I %l')
;MySQL的%k是0...23, 我们的是00...23SELECT to_seconds('2022-02-02');
select to_seconds('2022-02-02 09:09:00');
select to_seconds(timestamp '2022-02-02 09:09:00');
select to_seconds(time '09:09:00');
SELECT bin(12);
SELECT char(97,110,97,108,121,116,105,99,100,98);
SELECT unhex(hex('China'));
SELECT from_base64('Q2hpbmE=');
SELECT concat('#', space(-1), '#');
|
,需要使用bitOr(a,b)
代替SELECT make_set(bitOr(1,4),'hello','nice',NULL,'world')AS result;
select adddate();
。Unknow function:current_user
和Database doesn't exists:information_schema
两种报错,计划会在未来的版本中修复。