Мне нужно подключиться к удаленному серверу mysql с помощью php-страницы;
само соединение работает как шарм, но в тот момент я пытаюсь создать базу данных, так как она еще не существует, я получаю эту ошибку:PDO доступ запрещен для пользователя 'username' @ '%'
exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1044 Access denied for user '[myusername]'@'%' to database '[mydbname]'' in [myurl]/php/db_manager.php:76
Как вы можете видеть, у меня есть доступ отказано " %».
Теперь: что такое «%»?
Кроме того:
Основной файл
private function createDB() {
if($this->cm->update("CREATE DATABASE IF NOT EXISTS " . $this->dbName . " DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;", array())) { // Error here
$this->cm->update("USE " . $this->dbName . ";", array());
return true;
}
return false;
}
$ this-> см является экземпляром правильно инициализирован PDO обертке
PDO обертка файл
public function update($query, $values)
try{
$sql = $this->db->prepare($query);
$sql->execute($values);
return true;
} catch(PDOException $e) {
$this->l->error($e); // <- Error here
return false;
}
}
$ это -> db - правильно созданный, полностью связанный PDO-объект;
Эти строки используются для подключения
$this->db = new PDO($connection, $this->db_user, $this->db_password, array(PDO::ATTR_PERSISTENT => true));
$this->db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
У меня есть полный доступ на сервере Mysql
Коренные привилегии для пользователя Mysql не предоставляются. То почему сервер SQL возвращает эту ошибку. –
У меня их есть, так как если я подключусь вручную к серверу с моими регистрационными данными, я могу создавать/редактировать/удалять базы данных без каких-либо проблем. – Vkfan
Посмотрите [здесь] (http://stackoverflow.com/questions/6239131/how -to-grant-remote-access-permissions-to-mysql-server-for-user) –