我在我的机器(Windows 7)上 trying to install and test a MySQL ODBC Connector 连接到远程MySQL数据库服务器,但是,当我配置和测试连接时,我不断收到以下错误:
Connection Failed
[MySQL][ODBC 5.3(w) Driver]Access denied for user 'root'@'(my host)' (using password: YES):
问题是, I can connect with MySQL Workbench (remotely - from my local machine to the remote server) just fine. 我已经广泛阅读了this FAQ但它没有帮助 . 我试过了:
-
检查服务器上是否正在运行mysql(确实如此 . 我甚至尝试重启多次);
-
检查端口是否正在侦听远程服务器上的连接 . 它是 .
-
使用MySQL Workbench连接到远程服务器 . 有用 .
-
检查远程数据库的IP地址和端口是否正确;
-
检查用户(root)和密码是否正确;
-
在ODBC配置窗口中重新输入密码;
-
检查并修改远程服务器上"my.conf"的内容,以允许来自各方的连接(0.0.0.0);
-
在mySQL的GRANT HOST表中包含(我的主机)(我也尝试了通配符'%',但它没有任何内容);
-
运行FLUSH HOSTS;和FLUSH特权;远程mySQL服务器上的命令重置权限缓存;
-
在配置ODBC驱动程序期间关闭防火墙;
-
检查MySQL变量'skip_networking'是否为OFF以允许远程连接 .
令人沮丧的是,我可以在本地计算机上连接MySQL Workbench(使用相同的IP /用户/密码),而不是使用ODBC .
我可能做错了什么,或者什么可能搞乱我尝试连接ODBC?
Update :我设法设置ODBC驱动程序并使其在服务器端正常运行 . 我可以使用命令行(使用"isql"命令)将其连接到localhost . 但我仍然无法通过Windows 7机器远程连接 .
1 回答
解决了 .
事实证明,这是一个权限问题 . 我在远程服务器SQL上运行以下命令:
我已经运行了上一个命令,但没有“IDENTIFIED BY”密码 . 然后,为了重置mysql权限缓存,我也跑了
现在它有效 .