creamycewie
Goto Top

PHP Verbindung über MySQLI kann nicht hergestellt werden

Hallo,


ich habe folgendes Problem:

Ich habe mittels PHPMyAdmin einen MySQL-User angelegt. Bei der Anlage habe ich den Punkt "Erstelle eine DB gleichen Namens und gewähre alle Rechte" aktiviert.
Der SQL-Befehl dazu sieht so aus:
CREATE USER 'bssdb'@'%' IDENTIFIED VIA mysql_native_password USING '***';GRANT USAGE ON *.* TO 'bssdb'@'%' REQUIRE NONE WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;CREATE DATABASE IF NOT EXISTS `bssdb`;GRANT ALL PRIVILEGES ON `bssdb`.* TO 'bssdb'@'%';  

Wenn ich nun mittels PHP/MySQLI darauf zugreifen will erhalte ich jedoch immer folgenden Fehler:
Warning: mysqli::__construct(): (HY000/1045): Access denied for user 'bssdb'@'localhost' (using password: YES) in C:\xampp\htdocs\bin\db\dbconnect.php on line 2  
Verbindung fehlgeschlagen: Access denied for user 'bssdb'@'localhost' (using password: YES)  

Der PHP-Code sieht folgend aus:
<?php
$mysqli = new mysqli("localhost", "bssdb", "meinPW", "bssdb");  
if ($mysqli->connect_errno) {
    die("Verbindung fehlgeschlagen: " . $mysqli->connect_error);  
}
?>

wo bin ich hier daneben?

Lieben Dank!

Content-ID: 380714

Url: https://administrator.de/contentid/380714

Ausgedruckt am: 25.11.2024 um 15:11 Uhr

kaiand1
kaiand1 19.07.2018 um 08:54:24 Uhr
Goto Top
Hi
Also wenn der User mit PWD Richtig ist und die Daten auch in der SQL Vorhanden sind hast du wohl Vergessen die Benutzerliste neu zu Laden.
mysql> flush privileges;
Lädt die Zugriffsrechte neu und der Zugriff sollte dann Möglich sein.
CreamyCewie
CreamyCewie 19.07.2018 um 09:11:13 Uhr
Goto Top
Hab ich gemacht, noch immer kein Zugriff möglich.
Passwort und user stimmen
MrCount
Lösung MrCount 19.07.2018 um 09:29:57 Uhr
Goto Top
Servus,

leg den gleichen User mal für LOCALHOST an... anstatt "%"
129580
129580 19.07.2018 aktualisiert um 09:35:29 Uhr
Goto Top
Guten Morgen,

hast du auch mal versucht dich mit den Benutzer direkt an der Datenbank anzumelden z.B. mit dem CLI Tool, Workbench, phpmyadmin eth.?
Verwendest du Sonderzeichen in deinem Passwort?

Viele Grüße,
Exception
MrCount
MrCount 19.07.2018 aktualisiert um 11:16:53 Uhr
Goto Top
Die Verbindung zu localhost umgeht TCP mit einer UNIX-Socket-Datei und entspricht daher keiner TCP-Adresse (%)

On Unix, MySQL programs treat the host name localhost specially, in a way that is likely different from what you expect compared to other network-based programs. For connections to localhost, MySQL programs attempt to connect to the local server by using a Unix socket file. This occurs even if a --port or -P option is given to specify a port number. To ensure that the client makes a TCP/IP connection to the local server, use --host or -h to specify a host name value of 127.0.0.1, or the IP address or name of the local server. You can also specify the connection protocol explicitly, even for localhost, by using the --protocol=TCP option. For example:
shell> mysql --host=127.0.0.1
shell> mysql --protocol=TCP

Quelle: https://dev.mysql.com/doc/refman/5.7/en/connecting.html
CreamyCewie
CreamyCewie 31.07.2018 um 10:15:45 Uhr
Goto Top
Hallo,

mit Localhost hat es nun funktioniert, danke!