如何从另一台服务器连接SQL数据库?

时间:2020-09-04 12:06:24

标签: php mysql

我正在尝试连接另一个网站数据库,并希望删除一个表。但是我真的没有那样做。下面是我的代码:

<?php
$host = "http://website.com";
$username = "databaseUsername";
$password = "password";
$dbname = "databaseName";

try {
  $conn = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
  // set the PDO error mode to exception
  $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

  // sql to delete a record
  $sql = "DELETE FROM wphe_links";

  // use exec() because no results are returned
  $conn->exec($sql);
  echo "Record deleted successfully";
} catch(PDOException $e) {
  echo $sql . "<br>" . $e->getMessage();
}

$conn = null;
?> 

当我尝试连接时,错误日志为:

SQLSTATE [HY000] [2059]无法加载插件http: /usr/lib64/mysql/plugin/http.so:无法打开共享对象文件:否 这样的文件或目录

谢谢。

1 个答案:

答案 0 :(得分:0)

  1. 正如RiggsFollys的评论所述,请注意,您不能在主机上添加协议前缀。
  2. 默认情况下,您需要主动将远程服务器设置为侦听。除非另有说明,否则它将仅接受来自localhost的连接。查看my.cnf文件(或特定系统上的等效文件),然后查找bind_address(https://serversforhackers.com/c/mysql-network-security
  3. 授予MySQL用户外部访问权限(从远程服务器登录并确保用户可以从远程访问):)

除了http://的错误之外,很可能您的远程服务器未配置为进行远程连接:)