[MySQL] Datenbankproblem nach Serverumzug

Bei einem Umzug mehrerer MySQL Datenbanken auf einen neuen Server, gab MySQL beim Starten folgende Fehlermeldungen aus:

ERROR 1577 (HY000) at line 1: Cannot proceed because system tables used by Event Scheduler were found damaged at server start

ERROR 1547 (HY000) at line 1: Column count of mysql.proc is wrong. Expected 20, found 16. The table is probably corrupted

Bei einem Wechsel auf einen neuen Linux-Server, mit einem anderen Linux-Betriebssystem, ist es sehr gut möglich, dass auf dem neuen System auch eine andere MySQL-Version läuft, so war es auch hier der Fall. Es ist wichtig, dass dann ein Upgrade der Datenbanken durchgeführt wird, um solche Fehler zu vermeiden . In unserem Fall war ein normales Upgrade nicht mehr möglich, die Datenbanken wurden schon, wenn auch nur für kurze Zeit, produktiv genutzt. MySQL bietet die Möglichkeit ein –force Upgrade durchzuführen, dies konnte in unserem Fall die Probleme der Datenbanken erfolgreich beseitigen und Mysql läuft nun Fehlerfrei. Anzuwenden ist es wie folgt:

  1. Es wird ein Datenbankbenutzer benötigt, der die Rechte für diese Aktion inne hat, in den meisten Fällen wird dies der root Benutzer von MySQL sein (hiervon gehe ich im Beispiel aus). Es kann aber auch sein, dass statt root ein Benutzer admin,… existiert, Hosting Provider machen so etwas gerne.
  2. Verbindet euch nun mit dem Linux System, z.B. per SSH. Wenn ihr euch mit dem Server per eingeschränktem Useraccount verbunden habt, so wechselt nun mit „su“ zu root. Als nächstes führt ihr folgendes Kommando aus:
    • mysql_upgrade -u root -p --verbose --force
  3. mysql_upgrade führt eigentlich mysqlcheck mit den Parametern –all-databases –check-upgrade –auto-repair aus. So wird das Upgrade also auf alle Datenbanken und alle Tabellen angewandt.
  4. Waren die Eingaben korrekt, und die Reparatur erfolgreich, so muss der Server nur noch einmal gestoppt und wieder gestartet werden. Unter Debian nutzt man folgende Befehle:
    • service mysql stop
    • service mysql start
  5. Die Fehlermeldungen sollten nun Vergangenheit sein. Generell wird empfohlen, bei jedem Upgrade von Mysql, auch ein Upgrade der Datenbanken durchzuführen.

[Linux Howto] Suchen und Ersetzen mit Vi(m)

Ich musste heute auf einem Linux-System ohne grafische Oberfläche eine Konfigurationsdatei anpassen. Hierbei sollte der alte Servername an vielen Stellen gegen den neuen Hostname ausgetauscht werden. Natürlich kann man die einzelnen Fundstellen von Hand editieren, aber im „Vi“ gibt es einen schönen Ausdruck, mit dem ein String gesucht und ersetzt werden kann.

Wer „Vi“ nicht kennt, es handelt sich hierbei um einen Editor (der über extrem viele Shortcuts und Anpassungsmöglichkeiten verfügt), der auf jedem Linux-/Unix-System zu finden ist. Die Bedienung ist etwas gewöhnungsbedürftig, ermöglicht aber nach etwas Einarbeitungszeit extrem schnelles Editieren und Coden.

Nun aber zum „Suchen und Ersetzen“ mit vi:

Möchte man alle Fundstellen gegen einen neuen String austauschen, so bringt folgendes Kommando das gewünschte Ergebnis:

:%s/string_alt/string_neu /g

Möchte man nur eine Zeichenkette austauschen, so lässt man einfach das „/g“ weg.

Da hierbei reguläre Ausdrücke verwendet werden, ist es wichtig vor speziellen Zeichen, wie z.B. einem Punkt, den so genannten Escapecharacter einzufügen. Hierbei handelt es sich um einen Backslash „\“. Statt . würde man also \. eingeben.

Wichtig !!!
Seid vorsichtig mit Befehlen im Terminal, ausgeführte Befehle können euer System dauerhaft schädigen und zu Datenverlusten führen. Also verschafft euch zuerst das notwendige Wissen und verwendet erst dann das Terminal. Ich hafte nicht für Schäden, die durch die Anwendung meiner Howtos entstehen.

Wichtig !!!

