MySQL 4 unter Debian Etch (für CAO)

Da die freie Warenwirtschaft & Buchhaltung CAO (www.cao-faktura.de) aus verschiedenen Gründen nicht mit MySQL 5 klarkommt (bzw. klarkommen will), folgend die nötigen Schritte einer MySQL 4 Installation parallel zu Mysql 5 unter Debian Etch (sollte aber auch mit anderen Distributionen so klappen). MySQL 4 wird in diesem Beispiel auf Port 3307 laufen.

Installation

groupadd mysql4
useradd -m -d /usr/local/mysql4 -s /bin/false -g mysql mysql4
apt-get install build-essential libncurses5-dev
 
wget http://sunsite.informatik.rwth-aachen.de/mysql/Downloads/MySQL-4.1/mysql-4.1.22.tar.gz
tar xvfz mysql-4.1.22.tar.gz
cd mysql-4.1.22
 
./configure --prefix=/usr/local/mysql4 \
--with-unix-socket-path=/usr/local/mysql4/var/mysqld.sock \
--with-mysqld-user=mysql4 \
--with-server-suffix=mysql4 \
--with-tcp-port=3307
 
make && make install
/usr/local/mysql4/bin/mysql_install_db
cp /usr/local/mysql4/share/mysql/mysql.server /etc/init.d/mysql4
cp /usr/local/mysql4/share/mysql/my-medium.cnf /usr/local/mysql4/var/my.cnf
chown -R mysql4:mysql4 /usr/local/mysql4
 
/etc/init.d/mysql4 start

MySQL 4 läuft nun auf Port 3307. Es ist noch notwendig dem Benutzer “root” noch ein Password zu geben. Danach ist Anlegen und Import der CAO-Datenbank möglich.

/usr/local/mysql4/bin/mysqladmin -P 3307 -u root password "xvz"
/usr/local/mysql4/bin/mysql -p -P 3307

CAO spezifisch

Nach Eingabe des soeben festgelegen Passworts ist nun eine MySQL-Shell offen. Folgende Statements legen die CAO Datenbank und Benutzer an.

Nachtrag: Da der CAO Mysql-Client nicht mit den neuen Password-Hashes ab MySQL4 zurecht kommt, muss dieses mit der OLD_PASSWORD Funktion gesetzt werden.

CREATE DATABASE cao;
GRANT ALL ON cao.* TO cao@'%' IDENTIFIED BY 'xyz';
SET PASSWORD FOR cao@'%'=OLD_PASSWORD('xyz');
FLUSH PRIVILEGES;

Import der alten Datenbank

/usr/local/mysql4/bin/mysql -p -P 3307 -D cao < cao.sql

Clientseitig ist in der CAO32_DB.cfg der MySQL-Port noch zu verändern:

M001_PORT=3307
This entry was posted in Linux and tagged , . Bookmark the permalink.

