Ошибка базы данных CakePHP. Доступ закрыт

Я недавно установил CakePHP на своем общем сервере hostmonster и создал новую базу данных и пользователя (с полными привилегиями), и я получаю следующее:

Cake is NOT able to connect to the database.

Database connection "Mysql" is missing, or could not be created.
SQLSTATE[42000] [1044] Access denied for user '[user]'@'[host]' to database '[db]'
  • элементы в скобках не включены для безопасности.

Я проверил, что PDO и PDO mysql включены. Учетные данные были проверены и перепроверены много раз. Есть ли какой-то другой секретный параметр, который я пропускаю или хост ограничивает контроль над пользователями моей базы данных?

Моя конфигурация database.php:

public $default = array(
    'datasource' => 'Database/Mysql',
    'persistent' => false,
    'host' => 'host',
    'login' => 'user',
    'password' => 'pass',
    'database' => 'db',
    'prefix' => '',
    //'encoding' => 'utf8',
);

public $test = array(
    'datasource' => 'Database/Mysql',
    'persistent' => false,
    'host' => 'host',
    'login' => 'user',
    'password' => 'pass',
    'database' => 'db',
    'prefix' => '',
    //'encoding' => 'utf8',
);

Кроме того, мне удалось успешно подключиться к базе данных через PDO, используя те же точные учетные данные с помощью следующего кода:

$hostname = "host";
$db = "db";
$username = "user";
$password = "pas";

try {
  $db = new PDO("mysql:host=$hostname;dbname=$db", $username, $password);
  echo "Connected to database";
}
catch(PDOException $e) {
  echo $e->getMessage();
}

1 ответ

SQLSTATE[42000] [1044] Отказано в доступе для пользователя '[user]'@'[host]' к базе данных '[db]'

Значит, этот торт знает детали вашей БД, но они не работают. "Удалить" торт из цепочки и попытаться подключиться самостоятельно из index.php.

Затем попробуйте подключиться с консоли.

Скорее всего, вы указали неверные данные БД или у них недостаточно прав на стороне БД.

Другие вопросы по тегам