я использую hostgator
для размещения моего сайта, и я добавил свой IP
адрес в качестве хоста удаленного доступа. А затем я подключился к mySql workbench и проверил соединение, и получил сообщение, что все параметры верны. На Hostgator, Я добавил себя как администратор, предоставляющий мне все привилегии. Теперь я хочу манипулировать базой данных с помощью PHP-скрипта с использованием PDO, но в браузере возникает ошибка, возникающая при попытке запустить файл PHP:
Ошибка подключения: SQLSTATE[28000] [1045] Access denied for user 'user'@'host' (using password: YES)
На вкладке «Пользователи и привилегии» в MySQL я получаю следующее:
«The account you are currently using does not have sufficient privileges to make changes to MySQL users and privileges.
«
Я не уверен, что здесь происходит, и я новичок в этом. Может кто-нибудь помочь, пожалуйста?
редактировать:
PHP-код ниже:
<?php
ini_set('display_errors',1);
error_reporting(E_ALL);
//this block tries to connect to the database
//if there's an error connecting, the code under catch will
//and the program will end$host="host";
$port="3306";
$user="xxx";
$password="xxx";
$dbname="database";
try {
$conn = new PDO("mysql:host=$host;dbname=$dbname;", $user, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Connected successfully";
}
catch(PDOException $e)
{
echo "Connection failed: " . $e->getMessage();
}
//$con->close();
?>
Пользователь, которого вы используете для подключения, имеет очень ограниченные права доступа. Чтобы просмотреть / изменить пользовательские привилегии, вам потребуется пользователь с большими правами (например, стандартный пользователь root). Возможно, соединение не установлено, потому что машина, к которой вы подключаетесь, не разрешена для этого конкретного пользователя. Обратите внимание, что в MySQL вы можете указать хосты, с которых пользователю разрешено подключаться.
Довольно необычно, что вам нужен другой сервер для установки MySQL, чем ваш скрипт. Вот почему обычно достаточно использовать localhost или адрес обратной связи (обратите внимание, здесь также есть различия между IPv4 и IPv6, как я изложил в своем видео по устранению неполадок: https://www.youtube.com/watch?v=DCgRF4KOYIY). Однако, если серверы действительно разные, убедитесь, что вашему пользователю разрешено подключаться с сервера, на котором запущен php-скрипт. В случае с simpelst вы можете добавить anyhost
запись (например, «myuser @%»), однако, чем более ограничено правило доступа, тем лучше. Также убедитесь, что у этого пользователя есть доступ к схемам и таблицам, которые вам нужны для работы. Вы можете установить все это в MySQL Workbench, если у вас есть пользователь, которому разрешено изменять права других пользователей.
SQLSTATE [28000] [1045] Доступ запрещен для пользователя ‘user’ @ ‘host’ (с использованием пароля: YES)
Причиной вышеуказанной ошибки является неправильный пароль.
И прежде чем проверять ваш my.cnf (для Linux) или my.ini (для Windows), bind-address = 0.0.0.0
если адрес привязки отключен, включите его ..