MySQL/MariaDB

  • Hallo Leute,

    ich hoffe Ihr könnt mir weiterhelfen.


    Hatte ein Projekt angefangen, wo ich die gesamten Daten in einer XML abgesichert hatte & die danach hochgeladen wurde leider wird auf dem FTP der zugriff gesperrt wenn man von verschieden ips das macht.


    Deswegen muss ich auf MySQL/MariaDB umsteigen.

    Ich habe mir auch schon eine kleine Tabelle angelegt und befehle ausprobiert da ich zuvor noch nie mit MySQL/MariaDB gearbeitet habe.


    Es ist relativ leicht, aber wie komme ich an die Datenbank ran, also ich meine wie kann ich mich einloggen mit autoit ?


    hoster : bplaced


    auf der Homepage steht : Zusammen mit der Webseitenadresse kann eine Verbindung zu MySQL über den Port 3306 hergestellt werden. Server wird mir bei dem Reiter Datenbank localhost gezeigt.


    habe mal Connector/ODBC 8.0.28 runtergeladen und installiert ich weiß aber nicht ob das bennötigt wird.


    #include <mysql.au3>

    $sql = _MySQLConnect("BENUTZER","PASSWORT","DBNAME","NUTZER.bplaced.net:3306")


    als @error bekomme ich '2' raus und direkt $sql wird mit 0 angezeigt.


    Weiß jemand was ich falsch mache ?


    zur Auswahl an Serveradresse hätte ich noch diesen link https://myadmin.NUTZER.bplaced.net/



    Wäre super wenn jemand hier da den Durchblick hat :)

  • Hallo MojoeB,


    hier mal ein Beispiel zum Auslesen einer internen Mysql installation.

    Das sollte sich aber auch auf eine gehostete Instanz übertragen lassen.


    Theoretisch kannst du ja zum Testen auch erstmal Tools wie Heidi SQL oder DBeaver nutzen.


    Ansonsten gibt es bestimmt noch Forumsmitgleider, die Online Webspace zum testen haben und dir entsprechend auch weiterhelfen können.


    Gruß gmmg

  • Hast Du das hier wahrgenommen und umgesetzt?


    bplaced Wiki - Hilfe & Support :: Zugriffskontrolle
    bplaced Wiki - Hilfe & Support zu Datenbanken / Zugriffskontrolle
    wiki.bplaced.net


    Hatte gerade gezielt danach gesucht, weil es eigentlich normal ist, dass (Free-)Webspace-Hoster die dazugehörigen Datenbanken nur für den Zugriff von localhost aus freigeben.

    Es ist auch nicht wirklich üblich, einen Datenbankserver "direkt" ins Netz zu hängen. Normal baut man eher eine API in PHP oder Python oder so und regelt darüber auf dem Webspace die Datenzugriffe.

  • Ja, habe auch die pro Version zum testen gekauft.

    & Zum testen habe ich dort meine ipv4 Adresse eingeben.

    aber dennoch kein Ergebnis.


    :(


    Von php habe ich leider 0 Ahnung, wäre das den schwer ?

    Davor habe ich ein Skript geschrieben der sich wie ein FileZilla einloggt, hatte gut funktioniert bis ich mal 5-10 Änderungen hintereinander vorgenommen hab dann waren die ip´s für 24h gesperrt.

    Deshalb der Wechsel auf mysql, wovon ich auch keine Ahnung habe aber das war echt sehr schnell einfach.


    Am liebsten würde ich über das Skript die Datenbank auch einrichten lassen, damit der Nutzer nichts machen muss, nur bei erst betriebnahme die Settings setzen muss, die dann verschlüsselt gesichert werden.


    Aber bevor ich irgendwas damit anstellen kann. Muss ich mich erst einmal über autoit erfolgreich damit einloggen .

  • Welche MySql.au3 verwendest Du denn? Die von cdkid? => https://www.autoitscript.com/forum/topic/20814-mysql-udfs/


    Die Signatur der MySqlConnect-Funktion sieht da wie folgt aus:


    _MySQLConnect($sUsername, $sPassword, $sDatabase, $sServer, $sDriver = "{MySQL ODBC 3.51 Driver}", $iPort=3306)


    Der Port wird also in einem eigenen Parameter angegeben, und nicht im Format "Hostname:Port".

    Der ADODB-Treiber erwartet das auch so.

  • Hallo MojoeB,


    es gibt verschiedene Zugriffsmöglichkeiten per Autoit auf MySQL.

    Die Unten stehende UDF nutzt die libmysql.dll, von daher benötigt man keine ODBC Treiber und deren Einrichtung.


    Den Download gibts bei Github "https://github.com/BugFix/AutoIt_MySQL".

    Direktdownload https://github.com/BugFix/Auto…ive/refs/heads/master.zip


    Hier im Board: MySQL UDF - mit libmySQL.dll (kein ODBC)


    Gruß gmmg

  • gmmg :


    ist das von unserem BugFIX ?? das ist ja super genial.

    mit bplaced habe ich es jetzt noch nicht versucht aber mit xampp funktioniert es.


    sry wenn ich nachfrage aber

    wie benutze ich diese Funktion genau ? Um neue elemente der Datenbank hinzufügen oder zu aktualisieren?


    ; Function Name: _MySQL_Insert_ID

    ; Description:: Returns the value generated for an AUTO_INCREMENT column by the previous INSERT or UPDATE statement.

    ; Parameter(s): $MySQL_ptr - Pointer to the MySQL struct

    ; Requirement(s): libmysql.dll

    ; Return Value(s): Described on weblink

    ; Author(s): Prog@ndy

    ;

    ; Further Information: http://dev.mysql.com/doc/refman/5.1/en/mysql-insert-id.html

    ;

    ;===============================================================================

    ;

    Func _MySQL_Insert_ID($MySQL_ptr)

    If Not $MySQL_ptr Then Return SetError(3, 0, 0)

    Local $row = DllCall($ghMYSQL_LIBMYSQL, "uint64", "mysql_insert_id", "ptr", $MySQL_ptr)

    If @error Then Return SetError(1, 0, 0)

    Return $row[0]

    ;~ Return __MySQL_ReOrderULONGLONG($row[0])

    EndFunc ;==>_MySQL_Insert_ID

  • Hallo MojaeB,


    Bugfix hat das ja schon beantwortet :)


    Ich benutze aber immer den Aufruf _MYSQL_Real_Query. Hier ein kleines Beispiel.


    Gruß gmmg

  • MojoeB

    Hat das Label [ gelöst ] hinzugefügt.