Seid vorsichtig mit Befehlen im Terminal, ausgeführte Befehle können euer System dauerhaft schädigen und zu Datenverlusten führen. Also verschafft euch zuerst das notwendige Wissen und verwendet erst dann das Terminal. Ich hafte nicht für Schäden, die durch die Anwendung meiner Howtos entstehen.

Links:

[Linux] Ubuntu per USB-Stick installieren

Ich bin heute auf ein geniales Tool gestoßen, um Ubuntu (oder eine andere Linux-Distro) per USB-Stick zu installieren. Das eignet sich natürlich besonders für Geräte ohne DVD-Laufwerk, wie z.B. die aktuellen Netbooks, oder eben für mein kleines Thinkpad X61s. Das Tool von dem ich hier schreibe nennt sich UNetbootin, ist Open Source und kann von sourceforge.net in einer Windows- und einer Linux-Version geladen werden. Ich habe mich für die Windows-Variante entschieden. Nach dem Herunterladen und Entpacken des Programms kann es auch direkt ohne Installation gestartet werden.

unetbootin_01.jpg

Als erstes wählt man die zu installierende Linux-Variante aus, in meinem Fall Ubuntu. Anschließend wählt man das zugehörige ISO-Image aus, das man von der jeweiligen Distributions-Homepage geladen hat. Als Typ kommt bei mir nur USB Drive in Frage und an dieser Stelle sollte man überprüfen, dass das angezeigte Laufwerk auch zu dem USB-Stick passt, denn dieser verliert bei einem Klick auf „OK“ jegliche Daten und das Tool kopiert die notwendigen Installationsdaten auf den Stick und macht ihn bootfähig.

unetbootin_02.png

unetbootin_03.png

Nach der Installation kann man zwischen einem Neustart wählen, wenn das Linux auf dem aktuellen System aufgespielt werden soll, oder man beendet den Assistenten und nutzt den USB-Stick an jedem beliebigen Gerät, das von USB booten kann. Denkt daran, dass Ihr im BIOS das Booten von USB aktiviert!

Wenn ihr von dem USB-Stick hochfahrt, startet bei Ubuntu ein Live-Modus und ihr könnt zuerst mal Ubuntu etwas testen, oder ihr klickt auf dem Desktop auf Installieren. So einfach war es echt noch nie, ein Linux per USB-Stick zu nutzen. Also probiert es ruhig mal aus.

Links:

 

BASH SCRIPTING 101 – Convert a man page to pdf and read it in Preview on a Mac

With the following command, you can convert the ps-formatted manpage automatically to pdf and it opens in preview. Works on every Mac:

man -t sed | open -f -a preview

WARNING: Allways be careful when you use a shell command, I don’t take any responsibility for accidents or data loss that result from using the shown example commands. If you want to know more about the used commands, take a look in the associated manpages.

Bash Scripting 101 – Change file names from lower case to upper case and vice versa

The following command line changes filenames recursively from lower case to upper case and vice versa, just change the position of lower and upper:

find . -type f|while read f; do mv $f `echo $f |tr „[:lower:]“ „[:upper:]“`; done

WARNING: Allways be careful when you use a shell command, I don’t take any responsibility for accidents or data loss that result from using the shown example commands. If you want to know more about the used commands, take a look in the associated manpages.

PS: Thanks to Berta from command-line-fu

Zattoo – Echtes TV über das Internet

Mit Zattoo ist es möglich fast 50 TV-Programme kostenlos (natürlich ist die GEZ zu bezahlen) über das Internet mit dem Zattoo-Player anzuschauen. Hierfür muss man sich nur auf der Seite von Zattoo registrieren, den Player herunterladen und schon kanns losgehen. Die Öffentlich-Rechtlichen haben mit Zattoo einen Test über ein Jahr vereinbart und steuern so auch ARD, ZDF, ZDF Doku, u.v.m. bei. Des Weiteren sind auch Sender wie MTV, Comedy Central oder DMAX mit im Programm. Das alles ist kostenlos und soll auch so bleiben. Unterstütz werden die Plattformen Windows, Mac und Linux. Es sollte also keiner zu kurz kommen. Erste Tests ergaben, dass die Qualität zwar nicht die beste ist, aber doch brauchbar genug, um nebenher mal etwas TV laufen zu lassen. Was die Internet-Bandbreite angeht, so sollte es ab einem DSL-1000 keine Probleme mehr geben.

PS: Sollte jemand von rechtlichen Problemen erfahren, die diese Möglichkeit verursacht, so wäre ich für Informationen per Mail dankbar.

