我想从另一个网站远程连接到SQL。我做了whois查找,以获取尝试连接并在cPanel中将其列入白名单的域的IP地址。我也做了echo $_SERVER['SERVER_ADDR'];
,并且由于某种原因获得了不同的IP地址,所以我也将其列入了白名单。我也尝试通过域名进行白名单,但MySQL仍拒绝连接。哪些IP应该列入MySQL远程连接白名单?
如果我允许从所有访问(%)它将工作,但显然我不会那样做..我怎么能确定哪些IP地址需要列入白名单,以便SQL允许连接?
我想从另一个网站远程连接到SQL。我做了whois查找,以获取尝试连接并在cPanel中将其列入白名单的域的IP地址。我也做了echo $_SERVER['SERVER_ADDR'];
,并且由于某种原因获得了不同的IP地址,所以我也将其列入了白名单。我也尝试通过域名进行白名单,但MySQL仍拒绝连接。哪些IP应该列入MySQL远程连接白名单?
如果我允许从所有访问(%)它将工作,但显然我不会那样做..我怎么能确定哪些IP地址需要列入白名单,以便SQL允许连接?
您需要白名单服务器的IP为主(在该域托管)。从服务器的传出连接通过服务器的主IP地址。如果它是一台Linux机器,则可以使用命令hostname -i
来查找主IP地址。你也可以检查哪些IP使用命令tcpdump -n dst 1.1.1.1 and port 3306
更改根据MySQL服务器的端口号& IP地址建立连接到MySQL。对于问题
分析更容易,但它需要一些工作。
访问控制台MySQL的验证,如果交友接口把正确的凭据在MySQL。毕竟WHM /交友是一个简单的控制面板,使管理工作对我们来说,因此容易受到错误
mysql > SELECT user, host FROM mysql.user WHERE user LIKE %user%;
+--------------------+----------------+
| user | host |
+--------------------+----------------+
| special_user | % |
| horde | 127.0.0.1 |
| zabbix | 127.0.0.1 |
| mysqlbackup | 163.XXX.XXX.31 |
| root | 176.XX.XXX.39 |
...
如果用户是在MySQL授权表,确认是否my.cnf中它的配置访问remotly
如果存在,必须是0.0.0.0
cat /etc/my.cnf |grep bind-address
bind-address=0.0.0.0
也skip-networking
不能上的/etc/my.cnf
检查防火墙为accesss到3306端口
iptables -L -n |grep 3306
...
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:3306
这也是很好的帮助,以表明显示应用程序的错误,因为这决定了发生故障,该层。
例
ERROR 1130 (HY000): Host ‘1.2.3.4’ is not allowed to connect to this MySQL server
和原木的MySQL
猫/var/lib/mysql/[hostname].err 2016年4月6日○点26分19秒140080907868928 [警告] IP地址'23 .251.55.75' 无法解析:名称或服务不知道
所有路径的例子是WHM /交友服务器。
[text]替换为真实姓名
查看您将要连接的网站的cPanel。它会显示你的IP地址,这就是你需要加入白名单的地址。此外,当你说白名单,确保你的意思是允许*远程连接*在你的MySQL(通过cPanel)。 –
见的事情是,我没有的cPanel访问到被连接,只有有我试图连接到数据库的网站的网址。 –
你有没有试过允许目标数据库cPanel远程mysql连接,你有权访问?您是否还尝试将网址列入白名单而不是IP地址?一些虚拟主机服务为几个URL共享一个共同的IP地址,并使用收到的URL来识别系统内指向哪些资源。 –