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 mysql4 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
39 replies on “MySQL 4 unter Debian/Ubuntu (für CAO)”
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 :-(
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
Hallo,
sieht so aus als fehlt der Compiler. Probiere mal “apt-get install build-essential”.
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.
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!
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
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…
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.
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…
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
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?
Hallo,
achso benutze es zur zt genau nach Beschreibung mit den gleichen Passwörtern
Hi,
dies liegt wahrscheinlich daran, dass CAO nicht mit den “neuen” Password-Hashes zurechtkommt. Die Anleitung ist um ein paar Befehle erweitert…
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
Hallo,
super vielen Dank .
Jetzt klappt es auch mit einen ssh tunnel
Super!!!
Danke euch!!!!!!
@ maik
schau mal da:
http://www.tsunamihost.ch/hosting/faq/mysql/zugriff_von_aussen.php
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
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
[…] […]
Hallo
Ich erhalte folgende Fehlermeldung bei ./configure:
checking for termcap functions library… configure: error: No curses/termcap library found
System: Debian Lenny.
Danke, Markus
Hallo, versuche mal “apt-get install libncurses5-dev”
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.
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.
unter debian 6.xx funktionierts nicht, zumindest bei mir nicht. hat es schon jemand hin-gekriegt?
Hallo und besten Dank für die Anleitung.
Nach einem Servercrash waren wir in 30 Minuten wieder mit unserem CAO online :-)
Einzig der Importaufruf:
/usr/local/mysql4/bin/mysql -p -P 3307 -D cao < cao.sql
ist so besser:
/usr/local/mysql4/bin/mysql -p -P 3307 -D cao < cao.sql
Dann braucht man bei einer "frischen" Squeeze Installation nur noch "Drag and Drop" :-)
Gruß, Heiko
Danke, habe ich korrigiert.
http://web.archive.org/web/20100502081020/http://www.cao-faktura.de/wiki/index.php/MySQL/Ubuntu
Da der wiki von netz ist… Ich habe mich auch tot gesucht ;-)
Schöne Grüße,
Dino
Was muß abgeändert werden um das Ganze auf einem 64bit-System zu installieren?
mfg, Andy.
Ich hatte diese Anleitung bereits vor einiger Zeit einmal erfolgreich umgesetzt auf einem Ubuntu-Server.
Jetzt versuche ich dies allerdings auf einem gemieteten vServer mit CentOS 5 und bereits bestehender MySQL 5.0 DB für die dort gehosteten Websites.
Da die zu installierenden Paketnamen in der Welt von Red Hat anders lauten, bin ich nach einigem googeln auf die folgenden gestoßen und habe diese per yum installiert:
gcc gcc-c++ kernel-devel make automake ncurses-devel
Damit hat dann schonmal make funktioniert, allerdings wurde das Datenverzeichnis /usr/local/mysql4/var nicht automatisch angelegt. Also noch ein mkdir /usr/local/mysql4/var eingefügt.
Wobei ich jetzt aber nicht mehr weiterkomme:
/etc/init.d/mysql4 start
Starting MySQL................................... ERROR!
Mehr sagt mir die Konsole dabei nicht. Und in /var/log/mysqld.log steht nur folgendes:
mysqld started
[ERROR] Can't start server : Bind on unix socket: Permission denied
[ERROR] Do you already have another mysqld server running on socket: /usr/local/mysql4/var/mysqld.sock ?
[ERROR] Aborting
[Note] /usr/local/mysql4/libexec/mysqld: Shutdown complete
mysqld ended
Zu dem Fehler hab ich jetzt schon einige Stunden Google bemüht aber ohne Erfolg.
Der MySQL5-Server läuft unter /var/lib/mysql/mysql.sock
Die Berechtigungen habe ich auch schon einige Male geprüft und neu gesetzt, ich dachte eigentlich hiermit sollte es laufen: chmod -R 755 /usr/local/mysql4
Aber scheinbar gibt es ja immer noch Probleme mit den Berechtigungen, nur ich komme jetzt mit meinen begrenzten Linux Kenntnissen dort einfach nicht mehr weiter.
Für alle die bei Cao Admin die Meldung erhalten dass zwar tabellen enthalten sind aber nicht verwendet werden können.
In /usr/local/mysql4/var/my.cnf folgende Zeile einfügen:
lower_case_table_names=1
Das bewirkt, dass Mysql die Tabellen nicht case sensitive behandelt.
Vielen Dank für die Anleitung. Auch im Jahr 2015 gibt es noch Leute, die anhand dieser Anleitung erfolgreich auf einem Debian 7.8 diese uralte CAO Faktura installieren. Wo ist der paypal-Link?
Geile Anleitung.
Mal sehen, wie weit ich am WE komme.
Habe folgendes vor:
MySQL4 auf Raspi 2.
2 Sticks als Raid System.
Auf das USB Stick Raid die Datenbank auslagern.
Die SD Karte optimieren wegen den Schreibzugriffen.
Automatisch alle 7 Tage ein Komplettes Backup in die Cloud.
Mal sehen, ob ich das zusammenbringe :-D
den Sticks würde ich aber nicht trauen. Lieber ein paar ordentliche Platten die auch für RAID ausgelegt sind, gibts auch als USB. Die 100€ wäre es mit Wert. RAID Recovery/Datenverlust ist meist teurer ;-)
Würde sowieso Raid 1 werden ;-)
Hallo und VIelen Dank für diese tolle Anleitung!
Ich hätte eigentlich nur eine kleine Frage.
Wird der “mysql-4.1.22” Ordner nach einer erfolgreichen Installation denn noch benötitgt?
Vielen Dank schonmal im vorraus.
nein, der darf gelöscht werden. Gruß Otto
Vielen Dank für diese hilfreiche Anleitung. Um mysql4 unter Debian 9.3 erfolgreich kompilieren zu können, musste ich vor “./configure …” noch
export CFLAGS=”-Wno-narrowing”
export CXXFLAGS=”-Wno-narrowing”
eintippen (eines von beiden würde wohl reichen, aber doppelt hält besser). Sonst bricht make mit einer Fehlermeldung ab. Ausserdem musste ich der my.cnf unter [mysqld] user = mysql4 eintragen. Sonst brach der Start jeweils ab.
Ob das ganze jetzt zuverlässig funktioniert, wird sich noch zeigen… ;) grüsse
Vielen Dank für die Anleitung. Um mysql4 unter Debian 9.4 erfolgreich kompilieren zu können, musste ich vor „./configure …“ noch
export CFLAGS=’-std=gnu99′
export CXXFLAGS=’-std=gnu++98′
ausführen.
mein passwort wurde irgendwie falsch gespeichert, zumindest bekomme ich immer beim password ein access denied.
wie kann ich das zurück setzten?
die normalen anleitungen gehen ja nur von einer mysql instanz aus und mariadb will ich ja nicht ändern.