Links:

Phun ist Fun

phun

An der Umeå Universität in Schweden wurde eine Software entwickelt, die das Fach Physik spielerisch näher bringen soll. Es handelt sich dabei um eine Simulation physikalischer Kräfte und erinnert mehr an ein Spiel, als an eine lehrhafte Anwendung. Sie wurde hauptsächlich für Kinder entwickelt, wird aber auch den ein oder anderen Erwachsenen einige Stunden beschäftigen. Man kann damit einfache physikalische Experiment  zeichnerisch aufbauen und testen. Probiert es einfach aus, es lohnt sich.

PS: Die Anwendung gibt es für Windows, Mac und Linux und es ist für den nichtkommerziellen Einsatz kostenlos.

Links:

Howto: Trillian nimmt ICQ Passwort nicht an

Normalerweise arbeite ich ja zu Hause mit Macs und nutze dort Adium für ICQ-Chats. Damit hatte ich bisher auch noch keine Probleme. Seit letzter Woche arbeite ich nun auch mit Windows Vista auf einem Thinkpad X61s (Absolut geniales Notebook, kann ich nur jedem empfehlen und vielleicht schreib ich mal nen kleinen Testbericht) und wollte Trillian nutzen, da ich noch nie den ICQ-Client benutzt habe. Also schnell Trillian geladen und installiert, ICQ-Nummer und Passwort eingetippt und es folgt eine schöne Fehlermeldung, dass mein Passwort wohl falsch sei. Also teste ich das Passwort nochmal kurz in Adium und natürlich funktioniert es dort sofort. Nach kurzer Recherche im Internet konnte auch eine Lösung gefunden werden:

Trillian unterstützt nur Passwörter mit maximal 8 Zeichen und es darf kein Sonderzeichen enthalten sein. Erlaubt ist also a-z und 0-9.

Wem das nicht genügt, der kann als Alternative Pidgin (früher mal Gaim) benutzen, welches auch komplexere Passwörter und Linux als Betriebssystem unterstützt.

Links:

Howto: Große Testdateien mit dd erstellen

Mir ging es schon öfter so, dass ich den Datendurchsatz im Netzwerk testen wollte, aber gerade nicht die passende Dateigröße zur Hand hatte. Unter Mac OS X oder einem Linux-/Unix-Derivat ist dies ganz einfach. Mit dem Tool dd, das auf diesen Systemen bereits vorinstalliert ist, kann man beliebig große Files aus Zufallsdaten erstellen. Dies funktioniert folgendermaßen:

  • Mit Hilfe der Blocksize und der Anzahl die Dateigröße festlegen. Hier ein Beispiel
    • Gewünscht ist eine Datei mit 100MB -> 100*1024*1024 = 104857600 Byte
    • Diesen Wert durch die gewünschte Blocksize teilen und man erhält den Wert für die count-Variable des Befehls dd
    • 104857600 / 512 = 204800
    • Nun hat man alle benötigten Werte zur Hand und kann die Zufalssdatei erzeugen
    • dd if=/dev/random of=/ZielVerzeichnis/testdatei bs=512 count=204800
    • Schaut man sich nun mit „ls -lah“ die Datei an, wird man sehen, dass sie genau 100MB groß ist

Howto – Installation der Parallels Tools unter OpenSUSE 10.2

Laut Parallels soll man nur das Image per Klick auf „Aktionen->Parallels Tools installieren“ mounten, anschließend in das CD-Rom Verzeichnis wechseln und die Tools mit „sh parallels-tools.run“ installieren.

Dieser Weg hat so leider nicht funktioniert, darum hier die Lösung:

  • Klicke auf das Menü „Aktionen“ und anschließend auf „Parallels Tools“ installieren. Das Image wird in OpenSUSE zwar erkannt, aber es erscheint als leeres Medium.
  • Das Image muss von Hand in das /mnt Verzeichnis gemounted werden. Hierzu führe den Befehl „mount /dev/cdrom /mnt“ aus.
  • Nun muss nur noch das Installationsscript gestartet werden. Hierzu wechselt man nach /mnt und startet mit folgendem Befehl die Installation: „sh parallels-tools.run“
  • Nun muss nur noch der XServer oder die gesamte VM neu gestartet werden und die Tools sollten funktionieren.

Es können leider bei weitem nicht alle Funktionen genutzt werden die unter Windows verfügbar sind, aber das automatische Resizing des Bildschirms und die Mausoptimierung funktionieren.