这个错误让我搞了半天
参考连接
处理方法
下载 mysql-connector-odbc,下载连接
注意,不要使用8.0.30
8.0.30 会出现新的错误
Can’t open lib ‘/root/mysql-odbc-8.0.30/lib/libmyodbc8w.so’ : file not found
该错误是需要更高版本得gcc
8.0.27 下载连接
上传be 并解压安装
解压
tar -zxvf mysql-connector-odbc-8.0.27-linux-glibc2.12-x86-64bit.tar.gz
安装 Driver=解压后libmyodbc8w.so 路径
myodbc-installer -a -d -n "MySQL ODBC 8.0.27 Unicode Driver" -t "Driver=/root/mysql-odbc-8.0.27/lib/libmyodbc8w.so"
测试
vi /etc/odbc.ini 并写入
[mydb]
Driver = MySQL ODBC 8.0.27 Unicode Driver
Description = MyODBC 8.0.27 Driver
SERVER = mysql ip
PORT = mysql port
USER = mysql user
Password = mysql pwd
Database = database
OPTION = 3
charset=UTF8
isql -v mydb
如果如下则无问题
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL> exit
修改be 配置文件
# /opt/doris 为doris安装路径
vi /opt/doris/be/conf/odbcinst.ini
添加如下
[MySQL ODBC 8.0.27 Unicode Driver]
Description = ODBC for MySQL
Driver = /root/mysql-odbc-8.0.27/lib/libmyodbc8w.so
FileUsage = 1
创建RESOURCE
CREATE EXTERNAL RESOURCE mysql_test_odbc
PROPERTIES (
"type" = "odbc_catalog",
"host" = "xxxx",
"port" = "xxx",
"user" = "xxx",
"password" = "xxx",
"database" = "xxx",
"odbc_type" = "mysql",
"driver" = "MySQL ODBC 8.0.27 Unicode Driver"
);
创建 外部表
CREATE EXTERNAL TABLE ext_mysql_demo (
database_name varchar(255) NOT NULL COMMENT "",
table_name varchar(255) NOT NULL COMMENT ""
) ENGINE=ODBC
COMMENT "ODBC"
PROPERTIES (
"odbc_catalog_resource" = "mysql_test_odbc",
"database" = "test",
"table" = "sync_table"
);
查询
select * from ext_mysql_demo