我在我的电脑上安装了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粉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");