连接到 MySQL 的 ODBC 错误

连接到 MySQL 的 ODBC 错误

我想知道是否有人能帮我解决一个我似乎无法解决的 MySQL ODBC 问题。我对 Linux 还比较陌生,所以任何能提供的帮助都会很有帮助。

如果有帮助的话,我在两台 VirtualBox 机器上运行 Ubuntu 14.04 x64。

我在一台机器上安装了 MySQL 服务器,它似乎可以正常工作,因为我可以创建数据库、表、插入和删除数据并运行查询,没有任何问题。我在 MySQL 中创建了一个名为 的数据库my_db和一个名为 的用户db_root

我现在正尝试从另一台机器连接到此 MySQL 服务器,但似乎无法使 ODBC 连接正常工作。我查看了许多在线说明,但它们几乎都提供了相同的说明集。

首先安装unixODBCunixODBC-dev然后libmyodbc编辑文件/etc/odbcinst.ini。我的看起来像:-

[MySQL]
Description = ODBC for MySQL
Driver = /usr/lib/x86_64-linux-gnu/odbc/libmyodbc.so
Setup = /usr/lib/x86_64-linux-gnu/odbc/libodbcmyS.so
FileUsage = 1

然后编辑/etc/odbc.ini文件。我的看起来像:-

[mysql-connector]
Driver       = MySQL
Description  = ODBC for MySQL
Server       = 192.168.1.1
Port         = 3306
User         = db_root
Password     = password
Database     = my_db
Option       = 3
Socket       =

这是一些说明发生变化的地方。有人说目录中应该有一个名为mysql.sock或的文件,并且应该将此文件设置为文件中的路径。我没有目录,在我的计算机上搜索并显示空白。有些说明确实包括mysqld.sock/var/lib/mysqlSOCKETodbc.inimysql/var/libmysql.sockmysqld.sockSOCKET文件中的字段odbc.ini

然后所有的说明都说,用类似这样的命令测试你的连接echo "select 1" | isql -v mysql-connector。我总是得到同样的错误[S1000][unixODBC][MySQL][ODBC 5.1 Driver]Can't connect to MySQL server on '192.168.1.1' (111)

我已经搜索了好几天,但似乎找不到任何可以指引我解决这个问题的正确方向的东西。

答案1

经过一番搜索,我发现答案是 MySQL 设置。在/etc/mysql/my.cnf,MySQL 只监听 3306 端口的本地流量。通过删除以下行可以解决这个问题绑定地址 = 127.0.0.1在里面我的cnf文件。

相关内容