【问题标题】:I cannot connect MySQL web server我无法连接 MySQL Web 服务器
【发布时间】: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)
  • stackoverflow.com/questions/2972600/… OR stackoverflow.com/questions/55600630/… OR stackoverflow.com/questions/9695224/… 或者没有足够的(有用的)信息来给出正确的答案。
  • mysql 服务器可能有防火墙规则关闭了 3306 端口。“主动拒绝”表示连接尝试通过,但远程服务器说“不,走开”。也就是说,向互联网开放 3306 将是一个非常糟糕的主意。仅为您连接的 IP 打开它,或设置隧道。

标签: php mysql cpanel


【解决方案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 用户名和密码。您用来登录的那个。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-05-10
  • 2012-11-03
  • 2015-01-21
  • 2023-04-05
  • 2020-07-25
相关资源
最近更新 更多