不是你通常的MySQL4 + ODBC连接问题

时间:2009-11-24 16:11:17

标签: mysql odbc mysql4

我遇到了一个让我难以理解的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'& amp;

这看起来效果很好。我在使用localhost的mysql客户端或通过TCP / IP从远程机器连接时没有问题:

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

在同一台服务器上,我有运行XP专业版的virtualbox。我也可以在命令行上使用mysql连接没有probs。但是,使用相同的ODBC系统设置DSN不起作用。我收到消息“Host'myhost.com'不允许连接到这个MySQL服务器”。

我看到的唯一消息是mysql4.log:

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

任何人都有一些见解?我在这里完全不知所措......

2 个答案:

答案 0 :(得分:0)

您需要为要连接的用户授予权限。使用GRANT声明。

答案 1 :(得分:0)

应该已经提到过privs已经被授予了,抱歉!

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