首页  >  问答  >  正文

通过远程托管服务器上的PHP脚本访问我PC上的MysqlServer的方法

我在我的电脑上安装了MysqlServer和Mysql Workbench。服务器运行良好(绿色)。 现在我有一个共享托管服务器,我想通过一个PHP脚本从我的电脑上的数据库中获取数据。目前还没有数据库或任何数据,因为我只是想先建立两个服务器之间的连接。我尝试了很多次连接,但到目前为止都没有成功。

→ 使用Workbench的选项文件,我在bind-address中放入了由托管服务器提供的IP地址。(即希望从我的电脑上的MysqlServer访问的远程服务器)。

→ 我还启用了SSL连接,因为我的托管网站是基于SSL的。

→ 然后,在用户和权限中,我将%放在root用户上,以便root可以从另一个主机(不仅仅是localhost)连接到我的电脑上的MysqlServer。

→ 我已经允许了Windows防火墙上端口3306的入站规则。

→ 我正在使用的基本代码是一个基本的PDO PHP数据库连接,其中$host是我的电脑的公共IP,$port是3306,$root是root,密码是我在安装MysqlServer时创建的密码。

我正在使用的基本代码是:

try
{
    $dbh = new PDO("mysql:host=".$host.";port=".$port, $root, $root_password);
}
catch (Exception $e)
{
    die('Erreur : ' . $e->getMessage());
}
?>

→ 我遇到的错误是:SQLSTATE[HY000] [2002] 无法连接到MySQL服务器“我的电脑的公共IP地址”。

有人遇到过这种问题吗?你能看到任何奇怪的东西可以帮助我吗? 欢迎任何答案、建议、评论或问题。

P粉317679342P粉317679342426 天前500

全部回复(1)我来回复

  • P粉511749537

    P粉5117495372023-09-07 16:22:10

    有两种连接数据库的方式-

    $connect = new PDO('mysql:host=localhost;port=3306;dbname=dbname','root','');
    $connect->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    或者

    $connect = new mysqli("localhost","root","","dbname");

    回复
    0
  • 取消回复