我无法连接 MySQL Web 服务器

Posted

技术标签:

【中文标题】我无法连接 MySQL Web 服务器【英文标题】:I cannot connect MySQL web server 【发布时间】:2021-11-16 05:46:42 【问题描述】:

我在我的 cPanel 中添加了一个数据库,但我无法连接它。

try
$db = new 
PDO('mysql:host=markus.veridyen.com;dbname=sosyalki_pratiki1_ipss;charset=utf8','sosyalki','password');
catch(PDOException $e)
echo 'Hata: '.$e->getMessage();
 

当我尝试连接我的数据库时,它给了我这个错误消息:

Hata: SQLSTATE[HY000] [2002] 由于目标机器主动拒绝,无法建立连接。

注意:未定义变量:第 55 行 C:\xampp\htdocs\ipss\survey.php 中的 db

【问题讨论】:

那是一台远程机器,因此允许任何人远程连接它是不常见的。 是的,它是远程机器。如果不允许,我能理解它不允许有什么可能吗? 当我设置 host=localhost 时,它给了我这个错误: Hata: SQLSTATE[HY000] [1045] Access denied for user 'sosyalki_funnel'@'localhost' (using password: YES) ***.com/questions/2972600/… OR ***.com/questions/55600630/… OR ***.com/questions/9695224/… 或者没有足够的(有用的)信息来给出正确的答案。 mysql 服务器可能有防火墙规则关闭了 3306 端口。“主动拒绝”表示连接尝试通过,但远程服务器说“不,走开”。也就是说,向互联网开放 3306 将是一个非常糟糕的主意。仅为您连接的 IP 打开它,或设置隧道。 【参考方案1】:

您仍然可以使用 localhost 作为实时服务器上的服务器名称。

我假设你正在使用 cpanel。

<?php
$servername = "localhost";
$username = "username"; //your cpanel username
$password = "password"; //your cpanel password

try 
  $conn = new PDO("mysql:host=$servername;dbname=DatabaseName", $username, $password);
  // set the PDO error mode to exception
  $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  echo "Connected successfully";
 catch(PDOException $e) 
  echo "Connection failed: " . $e->getMessage();

?>

【讨论】:

不幸的是,这也不起作用。它给了我这个错误信息: SQLSTATE[HY000] [1045] Access denied for user 'sosyalki'@'localhost' (using password: YES) 基本上你输入了错误的密码而已。 如果您使用 cpanel,请使用您的 cpanel 用户名和密码。您用来登录的那个。

以上是关于我无法连接 MySQL Web 服务器的主要内容,如果未能解决你的问题,请参考以下文章

无法从 SQL WORKBENCH 连接到 AWS RDS mysql

WDCP打开网页时报错:无法连接mysql,请检查mysql是否已启动及用户密码是否配置正确

win10安装mysql无法连接

从本地 MySQL 工作台连接 Cloud SQL MySQL - 连接成功但无法连接数据库服务器

无法连接:MySQL Connector/J 给了我一个奇怪的异常

Mysql中Sleep进程连接数过多问题解决