当我尝试使用 32 位和 64 位 mysql-connector-odbc-5.3.2 和连接字符串从 Windows 7 进行连接时:
Provider=MSDASQL;Driver={MySQL ODBC 5.3 Driver};Server=192.168.1.13;Port=3306;Database=mydb;Uid=root;Pwd=****;
我明白
[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
5.2.6 版本也是如此。将提供程序降级到 5.1 后,我得到:
[MySQL][ODBC 5.1 Driver]Can't connect to MySQL server on '192.168.1.13' (10060)
这更令人鼓舞,因为它至少认可了提供商。
我尝试添加防火墙规则以允许到端口 3306 的出站连接。我尝试禁用本地防火墙。我已检查服务器是否正在监听端口 3306 并验证 IP 地址。 (tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN) 我已经进一步验证我可以访问服务器并且 MySQL 正在运行。
当我尝试使用 IP 地址从 ssh 终端连接到服务器本身时: mysql -u root -h 192.168.1.13 -D 威士忌轮 -p
系统会提示我输入密码,然后我得到: 错误 2003 (HY000):无法连接到“192.168.1.13”(111) 上的 MySQL 服务器
我已将主机/用户添加到mysql数据库中的用户表中并重新启动MySQL。我已将数据库上的“ALL”授予任何主机 ('%') 上的用户,并且已明确将对端口 3306 的访问权限添加到 ubuntu 防火墙: iptables -A 输入 -p tcp --dport 3306 -j 接受
我当然会在部署之前限制访问,但在开发数据库时我需要能够以有意义的形式与数据库进行交互。我很高兴重新安装各种组件并重新开始,因为这在项目中还处于早期阶段,但理想情况下我想知道我配置错误或哪里出了问题。
最佳答案
mysql服务器默认只绑定(bind)到服务器上的环回地址(127.0.0.1)。您必须编辑服务器的 my.cnf 文件并重新启动 mysql 服务器。
还请注意,指定 localhost 会被 mysql 服务器特殊对待。它并不像人们预期的那样调用 127.0.0.1。
有关如何绑定(bind)到外部 IP 地址的更多信息:
http://www.cyberciti.biz/faq/unix-linux-mysqld-server-bind-to-more-than-one-ip-address/
关于mysql - 连接到 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23247761/