Beiträge von karx11erx

    Hab den Fehler gefunden. Hatte das Passwort falsch geschrieben. Manche Zeichen sehen sich einfach zu ähnlich, wenn man nicht genau hinschaut. Sorry für die Mühe und Danke für Eure Hilfe. :)

    Ich habe übrigens mysql 7.4.3 installiert.

    Was bedeutet 'scheint'? Fehlermeldung? MySQL oder MariaDB? Version?


    "Scheint", weil ich bei meinem derzeitigen Kompetenzgrad keine absoluten Aussagen treffen, sondern die Möglichkeit einräumen will, mich zu täuschen. :)

    @r23: Jetzt müsste ich nur noch verstehen, inwiefern mich Deine Beiträge näher zur Lösung meines Problems bringen sollen.

    Wen interessieren denn jetzt Datenbank- und Usernamen und SQL Injection, wenn das Ganze überhaupt nicht funktioniert.

    Wenn Du mir sagen kannst, warum php sich mit korrekten Credentials usw. nicht mit meiner Datenbank verbinden kann, während das manuell vom CLI aus geht, das wäre die Hilfe, die ich jetzt brauche. Alles andere kommt danach.

    Folgendes Skript

    [INDENT]<?php
    try {
    ....if ($db = mysqli_connect("localhost", "wordpress_user", "password", "wordpress_db")) {
    ........echo ("successfully connected to database \n");
    ........}
    ....else {
    ........throw new Exception('Unable to connect');
    ........}
    ....}
    catch(Exception $e) {
    ....echo $e->getMessage();
    ....}
    ?>
    [/INDENT]
    gibt, wenn vom cli aufgerufen ("php -f mysql-test.php") folgende Fehlermeldung
    [INDENT]
    PHP Warning: mysqli_connect(): (HY000/1045): Access denied
    for user 'wordpress_user' localhost (using password: YES)
    in /var/www/wordpress/mysql-test.php on line 13
    [/INDENT]
    Nach Eingabe von "mysql -u wordpress_user -p" im cli und Eingabe des korrekten Passworts komme ich in mysql rein. Die Datenbank "wordpress_db" existiert dort und "wordpress_user" hat alle Rechte drauf.

    Wenn Du eine gute Idee hast, was hier das Problem ist, dann gerne her damit. Alles andere bringt mich wie gesagt momentan nicht weiter.

    Du brauchst php-mysqli


    Danke für den Tipp. Wenn ich das installieren will, bekomme ich folgende Meldung:

    Wie installiere ich php-mysqli?

    Das Skript (wordpress.descent2.de/mysql-test.php) meldet Fehler 1045.

    Wenn ich mysql mit denselben Credentials usw. direkt in der Konsole aufrufe (mysql -u wordpress_user -p) aufrufe, geht alles.

    Kann es am Port liegen? 3606 und 36060 sind offen, aber den SSH-Port meines Servers habe ich geändert und 22 blockiert.

    Evtl. ufw-Einstellungen? Nee, ufw ist auf meinem Server inaktiv.

    @r23: Datenbank hatte ich natürlich vorher eingerichtet - siehe Tutorial. Dass die DB da ist, kann man auch am Ergebnis der GRANTS-Abfrage in mysql sehen. Habe db und user inzwischen auch umbenannt (wordpress_db und wordpress_user). Im Prinzip ist es aber egal, wie man die nennt. mysql unterscheidet anhand des Kontexts.

    mysql_secure_installation hatte ich gemacht.

    Das einzige, was ich nicht getestet habe ist, ob die Anbindung von php an mysql funktioniert (wie mit der Test-Tabelle in dem von Dir verlinkten Artikel). Das werde ich nachholen.

    Wieso sollte ich WordPress löschen? Mir geht es genau um eine funktionierende WordPress-Installation.

    @b3317133: Mit welchen Zugangsdaten? Bei welchem Aufruf? Ich kann Dir leider nicht folgen.

    Wie teste ich das? Bin da kompletter Neuling. Hatte es schon gegoogelt, aber nichts gefunden.

    mysql an sich kann ich in putty (ssh) Konsole aufrufen.

    Es liegt jedenfalls alles auf demselben Server.

    In der mysqld.cnf steht nicht viel drin:

    bind-address = 127.0.0.1
    mysqlx-bind-address = 127.0.0.1

    Ich habe auch Port 3306 (TCP) aufgemacht.

    Meine Anleitung für manuelle WordPress-Installation war übrigens diese hier: https://www.digitalocean.com/community/tuto…a-lamp-stack-de

    php-mysql hat tatsächlich gefehlt. Danke für den Hinweis. Habe es installiert und den apache2 neu gestartet, Problem ist aber leider immer noch da.

    CREATE USER 'wordpress'@'%' IDENTIFIED WITH mysql_native_password BY '...';
    GRANT ALL ON wordpress.* TO 'wordpress'@'%';
    FLUSH PRIVILEGES;

    Grants for wordpress@%

    GRANT USAGE ON *.* TO `wordpress`@`%`
    GRANT ALL PRIVILEGES ON `wordpress`.* TO `wordpress`@`%`

    aus wp-config.php

    define( 'DB_NAME', 'wordpress' );
    define( 'DB_USER', 'wordpress' );

    DB und user heißen beide "wordpress".

    Ich habe php, mysql und wordpress manuell (putty/ssh) auf meinem (brandneuen) Ubuntu 20.04 Server mit Apache2 installiert.

    php Version: 7.4.3
    WordPress Version: 5.7.1

    Ich kann mich mit dem wordpress User in mein mysql einloggen. Die Datenbank für WordPress ist vorhanden. Alle erforderlichen Werte (DB_NAME, DB_USER, DB_PASSWORD) sind korrekt in wp-config.php eingetragen. DB_HOST ist 'localhost'.

    Das Installationsverzeichnis von WordPress ist /var/www/wordpress. Die Subdomain wordpress.descent2.de ist mittels einer VirtualHost-Konfiguration darauf gemappt. WordPress lässt sich über die Subdomain aufrufen.

    Trotzdem kann WordPress keine Verbindung zu seiner Datenbank auf meinem Server aufbauen. wp-admin zeigt denselben Fehler.

    Woran könnte das noch liegen?