PHP 페이지를 사용하여 원격 mysql 서버에 연결해야합니다. "난에 액세스 거부가,사용자 'username'@ '%'에 대한 PDO 액세스가 거부되었습니다.
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;
}
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-이> cm가 제대로 초기화 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 객체입니다. 모든 사용자는 서버의 모든 데이터베이스에 대한 전체 액세스 권한 :
이 내가
Mysql 사용자의 루트 권한이 부여되지 않았습니다. 그게 왜 SQL 서버 가이 오류를 반환합니다. –
내가 로그인 데이터로 서버에 수동으로 연결하면 어떤 문제도없이 데이터베이스를 만들거나 편집/삭제할 수 있기 때문에 나는 이걸 가지고있다. – Vkfan
[http://stackoverflow.com/questions/6239131/how -to-grant-remote-access-permissions-to-mysql-server-for-user) –