适用于 Windows 的 ClickHouse MYSQL 驱动程序无法正常工作
Posted
技术标签:
【中文标题】适用于 Windows 的 ClickHouse MYSQL 驱动程序无法正常工作【英文标题】:ClickHouse MYSQL driver for Windows is not working 【发布时间】:2020-05-24 11:18:19 【问题描述】:ClickHouse CENTOS 服务器上安装的MYSQL 命令行客户端工作正常。我从远程 Windows 服务器访问 CH 的 Windows 驱动程序可以连接(使用 ODBC 管理员时),但在使用应用程序中的连接器时不起作用。我还从远程 linux 应用程序中测试了一个 MYSQL 驱动程序,它也不起作用。我已经尝试了一些 5-8 版本以及 Oracle 和 MariaDB 的 mysql 驱动程序。我收到来自 MYSQL 驱动程序的错误,我无法解决
其中一个错误:
Details: "ODBC: ERROR [HY000] [MySQL][ODBC 8.0(w) Driver][mysqld-20.4.2.9-ClickHouse]Syntax error: failed at position 5: @@sql_select_limit=DEFAULT. Expected one of: ROLE, identifier, ROLE DEFAULT, DEFAULT ROLE"
第二个错误(不同的客户端):
could not load system variables
Syntax error: failed at position 6: VARIABLES WHERE Variable_name in ('max_allowed_packet','system_time_zone','time_zone','auto_increment_increment'). Expected one of: TABLES, GRANTS, CREATE, QUOTA USAGE, POLICIES, ROW POLICIES, PROCESSLIST, CREATE, QUOTAS, DICTIONARIES
让 MYSQL 界面正常工作很重要。有什么想法吗?
【问题讨论】:
CH Mysql 协议没有实现所有变量。你应该打开一个问题github.com/ClickHouse/ClickHouse 【参考方案1】:您尝试使用 MySQL ODBC 驱动程序通过 MySQL 有线协议通过 ODBC 连接到 Clickhouse Clickhouse 只实现了有线 MySQL 协议,没有实现 MySQL 的整个 SQL 方言。
您在成功连接到 MySQL 后尝试使用 ODBC 驱动程序进行额外的 SQL 查询,
您能否将连接器从 ODBC 更改为本机 MySQL 协议? 您使用什么语言?
【讨论】:
我看到我正在使用的工具在连接后进行了额外的调用。我尝试了 DBeaver,它可以使用 MariaDB 驱动程序进行连接,尽管在尝试深入研究表或描述表时它确实失败了。看起来任何 DDL 类型的调用都不受支持的功能。我所能做的就是运行“选择”语句......除非我在这里做错了什么,否则MYSQL支持对BI连接没有用......我认为所有工具(Excel,PowerBI等......)都想查看表格DDL。我希望有一种方法可以配置 MYSQL 驱动程序以避免错误。 我尝试的另一件事是使用 ODBC 管理员的 ODBC 驱动程序。我根本无法让它工作,并且界面没有提供“测试”按钮。我还看到,每次我回到 ODBC 配置时,都会显示默认设置,所以我不确定它是否真的保存了我的 CH 服务器设置。我对这些简单的事情感到惊讶,希望我在这里犯了一个简单的错误...... @user13607078 DBeaver 可以使用官方的 Clickhouse JDBC 连接器 我不明白你的用例是什么?为什么你尝试使用 Clickhouse 作为 MySQL 服务器和 MySQL 方言?如果您尝试使用 PowerBI 或 Excel 中的 clickhouse - 请尝试使用官方 clickhouse ODBC 驱动程序github.com/ClickHouse/clickhouse-odbc以上是关于适用于 Windows 的 ClickHouse MYSQL 驱动程序无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章