Piwik – Keine Daten für Monatsreport

Piwik ist ein kostenloses Tool zur Erfassung von Besucherstatistiken der eigenen Website.
Bei einigen Nutzern ist es vorgekommen, dass die Besucherzahlen für die Wochen korrekt angezeigt werden, aber die Zahlen für die einzelnen Monate gen NULL tendieren. Leicht zu erkennen, dass hier etwas nicht stimmt.
Die Lösung hierfür scheint ein bisschen rabiat, führt aber zum gewünschten Ergebnis: Der Graph für die letzten Besuche zeigt wieder die richtigen Werte an.
Hierzu löscht man in der Datenbank alle Tabellen „piwik_archive_blob_*“ und „piwik_archive_numeric_*“. Wer Datenverlust scheut – meiner Meinung nach gehört die „Datenverlust-Phobie“ nicht in die Ecke der Nerd-Krankheiten, sondern vielmehr zu den positiven Eigenschaften eines guten Admins – sollte vorher ein Backup der Datenbank anfertigen. Schließlich kann bei der Reorganisation der Daten auch mal etwas schief gehen.
In meinem Testfall, in dem Daten seit 2011 Protokolliert wurden, lief jedoch alles glatt: Nach dem Löschen der Tabellen, ruft man lediglich das Dashboard der eingetragenen Seite(n) einige Male neu auf. Durch das erneute Aufrufen des Dashboards werden im Hintergrund die Tabellen neu angelegt und mit den Daten aus der Vergangenheit gefüttert. In meinem Fall waren alle Daten nach ca. fünf Seitenaufrufen wiederhergestellt.
Wer sich fragt warum das nicht gleich in einem Aufruf des Dashboards erledigt werden kann, fühle sich bitte mit den Begriffen „Timeout“ und „Memory limit“ leicht auf den Hinterkopf geschlagen. Erhöht ja bekanntlich das Denkvermögen.

ronser.

NUR DER HSV

hsv-golf-logo„Was interessiert mich mein Geschwätz von Gestern“, sagte schon Konrad Adenauer. Schließlich wollte ich mich eigentlich gar nicht mehr ins Vereinswesen einmischen – sollen doch die Herren Vetternwirtschaft und Klüngelei schön mit sich selber spielen, und mir meine Freizeit gönnen. So oder so ähnlich könnte man den Inhalt aus „Das Spiel ist aus!“ zusammenfassen. Schlimmer Weise hält mich auch nochmaliges Lesen des Artikels, und der Abstand von nur 2 Jahren und 11 Monaten nicht mehr davon ab, Lebenszeit für ein Ehrenamt zu opfern. Weiterlesen »

MySQL Upgrade schlägt fehl: access denied for root

Sollte es mal vorkommen, dass nach einem mySQL-Upgrade das Startscript Meldungen mit „access denied for user root@localhost using password: NO“ im Log des MySQL-Servers stehen, lässt sich dass unter Umständen nur durch die Anpassung des Startscriptes für den Dienst beheben.
In meinem Fall so geschehen beim Upgrade von OpenSuSE 11.4 (Greenriver) auf 13.1. Abhilfe schaffte erst die Anpssung der
Zeile 458 in der Datei /etc/rc.d/rcmysql bzw. /usr/sbin/rcmysql:

[..]
 if [ "`grep "Upgrading MySQL..." "$log_upgrade"`" ]; then
                                echo "Problems should be fixed now."
                                echo "Rechecking whether everything is Ok... " | tee -a "$log_upgrade"
                                LANG=C $cmd --no-defaults --force \
                                        --socket="$protected/mysql.sock" | \
                                        sed -e 's|^|\ \ \ |'             | \
                                        tee -a "$log_upgrade"
                        else
                                echo "Upgrading MySQL... " | tee -a "$log_upgrade"
                                echo $cmd | tee -a "$log_upgrade"
                                        LANG=C $cmd --no-defaults --force \
                                                --socket="$protected/mysql.sock"               | \
                                                sed -e 's|^|\ \ \ |'                             \
                                                    -e 's|error|info|'                           \
                                                    -e 's|\(Table\ upgrade\ required.\).*|\1|' | \
                                                tee -a "$log_upgrade"
                        fi
                        [ "$PIPESTATUS" -ne 0 ] && {

im else Teil folgende Zeile verändern:

--socket="$protected/mysql.sock" -uroot -pGEHEIM               | \

Nicht schön, aber selten.
Woher genau der Fehler stammt, konnte ich leider wegen Zeitmangels nicht ausmachen, da neben dem Samba-Server auch diverse Web-Apps um Aufmerksamkeit / Updates betteln. mysqlcheck lief allersings ohne Fehler durch, was den Daemon anschließend einwandfrei starten lässt.

ronser.

MySQL die Logs kürzen

MySQL ist als openSource Datenbank noch immer eine der beliebtesten Systeme. Allerdings kann sich das flinke Datenbanksystem schnell als Speicherfresser unbeliebt machen. Abhilfe schafft da die Überprüfung der Binary-Logs.

Schaut man in das Arbeitsverzeichnis des MySQL-Servers, findet man in der Regel viele mysql-bin.000xxx Dateien. Diese dienen in der Regel für die Master / Slave Replikation, weshalb sie als Single nicht wirklich benötigt werden. Also ‚raus mit ihnen!

Mit

ll /var/lib/mysql

sucht man die neueste Log-Datei und meldet sich dann an der Kommandozeile beim MySQL-Server an

 myslq -u root -p

Ja, root Zugang sollte man haben.
Durch ein beherztes

mysql> FLUSH LOGS;

gefolgt von einem zuversichtlichen (xxx mit der höchsten Zahl aus dem Verzeichnislisting ersetzen!)

mysql> PURGE MASTER LOGS TO 'mysql-bin.000xxx';

und ein bisschen Geduld, wird kurz darauf der Verlauf auf die angegebene mysql-bin.000xxx geschrumpft. Der Speicherplatz wird wieder frei gegeben und der Admin muss sich nicht mehr mit der lästigen „80% Festplattenplatz belegt“ Warnung plagen.

ronser.

Urlaub vorbei

TopOfTheRocksStimmt, eigentlich schon länger. Die USA waren auch so nett den Government-Shutdown vier Tage vor Abflug zu beenden – hat die ganze Tour doch deutlich entspannt.

Wenn man das Bewusstsein der Amis für die Umwelt ihres schönen Landes nur ein wenig schärfen könnte, wäre das riesig. Selbst in Hotels mit vier Sternen in der Landeskategorie gibt es leider noch immer Plastik-Geschirr und Besteck zum Frühstück. Schade.

Weiterlesen »