MySQL mysqli_connect() 不能链接数据库问题

事情是这样的。 这样的代码能行:php

$servername = "localhost";
$username = "username";
$password = "password";

// 建立链接
$conn = new mysqli($servername, $username, $password);

// 检测链接
if ($conn->connect_error) {
    die("链接失败: " . $conn->connect_error);
}
echo "链接成功";

这样的代码能行:mysql

$servername = "localhost";
$username = "username";
$password = "password";

$link = mysqli_connect($servername, $username, $password, 'wxjs');

if (!$link) {
    echo "Error: Unable to connect to MySQL." . PHP_EOL;
    echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
    echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
    exit;
}

echo "Success: A proper connection to MySQL was made! The my_db database is great." . PHP_EOL;
echo "Host information: " . mysqli_get_host_info($link) . PHP_EOL;

mysqli_close($link);

输出:sql

Success: A proper connection to MySQL was made! The my_db database is great.
Host information: Localhost via UNIX socket

这样的代码不行:socket

$servername = "127.0.0.1";
$username = "username";
$password = "password";

$link = mysqli_connect($servername, $username, $password, 'wxjs');

if (!$link) {
    echo "Error: Unable to connect to MySQL." . PHP_EOL;
    echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
    echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
    exit;
}

echo "Success: A proper connection to MySQL was made! The my_db database is great." . PHP_EOL;
echo "Host information: " . mysqli_get_host_info($link) . PHP_EOL;

mysqli_close($link);

输出:code

Error: Unable to connect to MySQL.
Debugging errno: 2002
Debugging error: Permission denied

得出结论:用IP和用localhost是不同的。orm

我还找到了一个很变态的方法解决 用 IP 不行的,竟然是关掉防火墙……server

$ sudo setenforce 0

MySQL 新手。幼稚了……get

相关文章
相关标签/搜索