Drei Raspberry's und eine externe mariadb Datenbank

  • Hallo,


    Ich nutze einen raspberry mit einer mariadb datenbank. diese datenbank ist auch voll verfügbar über diesen pi.

    nun möchte ich diese datenbank extern für weitere Pi's nutzen.


    einen testcode habe ich hier


    php7.0

    PHP
    <?php
    ini_set('display_errors', 1);
    error_reporting(-1); 
    $pdo = new PDO('mysql:host=192.168.178.100;dbname=tabelle', 'root', 'passwort');
    
    $id=1;
    $statement = $pdo->prepare("UPDATE user SET test  = 99 WHERE id = :id");
    $statement->execute(array('id' => $id));
    ?>

    nun bekomme ich eine fehlermeldung (denke es geht um rechte vergabe)


    Quote

    Fatal error: Uncaught PDOException: SQLSTATE[HY000] [1045] Access denied for user 'root'@'Zero.fritz.box' (using password: YES) in /var/www/test-0.php:4
    Stack trace:
    #0 /var/www/test-0.php(4): PDO->__construct('mysql:host=192....', 'root', 'passwort')
    #1 {main} thrown in /var/www/test-0.php on line 4


    was mache ich falsch bzw wie komme ich weiter?:wallbash:

    #-Wer Rechtschreibfehler findet, darf sie behalten.

    #-Wer fragt, ist ein Narr für 5 Minuten. Wer nicht fragt, ist ein Narr sein Leben lang.

    #-Keiner ist so blind wie der, der nicht sehen will.

  • Schon seit einiger Zeit ist der MariaDB Server zur Administration derart geschützt, als der SQL-Administrator "root" nur dann auf die SQL-Datenbanken Zugriff hat, wenn er auch selbst am localhost des mySQL Servers der User root ist.

    Der mySQL Server selbst hat eine eigene Userverwaltung, mit der nicht nur Datenbank- und Tabellenrechte, sondern auch der Zugriff aus einem Netzwerk, oder von einem Host, festgelegt wird.


    Normalerweise ist es Aufgabe des SQL Admins Datenbanken, Tabellen und User so einzurichten, dass nur ein beschränkter Userkreis eine Datenbank und deren Tabellen lesen, beschreiben, ändern und löschen kann. Hier z.B. ein User www, oder php in einer eigenen Datenbank ausserhalb der Systemdatenbank.


    Servus !

    RTFM = Read The Factory Manual, oder so

  • Danke für die Antworten.


    habe es nun aber anders gelöst.

    variablen im heimnetzwerk übergeben ich mit get in der url.

    nicht schön dafür selten.

    #-Wer Rechtschreibfehler findet, darf sie behalten.

    #-Wer fragt, ist ein Narr für 5 Minuten. Wer nicht fragt, ist ein Narr sein Leben lang.

    #-Keiner ist so blind wie der, der nicht sehen will.