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

相關文章
相關標籤/搜索