SELECT plz.loc_id, plz.text_val, ort.text_val FROM `geodb_textdata` AS plz RIGHT JOIN (SELECT loc_id, text_val, text_type FROM `geodb_textdata` WHERE text_type = 500100000) AS ort ON plz.loc_id = ort.loc_id WHERE plz.text_type = 500300000
TurboDbAdmin, die Web 2.0 Alternative zu phpMyAdmin
TruboDbAdmin versprich eine interessante Alternative zu phpMyAdmin zu werden. Zwar kann TurboDbAdmin noch nicht mit dem Funktionsumfang von phpMyAdmin gleichziehen, jedoch bietet es dank extensiven Einsatz von AJAX-Technologie einen wesentlich höheren Komfort.
MySQL mit Ruby unter Mac OS X
Möchte man eine MySQL-Datenbank mit Ruby ansprechen, muss unter UNIX-artigen Betriebsystemen den Datenbanktreiber manuell kompilieren.
Dazu genügt es die jeweils aktuelle Version von http://www.tmtm.org/downloads/mysql/ruby/ zu laden und zu kompilieren. Derzeit aktuell ist Version 2.7.3 .
Das Archiv ist mit tar xzvf mysql-ruby-2.7.3.tar.gz
schnell entpackt. Danach wechseln wir ins Verzeichnis mysql-ruby-2.7.3
konfigurieren das Modul:
sudo ruby extconf.rb --with-mysql-include=/usr/local/mysql/include --with-mysql-lib=/usr/local/mysql/lib --with-mysql-dir=/usr/local/mysql --with-mysql-config=/usr/local/mysql/bin/mysql_config
Ich habe MySQL unter /usr/local/mysql
installiert – der Pfad muss unter Umständen angepasst werden. Wo MySQL installiert ist, lässt sich z.B. mit einem which mysql
in Erfahrung bringen.
Der bekannte Einzeiler sudo make && make install
erledigen den Rest.
Mit einem kleinen Script lässt sich die Installation testen:
require "mysql" begin Mysql.new("localhost","dbuser","geheim") puts "Klappt! :)" rescue StandardError puts "Klappt nicht. :(" end
MyISAM Tabellen reparieren
MyISAM Tabellen arbeiten nicht transaktionsorientiert und können beschädigt werden, zum Beispiel wenn mysqld während eines Schreibzugriffs gewaltsam beendet wurde, ein Hardwarefehler vorliegt und ähnliche Katastrophen. Aufmerksam auf ein solches Problem macht neben unvollständigen oder fehlerhaften Ergebnissen einer Datenbankabfrage die Fehlermeldung:
Incorrect key file for table: ‚…‘. Try to repair it
In der Regel lassen sich die beschädigten Tabellen mit repair table your_table; wieder in einen definierten Zustand versetzen. Wenn es schlecht läuft, können aber auch einzelne Datensätze dabei zerstört werden. Kluge Menschen halten darum ein tägliches Backup ihrer Datenbank vor. 🙂
Wenn Datenbanktabellen ohne erkennbaren Grund (zum Beispiel Strom- oder Hardwareausfall) öfters beschädigt werden, ist gut beraten die Serverkonfiguration genauer zu untersuchen oder den Hoster zu wechseln.