MySQL 5: Welcher Unterschied zur MySQL 4?

  1. Der_Jan

    Der_Jan Thread StarterMacUser Mitglied

    Mitglied seit:
    06.01.2004
    Beiträge:
    609
    Zustimmungen:
    7
    Moin,
    mein Webspace-Provider fragt mich im Benutzermenu, ob ich eine MySQL 4 oder 5 anlegen möchte. Habe bis heut immer mit der Version 4 gearbeitet und bin mir nun nicht sicher: Funktioniert die 5 genauso wie die 4 oder sind die Unterschiede so erheblich, dass man sich in 5 erst einarbeiten muss?

    Gruß
    Der Jan
     
    Der_Jan, 10.02.2006
  2. Eppi

    EppiMacUser Mitglied

    Mitglied seit:
    11.10.2004
    Beiträge:
    473
    Zustimmungen:
    7
    Ich meine Views und Stored Procedures wären neu. Bin aber nicht 100%ig sicher.

    gruss Eppi

    PS: Ich behaupte mal, dass eine Einarbeitung nicht nötig ist! Machst du PHP oder JSP, oder was?
     
    Eppi, 10.02.2006
  3. master_p

    master_pMacUser Mitglied

    Mitglied seit:
    31.01.2005
    Beiträge:
    1.063
    Zustimmungen:
    23
    Ich glaube der größte Unterschied (für den Administrator) ist, dass die Passwortverwaltung bei MySQL5 anders läuft und man deshalb entweder mit "-oldpasswords" konpiliert oder aber die Passwörter neu vergibt, denn man kann sich nicht mehr einloggen, wenn man es mit einem 4er Account bei einer 5er versucht, wo der Dump (einfach so) eingespielt wurde.

    Ansonsten sind eigentlich nahezu alle alten Funktionen gleich geblieben, von daher macht es keinen allzu großen Unterschied für laufende Scripte, ob sie auf einer 4er oder 5er DB laufen. Wie gesagt, hauptsache die Passwörter werden beim Dump korrekt gesetzt.
     
    master_p, 10.02.2006
  4. Eppi

    EppiMacUser Mitglied

    Mitglied seit:
    11.10.2004
    Beiträge:
    473
    Zustimmungen:
    7
    Die old-Password Problematik existiert schon seid mindestens 4.1. Falls das eine Hilfe für einen DB-Umzug ist.


    Gruss Eppi
     
    Eppi, 10.02.2006
  5. wegus

    wegusMacUser Mitglied

    Mitglied seit:
    13.09.2004
    Beiträge:
    14.982
    Zustimmungen:
    1.545
    mit der Version5 wird aus mysql langsam ein Datenbanksystem, statt nur ein Datencontainer. Subselects gehen glaub ich schon länger, seit wann mysql richtige joins unterstützt weiß ich nicht genau, aber Version 5 beherrscht glaub ich auch schon Stored Procedures und views oder? Fehlen nur noch Trigger und dann wird mysql langsam interessant. Ich bin sicher bei mysql.com gibt es eine feature-Seite die die Neuerungen auflistet!
     
    wegus, 10.02.2006
  6. Gunter_S

    Gunter_SMacUser Mitglied

    Mitglied seit:
    15.03.2004
    Beiträge:
    147
    Zustimmungen:
    3
    trigger gibt's doch bei MySQL 5 schon.
    nach mysql.com:

    MySQL 5.0 Key Features:
    * Stored Procedures
    * Triggers
    * Views
    * Information Schema
    * Archive Storage Engine

    Gunter
     
    Gunter_S, 10.02.2006
  7. wegus

    wegusMacUser Mitglied

    Mitglied seit:
    13.09.2004
    Beiträge:
    14.982
    Zustimmungen:
    1.545
    mir war so als wären die erst für 5.1 geplant, dann wird mysql langsam interessant :)
     
    wegus, 10.02.2006
  8. Gunter_S

    Gunter_SMacUser Mitglied

    Mitglied seit:
    15.03.2004
    Beiträge:
    147
    Zustimmungen:
    3
    Ich fände es sehr toll, wenn MySQL mit Objekten wie Oracle umgehen könnte.
     
    Gunter_S, 10.02.2006
  9. moses_78

    moses_78MacUser Mitglied

    Mitglied seit:
    08.04.2005
    Beiträge:
    1.264
    Zustimmungen:
    22
    Was zur Hölle sind "trigger" bei Datenbanksystemen?

    Danke im Vorraus,
    moses :)
     
    moses_78, 12.02.2006
  10. Gunter_S

    Gunter_SMacUser Mitglied

    Mitglied seit:
    15.03.2004
    Beiträge:
    147
    Zustimmungen:
    3
    ein klassisches Beispiel sind die Preisentwicklungstools bei E-Shops.
    Man definiert einen Trigger auf der Tabelle aller Artikel, so dass immer wenn ein Preis geändert wird, automatisch in einer zweiten Tabelle mitgeloggt wird, wann sich der Preis wie geändert hat.

    also statt manuell folgendes auszuführen:
    Code:
    SELECT costs FROM article WHERE id=[i]xyz[/i];
    INSERT INTO preislog (oldcosts, newcosts, changedon) VALUES ([i]aktueller_preis[/i], [i]neuer_preis[/i], NOW());
    UPDATE article SET costs=[i]neuer_preis[/i] WHERE id=[i]xyz[/i];
    
    macht man beim Anlegen der Tabellen folgendes:
    Code:
    CREATE TABLE preislog (
      id int PRIMARY KEY,
      oldcosts float,
      newcosts float,
      changedon date
    );
    CREATE OR REPLACE TRIGGER Package_Update BEFORE
        UPDATE ON artikel
        FOR EACH ROW WHEN (new.costs != old.costs) Begin
        insert into preislog(id,oldcosts,newcosts,changedon)
       values(:new.id,:old.costs,:new.costs,sysdate);
    End;
    
    und danach kann man ein einfaches
    Code:
    UPDATE article SET costs=[i]neuer_preis[/i] WHERE id=[i]xyz[/i]
    
    machen und alles weitere geschieht automatisch im Hintergrund.

    Die SQL-Statements waren jetzt aus Oracle, bei MySQL wird's aber dann wohl so ähnlich sein, da habe ich Trigger selbst noch nicht benutzt.

    Gunter
     
    Gunter_S, 12.02.2006
Die Seite wird geladen...
Ähnliche Themen - MySQL Welcher Unterschied
  1. malah
    Antworten:
    3
    Aufrufe:
    1.152
    beatles
    10.02.2017
  2. beatles
    Antworten:
    4
    Aufrufe:
    444
  3. Hausbesetzer
    Antworten:
    7
    Aufrufe:
    976
    Deine Mudda
    27.04.2016
  4. xenon96
    Antworten:
    2
    Aufrufe:
    580
    xenon96
    27.06.2015
  5. Splash
    Antworten:
    20
    Aufrufe:
    1.418