Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在单个MySQL中从不同站点收集记录_Php_Mysql - Fatal编程技术网

Php 在单个MySQL中从不同站点收集记录

Php 在单个MySQL中从不同站点收集记录,php,mysql,Php,Mysql,我需要在一个MySQL数据库(主域)中插入来自不同站点的记录。 每个域都有自己的PHP文件,用于汇编记录,并应运行插入查询,使用凭据访问主数据库。 PHPs的相关启动代码为: $host = 'localhost'; $username = 'myuser'; $password = 'mypass'; $db_name = 'main_db'; // Create connection $conn = new mysqli($host, $username, $password,$d

我需要在一个MySQL数据库(主域)中插入来自不同站点的记录。
每个域都有自己的PHP文件,用于汇编记录,并应运行插入查询,使用凭据访问主数据库。
PHPs的相关启动代码为:

$host     = 'localhost';
$username = 'myuser';
$password = 'mypass';
$db_name  = 'main_db';
// Create connection
$conn = new mysqli($host, $username, $password,$db_name);
我被“localhost”的定义搞糊涂了;实际上,它应该指向远程主机(使用哪种语法?)

可能这个问题很傻,但在篡改文件和数据库之前,我希望有任何指示,谢谢

$host     = 'localhost'; // for local machine
对于远程主机,请使用主机名或ip地址

$host     = 'myhost.mydomain.org'; // using hostname 

$host     = '12.123.123.12' ; // like this using IP
最重要的事情如下(在远程计算机上):

  • 必须设置服务器的防火墙,以启用端口上的输入连接(默认值3306或任何其他端口)

  • 权限-您必须在MySQL中有一个允许从%(主机/IP)进行连接的用户,这对于所有数据库都类似于下面的内容

    将**上的所有权限授予用户-NAME@IP由“密码”标识

  • bind address
    在my.cnf中,大多数默认安装的MySQL只监听本地机器(
    bind address=YOUR-SERVER-IP

然后重新启动mysql服务器


有一个nice可以帮助您清楚地理解。

Akshay:我留下了一条评论,但没有显示:重试。Akshay:我留下了一条评论,但没有显示:重试。你的建议很有用,因为我有东西要和我的ISP交流。尝试使用主机端口失败。ISP最终找到了一个解决方案,实际上是可行的,但我有几点怀疑。我必须将从ISP获得的IP地址分配给“$host”。此IP是ISP内部网络,在其中配置了我的两个域。我认为这是一个“短途”解决方案,不是特别优雅。如果他们改变了这个IP呢?我提交了你博客的url,但我不确定他们是否考虑过。如果你的系统能够解析isp提供的内部ip对应的主机名,那么就不会有问题,在/etc/hosts文件中,你可以设置你的两台机器的ip,在脚本中使用主机名,这两台机器应该能够与你的主服务器通信,这意味着防火墙不应该阻塞。