Ik doe een keer per week in crontab -e een mysqldump, dat werkt al maanden maar opeens blijft het aangemaakte bestand leeg. De errorlog meldt niks en ik krijg ook geen mail dat er iets niet werkt.

Wat kan ik doen?
Dit is etc/logrotate.d/mysql-server
# - I put everything in one block and added sharedscripts, so that mysql gets
#   flush-logs'd only once.
#   Else the binary logs would automatically increase by n times every day.
/var/log/mysql.log /var/log/mysql/mysql.log /var/log/mysql/mysql-slow.log /var/log/mysql/error.log {
        daily
        rotate 7
        missingok
        create 640 mysql adm
        compress
        sharedscripts
        postrotate
                test -x /usr/bin/mysqladmin || exit 0
                # If this fails, check debian.conf!
                MYADMIN="/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf"
                if [ -z "`$MYADMIN ping 2>/dev/null`" ]; then
                  # Really no mysqld or rather a missing debian-sys-maint user?
                  # If this occurs and is not a error please report a bug.
                  #if ps cax | grep -q mysqld; then
                  if killall -q -s0 -umysql mysqld; then
                    exit 1
                  fi
                else
                  $MYADMIN flush-logs
                fi
        endscript
}




Ok, dus /var/log/mysqld.log zet ik erbij als ik het goed begrijp...en moet ik dan iets herstarten?
Ik zou adviseren om je my.cnf te reverten naar distributie standaard, omdat je anders bij elke update spul moet gaan wijzigen aan je logrotate configuratie. Zorg ervoor dat de paden naar logfiles in my.cnf overeenstemmen met wat er in logrotate staat, niet andersom.
ok dus ik haal het weg en ik installer mysql opnieuw
> Ok, dus /var/log/mysqld.log zet ik erbij als ik het goed begrijp...en moet ik dan iets herstarten?

Je hoeft niets te herstarten. Logrotate wordt gestart via cron.daily, dus er zijn geen processen die blijven draaien en daardoor op de hoogte gebracht moeten worden van wijzigingen.

> omdat je anders bij elke update spul moet gaan wijzigen aan je logrotate configuratie

Geen idee hoe dit bij Debian werkt, maar het gedrag dat hier wordt beschreven, herken ik niet. ;-) Ik werk zelf vooral met CentOS en Fedora, en wanneer de installer ziet dat je een configbestand hebt dat afwijkt van de distributieversie, wordt de distri-config ernaast gezet met een andere extensie. Het is verstandig om dan wel even te kijken of er nog instellingen zijn die je moet overnemen in je eigen config.

Overigens ben ik het niet oneens met Ben. Als je geen specifieke reden hebt om af te wijken (en zeker als je geen ervaring hebt met systeembeheer), maak je het voor je zelf een stuk eenvoudiger als je voor dit soort dingen de standaard instellingen gebruikt.
Willem, je hebt gelijk, echter ken ik het gedrag van de meeste mensen, "oh nieuwe config vanuit debian, overwrite". Bij CentOS, Fedora etc is het per package verschillend wat er gebeurt; de ene package plaatst een .rpmnew en laat je config ongemoeid, de ander zet een .rpmsave en verandert je config.
Nou, ik heb geprobeerd alles te verwijderen met
 apt-get remove --purge mysql\*
en daarna mysql weer geinstalleerd met
 apt-get install mysql-server php5-mysql
Daarna herstart van Apache
Ik ging even kijken of etc/my.cnf was veranderd nu maar die is helemaal hetzelfde gebleven, maar toen zag ik dat er in /etc/mysql ook een my.cnf was ...



Op debian wordt in principe /etc/mysql/my.cnf gebruikt. Weet je zeker dat mysql vanuit de standaard packages geinstalleerd *was*?
Nee, ik wist echt van niks toen ik begon, gewoon wat tutorials gevolgd (ik wist bv niet dat de ene linuxdistr. de andere niet was) dus ik heb vast wel eens een tutorial gevolgd die niet bedoeld was voor Jessie.
Op dat punt zijn er inderdaad wat verschillen, als voorbeeld is Jessie de eerste Debian distro die systemd gebruikt, en oudere tutorials zijn daardoor niet altijd compatible. Zou niet direct tot problemen moeten leiden, maar het is wel iets om rekening mee te houden.
Dus etc/my.cnf nu nutteloos omdat etc/mysql/my.cnf wordt gebruikt?

Reageren