我遇到了一个让我难以理解的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
任何人都有一些见解?我在这里完全不知所措......
答案 0 :(得分:0)
您需要为要连接的用户授予权限。使用GRANT声明。
答案 1 :(得分:0)
应该已经提到过privs已经被授予了,抱歉!
问题证明是mysql.user和mysql.db表已损坏。修复表是不成功的,所以我尝试删除大多数记录,然后修复表(有效),然后重新添加用户和GRANT。之后工作:)