Устранение ошибки «Доступ запрещен» в MySQLi: методы и примеры кода

При работе с базами данных MySQL с использованием расширения MySQLi в PHP вы можете столкнуться с ошибкой «Доступ запрещен». Это сообщение об ошибке указывает, что указанный пользователь не имеет необходимых привилегий для подключения к серверу MySQL. В этой статье мы рассмотрим различные методы устранения и решения этой проблемы, а также приведем примеры кода.

  1. Проверка учетных данных базы данных.
    Первый шаг — убедиться, что учетные данные базы данных, указанные в вашем PHP-коде, верны. Дважды проверьте имя пользователя, пароль и имя хоста. Даже небольшая опечатка может привести к ошибке отказа в доступе.
<?php
$servername = "localhost";
$username = "diana";
$password = "your_password";
$database = "your_database";
$conn = new mysqli($servername, $username, $password, $database);
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
?>
  1. Предоставьте достаточные привилегии:
    Если учетные данные верны, у пользователя может не быть необходимых привилегий для подключения к серверу MySQL. Войдите на сервер MySQL как привилегированный пользователь и предоставьте соответствующие привилегии пользователю «diana» на «localhost».
GRANT ALL PRIVILEGES ON your_database.* TO 'diana'@'localhost';
FLUSH PRIVILEGES;
  1. Проверьте имя хоста и порт:
    Убедитесь, что имя хоста и порт, указанные в коде подключения, соответствуют фактической конфигурации сервера MySQL. По умолчанию MySQL использует порт 3306.
$servername = "localhost:3306";
  1. IP-адрес в белом списке:
    Если вы подключаетесь к удаленному серверу MySQL, убедитесь, что ваш IP-адрес внесен в белый список в настройках брандмауэра сервера. Обратитесь за помощью к администратору сервера или хостинг-провайдеру.

  2. Проверьте состояние сервера MySQL.
    Убедитесь, что сервер MySQL работает правильно. Вы можете перезапустить сервер или проверить его статус с помощью следующей команды:

sudo service mysql restart
sudo service mysql status

Ошибку «Доступ запрещен» в MySQLi можно устранить, проверив учетные данные базы данных, предоставив достаточные привилегии, проверив имя хоста и порт, включив IP-адрес в белый список и убедившись, что сервер MySQL работает правильно. Следуя этим методам устранения неполадок и используя предоставленные примеры кода, вы сможете устранить эту ошибку и установить успешное соединение с вашим сервером MySQL.

Не забудьте дважды проверить свой код на наличие опечаток или ошибок в учетных данных базы данных. Приятного кодирования!