T-Rex: Einfaches Programm zum verbinden zu einer MySQL Datenbank und ändern von Daten

Moin,

ich hab da einen Kunden mit einer MySQL Datenbank. Ich soll was an der Datenbank machen. In der Vergangenheit habe ich das immer über phpmyadmin gelöst. Doch jetzt sagt mir dieser Kunde, dass es das nicht gibt.

Kurze Recherche bringt mich zu MySQL Workbench. Runter geladen, installiert ausgeführt. Eigentlich wollte ich mich nur schnell mit der Datenbank verbinden. Die Einrichtung der Workbench sieht aber sehr komplex und kompliziert aus. Außerdem funktioniert die Verbindung zu meiner eigenen Datenbank nicht - Validierungsprobleme. Wahrscheinlich ist die Workbench auch der Porsche unter den MySQL Tools und für den aktuellen Fall viiiiiel zu viel.

Also ich möchte einfach ein kleines Programm für kleine Änderungen. Server, Datenbank, Benutzer, Passwort und los gehts. Hat da jemand eine Idee, bitte?

Merci

Gruß Workrex

  1. Wie so oft ... hätte ich doch einfach mal 5 Minuten länger gesucht.

    Ich glaube mit https://www.heidisql.com/ genau das gefunden zu haben was ich gesucht habe.

    Gruß Quickie T-Rex

  2. Hallo T-Rex,

    also die MySQL Datenbank meines Webhosters kann ich auch nicht erreichen, die hat einen Hostnamen, der im WWW nicht sichtbar ist.

    Wie ist das bei Dir? Ist der Hostname der DB von dem Gerät, auf dem Du die Workbench installiert hast, erreichbar? PING allein reicht nicht, der MySQL Port muss offen sein. Wenn Du ein PHP Script für die Konsole laufen lässt, kann das connecten?

    Für meine MySQL 5.6 DB, die testhalber seit vielen Jahren auf meinem PC schlummert, verwende ich die Workbench, und das funktioniert. Wie lange ich damals geschraubt habe, um das hinzubekommen - öh, ja, weißichnichmehr. Ich verwende zum connecten aber auch den Master-Account, möglicherweise gelingt Dir der Connect mit dem trivialen User-Account nicht.

    Rolf

    --
    sumpsi - posui - obstruxi
  3. Tach!

    Kurze Recherche bringt mich zu MySQL Workbench. Runter geladen, installiert ausgeführt. Eigentlich wollte ich mich nur schnell mit der Datenbank verbinden. Die Einrichtung der Workbench sieht aber sehr komplex und kompliziert aus.

    Naja, es gibt einige Szenarien, wie man sich mit einer Datenbank verbindet. Das sieht dann schon etwas komplexer aus als eine simple Anmeldung für ein 08/15-Szenario.

    Außerdem funktioniert die Verbindung zu meiner eigenen Datenbank nicht - Validierungsprobleme.

    Ein User besteht bei MySQL aus drei Teilen: Username, Passwort und - das ist die Besonderheit - aus einem Hostnamen. Kommst du von einem anderen Host, bist du ein anderer Nutzer - je nachdem, was als Host in den Benutzerdatensätzen konfiguriert ist.

    Damit kann man zum Beispiel erreichen, dass Nutzer von außerhalb sich nicht verbinden dürfen, von localhost aber schon. Als Administrator kann man sich über diese Einschränkung hinwegsetzen, wenn es beispielsweise erlaubt ist, über SSH einen Tunnel aufzubauen, so dass man gegenüber MySQL als localhost erscheint. So ein Szenario macht die Anmeldung in der MySQL Workbench eben komplexer, weil das als Möglichkeit angeboten wird.

    Wenn es bei dir mit HeidiSQL oder anderen Tools möglich ist, sich ohne Verrenkungen (wie SSH-Tunnel) über Internet mit deinem DBMS zu verbinden, dann ist das im Allgemeinen ein unnötig offenes System. Normalerweise müssen nur lokale Anwendungen und gelegentlich auch Anwendungen von Servern im lokalen Netz auf das DBMS zugreifen.

    dedlfix.

  4. Hallo T-Rex,

    In der Vergangenheit habe ich das immer über phpmyadmin gelöst. Doch jetzt sagt mir dieser Kunde, dass es das nicht gibt.

    Nicht gibt? Du meinst der Kunde möchte das so nicht?

    Also ich möchte einfach ein kleines Programm für kleine Änderungen. Server, Datenbank, Benutzer, Passwort und los gehts. Hat da jemand eine Idee, bitte?

    Wäre es da nicht besser ein kleines Admintool selbst zu schreiben ohne die typische Sql-Ansichten?

    Gruss
    Henry

    --
    Meine Meinung zu DSGVO & Co:
    „Principiis obsta. Sero medicina parata, cum mala per longas convaluere moras.“
  5. Also ich möchte einfach ein kleines Programm für kleine Änderungen. Server, Datenbank, Benutzer, Passwort und los gehts. Hat da jemand eine Idee, bitte?

    https://dev.mysql.com/doc/refman/8.0/en/mysql.html – dafür muss man sich natürlich mit SQL auskennen, aber da du ja als bezahlter Fachmann ans Werk gehst …

    [edit 20210323 TS]

    Streichung vorgenommen. Dieser Satz ist entbehrlich und führt zu Minuspunkten, auch wenn ein eigentlicher Tipp brauchbar ist.

  6. Hello T-Rex,

    ich hab da einen Kunden mit einer MySQL Datenbank. Ich soll was an der Datenbank machen. In der Vergangenheit habe ich das immer über phpmyadmin gelöst. Doch jetzt sagt mir dieser Kunde, dass es das nicht gibt.

    Was sollst Du denn "an der Datenbank" machen?

    DDL

    Data Definition Statements, Data Definition Language

    DML

    Data Manipulation Statementsm Data Manipulation Language

    Für letzteres könntest Du dir selber eine Klasse erstellen. Alle benötigten Elemente dafür findest Du im Archiv (db_get_info() und weitere).

    Wenn Du allwedings auch die Struktur der DB einsehen/verändern musst, ist Heidi schon ein sehr praktises Werkzeug, was ich gerne empfehle.

    Sicherheit

    TLS einrichten

    Auf jeden Fall solltest du für den entfernten Zugriff aber einen User einrichten, der ausschließlich über TLS-Verbindung auf die DB zugreifen akann und allen anderen Usern ausschließlich lokale Zugriffe erlauben.

    Port absichern

    Port 3306 wird unheimlich gerne gescannt. Um den abzusichern, sollte auf jeden Fall ein fail2ban auf DB-Zugriffe eingerichtet sein. Das ist im Out-of-the-Box für fail2ban nicht vorhanden.

    Glück Auf
    Tom vom Berg

    --
    Es gibt nichts Gutes, außer man tut es!
    Das Leben selbst ist der Sinn.