首页 文章

MySQL - ODBC连接失败,Workbench连接工作

提问于
浏览
7

我在我的机器(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 回答

  • 6

    解决了 .

    事实证明,这是一个权限问题 . 我在远程服务器SQL上运行以下命令:

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'(my_host)' IDENTIFIED BY '(my_password)';
    

    我已经运行了上一个命令,但没有“IDENTIFIED BY”密码 . 然后,为了重置mysql权限缓存,我也跑了

    FLUSH PRIVILEGES;
    

    现在它有效 .

相关问题