[Eisfair] MySQL: Backup legt einen nicht vorhandenen Backup-Pfad nicht selbst an - Neue Auffälligkeiten

Andreas Hardtung andreas at hardtung.de
Sa Jun 9 14:12:04 CEST 2012


Am 08.06.2012 23:08, schrieb Andreas Hardtung:
> Am 07.06.2012 15:38, schrieb Holger Bruenjes:
>> Hallo
>>
>> Am 2012-06-03 17:45, schrieb Holger Bruenjes:
>>
>>>> By the way: Wäre auch schön den Datenbankpfad z.B auf /data setzen zu
>>>> können. Die Datenbank wächst doch beträchtlich. Habe es jetzt erst mal
>>>> mit einem Symlink gelöst.
>>
>>
>> Ich habe das jetzt in das Paket eingebaut, mysql-1.9.0, da an einigen
>> Stellen Anpassungen noetig waren ist dieses wieder ein testing Release.
>>
>> Bei einem Update wird keine Automatische Aenderung durchgefuehrt, dafuer
>> muss Hand angelegt werden.
>>
>> Datenbank Server stoppen
>> Datenbanken verschieben
>> config neu abspeichern
>>
>> Holger
>>
> Klappt so noch nicht.
>
> Mein mysql Verzeichnis ist auf /data/mysql. /var/lib/mysql war ein
> symlink auf /data/mysql. Damit lief es ganz so wie ich wollte.
>
> Habe nun dein neues Paket eingespielt. Kurzes gemecker über das
> Nichtvorhandensein von /backup/mysql beim update. Klar, war ja zu dem
> Zeitpunkt nicht gemounted. mysql startet wieder problemlos.
>
> Config geöffnet - Datenpfad auf /data/mysql gesetzt - gespeichert. Alles
> läuft normal.
>
> mysql angehalten - symlink /var/lib/mysql entfernt - mysql startet nicht
> mehr. Kein Wunder, findet wahrscheinlich z. B. den Socket nicht.
>
> /data/mysql nach /var/lib/mysql kopiert. Server startet wieder.
>
> Kontrolle ergibt aber, dass nun auch wieder die Datenbanken in
> /var/lib/mysql genutzt werden. Auch im Log wird gemeldet, dass /var/lib
> benutzt wird.
> Schade.
>
>
>
>
Hallo Holger.

Habe den Fehler wohl gefunden.

in /var/install/config.d/mysql.sh:
...
# set datadir
if [ -n "${MYSQL_DATADIR}" ]
then
# MYSQL_DATADIR ist gesetzt
     if "${_new_install:-false}"
# Hier steckt der Wurm drin. IF- und # ELSE-Zweig sind wohl
# vertauscht. Siehe auch weiter unten.
     then
# keine Neuinstalation
         _mysql_datadir="${MYSQL_DATADIR}"
# sagd jedenfalls der Code -
     else
# Neuinstalation
         if [ -d "${_default_datadir}/mysql" ]
         then
             _mysql_datadir="${_default_datadir}"
         elif [ -d  "${MYSQL_DATADIR}/mysql" ]
         then
             _mysql_datadir="${MYSQL_DATADIR}"
         fi
# sagd jedenfalls der code
     fi
else
     _mysql_datadir="${_default_datadir}"
fi

# make my.cnf file
make_mysql_conf

# if new install, install in MYSQL_DATADIR
if "${_new_install:-false}"
then
# Neuinstalation
     mkdir -p -m 775 "${_mysql_datadir}"
     # start mySQL internal installscript
...

Gruß
	Andreas


Mehr Informationen über die Mailingliste Eisfair