Ich muss eine Verbindung zu einem Remote-MySQL-Server mit einer PHP-Seite;
die Verbindung selbst arbeitet als Charme, aber der Moment, ich versuche, die Datenbank zu erstellen, da es noch nicht existiert, bekomme ich diesen Fehler:PDO Zugriff verweigert für Benutzer 'Benutzername' @ '%'
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
Wie Sie sehen können, habe ich Zugriff verweigert " % ".
Jetzt: was ist "%"?
Außerdem:
Hauptdatei
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 ist eine Instanz eines korrekt initialisiert PDO-Wrapper
PDO-Wrapper-Datei
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;
}
}
diese $ -> db ist ein korrekt instanziiertes, voll verbundenes PDO-Objekt; Diese
sind die Linien verwendet, um eine Verbindung
$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);
Ich habe vollen Zugriff auf den MySQL-Server
Root-Rechte für den Mysql-Benutzer wird nicht gewährt. Deshalb gibt SQL Server diesen Fehler zurück. –
Ich habe sie, da, wenn ich manuell mit dem Server mit meinen Login-Daten verbinden Ich kann Datenbanken erstellen/bearbeiten/ohne Probleme – Vkfan
Werfen Sie einen Blick [hier] (http://stackoverflow.com/questions/6239131/how -zu-gewähren-remote-access-permissions-to-mysql-server-for-user) –