Ubuntu 18.04 安装MYSQL的ODBC驱动

看了不少文章,mysql 的odbc 驱动因为版本的问题,没找到适合 ubuntu 18的。

折腾一下,把过程帖出来给大家参考。

1、安装unixODBC

这个有很多详细的介绍,帖一下命令即可。我下的是2.3.4

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

2、安装mysql odbc驱动

从mysql 站点下载对应的驱动

https://dev.mysql.com/downloads/connector/odbc/

我下的是8.0.15

mysql-connector-odbc-8.0.15-linux-ubuntu18.04-x86-64bit.tar.gz

解压,拷贝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

设置

// 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"

验证是否安装成功

myodbc-installer -d -l

看到列表里有 

MySQL ODBC 8.0 Driver
MySQL ODBC 8.0

即代表安装成功。

3、设置ODBC 参数

sudo vi /etc/odbc.ini

增加以下内容


[mysql]
Description     = Data source MySQL
Driver          = MySQL ODBC 8.0 Driver
Server          = 192.168.1.80
Host            = 192.168.1.80
Database        = test
Port            = 3306
User            = user1
Password        = 123456

一般是通过uncode 方式连接,Driver 必须是MySQL ODBC 8.0 Driver  , 

其他参数按mysql server 的设置。Database 选择已经建立好的数据库。

4、测试连接

运行

isql mysql
sjzx@sjzx:~/dev$ isql mysql
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> select * from test limit 2;
+---------------------------------------------------+-----------+
| name1                                             | age       |
+---------------------------------------------------+-----------+
| xie                                               | 20        |
| zhang                                             | 22        |
+---------------------------------------------------+-----------+
SQLRowCount returns 2
2 rows fetched

5、关于Python 连接

先安装pyodbc

# coding=UTF-8
# by 陈年椰子
import pyodbc


try:
    print("connecting ...")
    cnxn = pyodbc.connect("DSN=mysql")
    cursor = cnxn.cursor()
    rows = cursor.execute("select * from test").fetchall()
    print(rows)
    cursor.close()
    print("done!")
except Exception as e:
    print(repr(e))
发布了23 篇原创文章 · 获赞 23 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/seakingx/article/details/87879164
今日推荐