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两种报错,计划会在未来的版本中修复。