mysql - 无法远程连接MySQL数据库

标签 mysql database linux ubuntu remote-access

我目前正在尝试设置到 mysql 数据库的远程连接。我以前已经这样做过,并写下了一些下次要遵循的步骤,但我似乎无法让这个工作正常进行。这是我迄今为止所采取的过程。

就这个问题而言,我们会说我的数据库位于 ip 100.100.100.100,而我尝试连接的远程主机是 100.100.100.200。

使用 Mac OSX 终端的 Ubuntu 服务器:

MySQL 已安装,并且我已以 root 身份登录

我已将/etc/mysql/my.cnf 文件编辑为如下所示

绑定(bind)地址 = 100.100.100.100
我的文件中没有 --skip-networking 字段

重启mysql

创建新用户并授予权限
创建用户'user1'@100.100.100.200 将 ALL ON . 授予“user1”

然后我更新 iptables
/sbin/iptables -A 输入 -i eth0 -p tcp --destination-port 3306 -j 接受

这一切完成后,我退出mysql,并尝试使用新用户从远程服务器连接

在 IP 100.100.100.200 上
mysql -h100.100.100.100 -uuser1

我收到此错误消息
错误 2003 (HY000):无法连接到“100.100.100.100”(110) 上的 MySQL 服务器

在这个过程中我是否遗漏了一些东西,或者可能是服务器防火墙的问题?我已经在互联网上搜索了几个小时试图解决这个问题,所以下一步是提出一个问题。预先感谢您提供的任何帮助!

最佳答案

伙计,这太痛苦了。

问题出在 iptables 上。我只是重新启动服务器并重新运行 iptable 命令。

重新启动服务器会清除所有 iptable 规则,除非已明确保存它们。 这是我用来了解有关 iptables 的更多信息的资源。
https://www.digitalocean.com/community/articles/how-to-set-up-a-firewall-using-ip-tables-on-ubuntu-12-04

sudo restart - 重新启动服务器

/sbin/iptables -A INPUT -i eth0 -p tcp --destination-port 3306 -j ACCEPT - 添加规则到 iptables

不确定出了什么问题,但在重新启动并重新插入规则后,一切都顺利进行。

关于mysql - 无法远程连接MySQL数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20507740/

相关文章:

ruby-on-rails - 在与标准 "production"或 "development"不同的数据库上使用 Rails 迁移

没有安装mysql的mysqlimport?

mysql - 基于两列的排名

linux - 使用 python 代码从 bitbucket 存储库中提取数据的最佳方法

php - 从两个不同的表计算价格+使用php和mysql

php - 将鼠标悬停在文本上时显示工具提示

mysql 复杂选择,左连接

php - 如何更改每一行中的一个字段?

linux - 谁能给我解释一下这个 makefile 示例吗?

c++ - 如何包含 GDB 调试符号 'break packages' ?