今天在做一个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 
成功进入数据库。


















