Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Anfängerproblem: max_user_connections

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von swunder, 6 Januar 2021.

  1. swunder

    swunder Neuer Benutzer

    Hallo Leute,

    ich bin neu in der Welt von PHP Programierung und MySQL. Ich schreibe gerade in Vue eine kleine einfache Anwendung wo ich Daten aus MySQL lese und darstelle. Das klappt soweit sehr gut. Ich habe nur ein Riesen Problem und zwar max_user_connections, die schnell erreicht sind und dann ist der Zugriff auf MySQL nicht mehr möglich.

    Es geht ja darum, dass wenn z.B. ein User sich nun auf der Website registriert, dann baut die Webseite eine Verbindung zur Datenbank auf und schreibt dort eine Information über die Registrierungsdaten hinein. Sobald dies dann abgeschlossen ist wird die Datenbankverbindung wieder unterbrochen, somit sollte nach meinem Verständinss max_user_connections wieder freigegeben werden. Somit sollte jede Datenbankverbindung nach Fertigstellung wieder unterbrochen werden, so kann danach wieder eine neue Datenbankverbindung aufgebaut werden. Sollte die Webseite die Verbindung dauerhaft aufrecht erhalten so dürfen natürlich nicht andauernd neue Verbindungen aufgebaut werden sondern es muss dies bestehende genutzt werden, denn sonst hätte die Website irgendwann zig offene Verbindungen zur Datenbank, was dann wiederrum den Datenbankserver unter Last setzen könnte. Dafür ist dann genau dieses Limit max_user_connections gedacht, damit dies nicht passieren kann. Ich hoffe ich habe es richtig mit dem max_user_connections Verstanden.

    Nun mein Problem ist, dass ich diese max_user_connections ständig erreiche und ich verstehe nicht, warum. So wie ich verstanden habe, nach jedem Aufruf, sobald der Script beendet ist, wird auch die Verbindung zu MySQL getrennt. Hier ist mein Code, mit dem ich auf die MySQL-Datenbank zugreife. Was ist falsch an diesem Code? Warum registrier MySQL nicht, dass die Verbindung wieder getrennt ist?

    <?php

    $sql = "SELECT
    tour_id,
    tour_name,
    estimated_costs,
    target_lon,
    target_lan
    FROM tours
    ";

    $dsn = "mysql:host=server.address.host;dbname=web_db1";
    $user = "web";
    $passwd = "123456";

    $pdo = new PDO($dsn, $user, $passwd);

    //get data in an indexed array.
    $stm = $pdo->query($sql);
    $rows = $stm->fetchAll(PDO::FETCH_NUM);

    //encode
    echo json_encode($rows, JSON_INVALID_UTF8_IGNORE);

    if(json_last_error())
    {
    echo "Success: A proper connection to MySQL was made! The my_db database is great." . PHP_EOL;
    echo json_last_error_msg(); // Print out the error if any
    }
    ?>

    Gruß
    Stefan
     
  2. akretschmer

    akretschmer Datenbank-Guru

    scheint so, du öffnest Verbindungen, beendest dies aber nicht expliziet. Aber PHP ist hier Off-Topic. Davon abgesehen, wenn Deine Tabelle etwas größer wird, wird das Result-Set dies auch. Linear. Hantieren mit Lon/Lat ist so 80iger, da gibt es besseres ... und lat hast flasch geschrieben.

    Ach ja: falsches Unterforum hast auch auch getroffen ...
     
Die Seite wird geladen...
Ähnliche Themen - Anfängerproblem max_user_connections
  1. Martin1968
    Antworten:
    3
    Aufrufe:
    1.038
  2. Schnurze
    Antworten:
    9
    Aufrufe:
    2.172
  3. Lot Amadeus
    Antworten:
    2
    Aufrufe:
    1.529

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden