【问题标题】:Server select - MySQL / MariaDB服务器选择 - MySQL / MariaDB
【发布时间】:2020-04-17 08:48:58
【问题描述】:

我有两个数据库服务器,MySQL 和 MariaDB,当我尝试连接到 MySQL 服务器上的本地数据库时,我总是收到“Connectionfailed: SQLSTATE[HY000] [1049] Unknown database 'ruff'”。我发现,我的代码连接到 MariaDB 服务器而不是 MySQL。我可以创建并连接到 MariaDB 上的任何数据库。

如何连接到 MySQL 服务器数据库?

我的代码是:

// Creating a connection
$conn = new mysqli($servername, $username, $password);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
// Creating a database named $dBName
$sql = "CREATE DATABASE $dBName";
if ($conn->query($sql) === TRUE) {
    echo "Database created successfully with the name newDB";
} else {
    echo "Error creating database: " . $conn->error;
}
// Connecting to database named $dBName
$conn = mysqli_connect($servername, $dBUsername, $dBPassword, $dBName);

if (!$conn)
{
    die("Connection fail: ".mysqli_connect_error());
}

// closing connection
$conn->close();

【问题讨论】:

  • 您的失败消息来自第一个 connect_error 或代码末尾的消息?
  • 它是真正的服务器还是托管在 CPanel 或类似服务器中?
  • 您必须以root 用户身份登录数据库并运行CREATE DATABASE dbnamehere。它不能从非 root 用户或没有完全 db 访问权限的用户的脚本执行。
  • 我在 localhost/PHPMyAdmin、MySQL 和 MariaDB 中有两台服务器它们使用不同的端口(并且您必须在连接属性中定义正确的端口号)或者只有其中一个可以工作.
  • 请将解决方案添加为答案而不是编辑问题,这不是论坛,在标题中添加“已解决”没有帮助。您应该添加一个答案然后接受它,这是 Stack Exchange 将问题标记为“已解决”的方式。

标签: php mysql mariadb


【解决方案1】:

在本地主机后添加端口号解决了问题。

$servername = "localhost:3308"; //MySQL
$servername2 = "localhost:3306"; //MariaDB

【讨论】:

    猜你喜欢
    • 2020-06-04
    • 1970-01-01
    • 2010-10-23
    • 2016-08-04
    • 2019-05-03
    • 2018-05-28
    • 2018-03-21
    • 2010-10-05
    相关资源
    最近更新 更多