23 Responses to MySQL 4 unter Debian Etch (für CAO)

  1. Chris says:

    Herzlichen Dank für das Tutorial.
    Hat mir letzte Nacht wirklich sehr geholfen, denn nach dem Upgrade von Sarge auf Lenny hatte ich kein MySQL4 mehr :-(

  2. Hallo Leute,
    erst einmal vielen Dank für das Tutorial. Schade das ihr kein Namen veröffentlicht, ist so unpersönlich. Ich möchte für mich einen kleinen Datenserver mit CAO Datenbank unter Debian5 Lenny installieren. Bin nach der Anleitung vorgegangen, aber ohne Erfolg. Ich bin allerdings kein Profiauf der Console (noch lernfähig). Ich vermute, das Debian5 seine Dateien vielleicht anders installiert als Debian4.
    Nach ./configure… bekomme ich folgende Fehlermeldung
    configure: error: no acceptable C compiler found in $PATH

    Kannst du mir da weiterhelfen??
    Bin ein wenig um Hilfe verlegen.

    Lieben Gruß
    Zeljko

  3. otto says:

    Hallo,
    sieht so aus als fehlt der Compiler. Probiere mal “apt-get install build-essential”.

  4. Heiko says:

    Das Paket libncurses5-dev muss auch installiert sein.
    Um MySQL4 beim Booten zu starten, muss noch ein “update-rc.d mysql4 defaults” hinterher geschoben werden.

  5. Christian says:

    Nach einem Serverneustart geht der MySQL 4 nicht mehr. Beim Starten schreibt er nur (in der Konsole) “Starting MySQL”
    und dann geht er trotzdem nicht.

    In der syslog steht dann:
    Jul 7 12:47:53 server mysqld_safe[4263]: A mysqld process already exists

    dies hat aber bisher immer geklappt. Und: ja, natürlich läuft ein zweiter mysql! Ich hab ja 4 und 5 paralell nebeneinander am laufen.

    Kennt da jemand einen Weg?

    Danke und LG!

  6. Tobias says:

    Hallo,

    gibt es auch eine möglichkeit MySQL 4 auf Debian 5.0 Lenny zu installieren wenn ja könnte mir jemand mal eine Anleitung schicken an meyer-tobias@gmx.de

    Danke Tobi

  7. otto says:

    Hi, ich kann mir nicht vorstellen, dass diese Vorgehensweise nicht auch unter Lenny funktionieren sollte… Getestet habe ich es direkt nicht – aber wohl von Etch zu Lenny geupdated und MySQL 4 läuft noch immer…

  8. maik says:

    Hallo,

    ich versuche gerade Mysql auf Lenny zu installieren.
    Ich bleibe aber schon bei den Befehl :
    useradd -m -d /usr/local/mysql4 -s /bin/false -g mysql mysql4
    hängen .Es kommt dann useradd: unknown group mysql
    Es ist ein Lenny minimalsystem.
    Bitte um hilfe.

  9. admin says:

    Hi, das liegt wohl daran, dass ich Mysql 5 parallel laufen habe (die Gruppe mysql also schon existierte). In deinem Fall sollte vorher noch ein “groupadd mysql” ausgeführt werden…

  10. maik says:

    Hallo,

    ups habe den Fehler selbst gefunden .
    Wer lesen kann ist klar im Vorteil
    Muss ich für Cao noch was an der Datenbank umstellen?(außer den cao Client auf port 3307 zu setzen?
    wenn ich mich mit cao versuche einen neuen Mandanten anzulegen und teste kommt das der Server erreichbar ist aber der Zugriff ist verwert

  11. maxlex says:

    Cao admin: Der Server ist erreichbar, jedoch wurde der Zugriff verweigert. Mit Ununtu server und auch Mysql 4und 5, Port 3308. Nah diesem How To:http://www.cao-faktura.de/wiki/index.php/MySQL/Ubuntu
    ergänzt durch die letzten Befehle in diesem. Was mache ich falsch bzw. fehlt?

  12. maik says:

    Hallo,

    achso benutze es zur zt genau nach Beschreibung mit den gleichen Passwörtern

  13. otto says:

    Hi,
    dies liegt wahrscheinlich daran, dass CAO nicht mit den “neuen” Password-Hashes zurechtkommt. Die Anleitung ist um ein paar Befehle erweitert…

  14. maik says:

    Hallo,

    super !!!!
    vielen Dank!!!!
    Kann mir einer eine Beschreibung nennen wie ich unter Lenny einen ssh-tunnel zur Datenbank einrichte.(zugegriffen wird von Windows aus)Habe mit Debian nicht viel erfahrung

  15. maik says:

    Hallo,

    super vielen Dank .
    Jetzt klappt es auch mit einen ssh tunnel

    Super!!!
    Danke euch!!!!!!

  16. Christian says:

    sorry. hätte zuende lesen sollen. es hat ja schon geklappt.

    Ich habe allerding auch ein mysql problem
    Mysql startet garnich, und im syslog steht auch nicht warum. eigentlich steht da garnichts bezügl. mysql.

    irgendjemand ne idee?

    lg
    chris

  17. Also ich würd die wiki noch n bisschen überarbeiten wie z.b
    apt-get install build-essential und
    apt-get install libncurses5-dev
    dann wäre die ganze sache perfekt. naja und es muss ein sql server installiert sein damit er die gruppe mysql kennt, ausser man nimmt groupadd mysql dann funzt es auch

    MFG Müller Martin

  18. Pingback: mysql 4&5 - Forum Fachinformatiker.de

  19. Markus says:

    Hallo

    Ich erhalte folgende Fehlermeldung bei ./configure:
    checking for termcap functions library… configure: error: No curses/termcap library found

    System: Debian Lenny.

    Danke, Markus

  20. admin says:

    Hallo, versuche mal “apt-get install libncurses5-dev”

  21. sven says:

    wieso schreibt er mir nach eingabe der zeile:
    /usr/local/mysql4/bin/mysqladmin -P 3307 -u root password “xvz”
    (hab “xvz” mit neuem passwort ersetzt)

    /usr/local/mysql4/bin/mysqladmin: connect to server at ‘localhost’ failed
    error: ‘Access denied for user ‘root’@'localhost’ (using password: YES)’

    was kann ich tun? ein pw für mysql4 wurde doch in der installation noch nicht gesetzt.

  22. Crogge says:

    Sollte jemand Probleme haben das der Server nicht automatisch unter Debian gestartet wird empfehle ich/etc/init.d zu überprüfen. Dort sollte das Script “mysql4″ zu finden sein, einfach “insserv mysql4″ ausführen und das Script wird beim booten in den entsprechenden Runlevels gestartet. Notfalls einfach ein eigenes “init.d Script” schreiben das geht mit genügend Linux Erfahrung relativ schnell.

    Falls insserv die Meldung ausgibt das “mysql” bereits existiert da bereits Mysql 5 oder höher installiert ist sollte der Scriptname von “mysql” zu “mysql4″ geändert werden. Der Name ist im Script unter “# Provides: …” zu finden.

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

*

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">