UBuntu18.04通过ODBC连接MySQL远程数据库

发布于:2024-04-18 ⋅ 阅读:(29) ⋅ 点赞:(0)

今天在做一个Qt视频播放器的小项目然后想要在ubuntu18.04运行这个项目,需要在Qt中连接远程的MySQL数据库,所以用到了ODBC。我在连接时遇到了一些问题,加之网上的教程各说纷纭,所以我花了很多时间去解决,所以决定做做笔记记录下来。

步骤一、安装unixODBC

这里需要注意版本的选择,我就因为版本的原因卡卡了很久(我之前下载的是最新版的)

sudo wget ftp://ftp.unixodbc.org/pub/unixODBC/unixODBC-2.3.4.tar.gz
 
tar -xvzf unixODBC-2.3.4.tar.gz 
 
cd unixODBC-2.3.4/
 
sudo ./configure --sysconfdir=/etc
make
sudo make install

检验是否安装成功

odbcinst -j

成功如下:

这里大概率会报错:

odbcinst: error while loading shared libraries: libodbcinst.so.2: cannot open shared object file: No such file or directory

然后百度发现解决办法是:

sudo ldconfig

步骤二、安装mysql odbc驱动

驱动下载地址:

MySQL :: Download Connector/ODBC

解压,拷贝bin及lib 目录到 /usr/local 下。

sudo tar zxvf mysql-connector-odbc-8.0.15-linux-ubuntu18.04-x86-64bit.tar.gz 
 
cd mysql-connector-odbc-8.0.15-linux-ubuntu18.04-x86-64bit/
sudo cp bin/* /usr/local/bin
sudo cp lib/* /usr/local/lib

安装MySQL 8.0 ODBC Driver 驱动程序

// Registers the Unicode driver:
sudo myodbc-installer -a -d -n "MySQL ODBC 8.0 Driver" -t "Driver=/usr/local/lib/libmyodbc8w.so"
 
// Registers the ANSI driver 
sudo myodbc-installer -a -d -n "MySQL ODBC 8.0" -t "Driver=/usr/local/lib/libmyodbc8a.so"

其中,-n指定驱动程序的名称为"MySQL ODBC 8.0 Driver",-t指定驱动程序的路径为"/usr/local/lib/libmyodbc8w.so"。

验证是否安装成功

myodbc-installer -d -l

看到列表里有 

MySQL ODBC 8.0 Driver
MySQL ODBC 8.0

即代表安装成功。

步骤三、设置ODBC 参数

sudo vi /etc/odbc.ini

将下面的内容添加进去:

[mysql]
Description     = Data source MySQL
Driver          = MySQL ODBC 8.0 Driver
Server          = 你远程IP地址
Host            = 你远程IP地址
Database        = 要连接这个数据库服务中的那个数据库
Port            = 3306
User            = root
Password        = 该数据库的密码
isql mysql

成功进入数据库。