安装完 Ubuntu 16.04 后,我尝试按照官方文档安装 MySQL ODBChttps://help.ubuntu.com/community/ODBC:
# apt-get install libmyodbc
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package libmyodbc is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'libmyodbc' has no installation candidate
我可以看到这是一个好的开始!
在软件包存储库中搜索 ODBC 也没有特别的帮助。这是任何现代 Linux 系统中非常重要的一部分!它去哪儿了?!
PS:更新 help.ubuntu.com 上的文档也很好!
编辑以添加:此外,似乎驱动程序文件 libmyodbc.so 不存在于此版本的 Ubuntu 上。
答案1
直接从 dev.mysql.com 下载:https://dev.mysql.com/downloads/connector/odbc/
选择 Ubuntu 16.04 64 位或 32 位(可能是 64 位),下载 TAR 包,然后将文件复制libmyodbc5a.so
到/usr/lib/x86_64-linux-gnu/odbc/
然后创建/etc/odbcinst.ini
[MySQL]
Description = ODBC for MySQL
Driver = /usr/lib/x86_64-linux-gnu/odbc/libmyodbc5a.so
Setup = /usr/lib/x86_64-linux-gnu/odbc/libodbcmyS.so
FileUsage = 1
和/etc/odbc.ini
[my-connector]
Description = MySQL connection to database
Driver = MySQL
Database = mydb
Server = localhost
User = dbuser
Password = dbpass
Port = 3306
Socket = /var/run/mysqld/mysqld.sock
请注意,用户名标签是用户(并不是用户名如在一些例子中所见)并且插座在下面/var/run
,但不在下面/var/lib
echo "select 1" | isql -v my-connector
然后为我工作
答案2
我发现http://dev.mysql.com/downloads/connector/odbc/ (我选择了“Ubuntu Linux 15.10 (x86, 64 位),压缩 TAR 存档”)
下载并提取文件,然后你会得到 libmyodbc5a.so (用于 ANSI 系统) 和 libmyodbc5w.so (用于 Unicode)。
答案3
包裹是适用于 Xenial,并且可以看到这里。因此,它应该安装。请确保在安装之前运行sudo apt-get update
。此外,请确保宇宙Xenial 的存储库是您的源的一部分(如上面的链接所示,此包属于宇宙存储库)。您可以在文件中检查此源是否是可用源的一部分etc/apt/sources.list
。应该有一行,例如:
deb http://com.archive.ubuntu.com/ubuntu/ xenial universe
(镜子可能不同于com.archive...
)
如果仍然无法安装(这很奇怪),请转到上述网站,选择您的架构版本并下载 .deb 文件。例如,对于 amd64,文件是这个:http://launchpadlibrarian.net/141005765/libmyodbc_5.1.10-3_amd64.deb。然后,打开终端,转到包含该文件的文件夹并运行:
sudo dpkg -i file.deb
sudo apt-get install -f
(后一个命令用于处理某些依赖关系不满足的情况)