Ошибка базы данных 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.
Затем попробуйте подключиться с консоли.
Скорее всего, вы указали неверные данные БД или у них недостаточно прав на стороне БД.