0

我遇到了一个让我难过的 ODBC 问题,而且我在任何地方都找不到解决我问题的答案。简短版本:我无法从我的 WinXP ODBC 系统 DNS 连接到我在 Ubuntu Jaunty 上的 MySQL4 安装,即使我可以使用该特定机器和其他机器上的命令行客户端正常连接。

大量细节从这里开始!

我在 Ubuntu Jaunty 9.04 上安装了标准 MySQL5。我从 /usr/local/mysql4 中的预编译二进制文件手动安装了 MySQL4。这是启动命令:

/usr/local/mysql4/bin/mysqld_safe --user=mysql4 --port=3307 --socket=/var/run/mysql4d/mysql4d.sock --basedir='/usr/share/mysql4/' --datadir ='/var/lib/mysql4/' --log-error='/var/log/mysql4.err' --log='/var/log/mysql4.log' --language='/usr/local/ mysql-standard-4.1.22-pc-linux-gnu-i686-glibc23/share/mysql/english' &

这似乎工作得很好。我从本地主机或远程计算机通过 TCP/IP 使用 mysql 客户端连接没有问题:

mysql -u inContact -h myhost.com --password='blah' --port=3307

在同一台服务器上,我有运行 XP Pro 的 virtualbox。我也可以在命令行上使用 mysql 连接 no probs。但是,对 ODBC 系统 DSN 使用相同的设置是行不通的。我收到消息“不允许主机 'myhost.com' 连接到此 MySQL 服务器”。

我看到的关于它的唯一消息是在 mysql4.log 中:

091124 10:56:50 5 在 inContact 上连接 inContact@myhost.com

有人有一些见识吗?我在这里完全不知所措...

4

2 回答 2

0

您需要向要连接的用户授予权限。使用GRANT语句。

于 2009-12-03T15:21:42.383 回答
0

应该提到 privs 已经被授予了,对不起!

这个问题原来是损坏的 mysql.user 和 mysql.db 表。修复表没有成功,所以我尝试删除大多数记录,然后修复表(有效),然后重新添加用户和 GRANT。之后工作:)

于 2009-12-04T14:12:19.440 回答