Ich schrieb: Arjen Lenz betreibt nicht nur den existierenden
Planet MySQL in englischer Sprache, sondern
bereitet jetzt einen solchen auch in deutscher Sprache vor.
Der deutsche Planet MySQL ist jetzt unter http://de.planetmysql.org/ online. Wenn Du
meinst, Dein Blog oder eine Kategorie aus Deinem Blog sollte dort
auftauchen, dann kannst Du Deinen Feed unter http://de.planetmysql.org/newfeed.php
anmelden.
Ein Planet ist eine Website, die Blogs zu einem bestimmten Thema
einsammelt und aggregiert anzeigt. Planet Köhntopp sammelt z.B. meine Blogroll …
Mein Freund Heinz ist Vertriebler, und manchmal sagen Vertriebler
überraschend schlaue Dinge. Heinz zum Beispiel sagt sehr gerne
"Niemand will Backup. Alle wollen Restore!" Er meint damit, daß
ein Backup nicht nur ein lästiges Costcenter in der IT ist,
sondern daß es außerdem keinen Mehrwert "an sich" darstellt. Der
Mehrwert liegt nicht in der Datensicherung, sondern in der
Wiederherstellung der Daten.
Es ist sehr wichtig, dies im Kopf zu behalten, wenn man sein
Backup plant: Es geht nicht wirklich um Datensicherung, sondern
es geht um einen Plan für die Recovery von verlorenen Daten. Das
beinhaltet nicht nur Überlegungen wie man welche Daten
wiederherstellt, sondern auch, wie lange die
Betriebsunterbrechung denn wohl dauern wird und ob das akzeptabel
ist. Überlegungen zum Restore enden nämlich (im Gegensatz zu
Überlegungen zum Backup) oft auch in HA-Konzepten oder
organisatorischen und personellen …
gilt das ganze auch für Mysql Version 4.1?
http://dev.mysql.com/doc/refman/4.1/en/binary-log.html.
Sag mal kannst du mir ein wirklich gutes Mysql Buch empfehlen,
welches nicht nur auf Syntax eingeht sonder sich auch mit der
Konfiguration des Servers auseinandersetzt? Der Preis ist
zweitrangig.
"MySQL für Dummies (6)" vollständig lesen
Key Buffer
In dem letzten Artikel dieser Serie haben wir gesehen, wie MySQL
einen Index anlegt und was dies bedeutet. MySQL at einen Puffer,
mit dem ein Index ganz oder teilweise im RAM gehalten werden
kann. Dies ist der Key Buffer, und er ist eine sehr zentrale
Konfigurationsvariable, die in der [mysqld]-Sektion der my.cnf
gesetzt wird.
[mysqld]
key_buffer = 100M
Dies stellt einen Key Buffer von bis zu 100 MB für den mysqld zur
Verfügung. Mit den STATUS-Variablen key_read_requests und
key_reads kann man dann leicht feststellen, ob dieser Puffer groß
genug ist: key_read_requests sollte sehr viel größer als
key_reads sein, und zwar zwischen 100 und 1000 mal so groß. MySQL
hält dann den MyISAM-Index im RAM, und kann so Daten auf der
Platte sehr schnell finden.
Man kann bis zu 20% des Hauptspeichers, den man MySQL zur
Verfügung stellen will, in …
Wie wir in den vorangegangenen Beispielen gesehen haben, reicht
es nicht aus, einer Datenbank zu sagen, welche Daten sie zu
suchen hat. Wir müssen ihr auch noch Hilfen geben, mit denen sie
in der Lage ist, diese Aufgabe schnell zu erfüllen. Eine sehr
wichtige solche Hilfe ist ein Index.
Eine MYD-Datei wird, wenn sie keine Lücken hat, durch Anfügen von
neuen Datensätzen verlängert. Die natürliche Reihenfolge der
Datensätze in einer MYD-Datei ohne Löschen ist also
chronologisch. Wenn in der MYD-Datei auch gelöscht wird, werden
die Dinge komplizierter, denn MySQL wird versuchen, die Lücken
aufzufüllen. Die Reihenfolge der Datensätze ist dann
zufällig.
Das gleicht einer Bücherei, bei der neu gekaufte Bücher einfach
hinten in die freien Regale gestellt werden, und wenn Lücken
vorhanden sind, diese aufgefüllt werden.
Ein Index ist eine Struktur, die uns erlaubt, bestimmte Suchen
schneller …
Suchen dauern auf unserer Tabelle sehr lange.
root@localhost [rootforum]> select * from t where i = 1163012190;[Mehr]
+----------+--------------+---------------------------+------------+
| id | d | e | i |
+----------+--------------+---------------------------+------------+
| 19999993 | vrciabekkgcb | ykdewonxucqpwtdvzgnschyaw | 1163012190 |
+----------+--------------+---------------------------+------------+
1 row in set (21.81 sec)
root@localhost [rootforum]> select * from t where i = 944905110;
+----+--------------+---------------------------+-----------+
| id | d | e | i |
+----+--------------+---------------------------+-----------+
| 5 | kgiyuxheibsa | bipgdpnvetowphowepuerediy | 944905110 |
+----+--------------+---------------------------+-----------+
1 row in set (19.94 …
Für die folgenden Beispiele wird eine breitere Tabelle gebraucht,
und es müssen auch einige Testdaten vorhanden sein. Daher hier
einmal eine Tabellendefinition und ein Generatorscript für
Testdaten:
root@localhost [rootforum]> drop table t;
Query OK, 0 rows affected (0.00 sec)
root@localhost [rootforum]> create table t ( id bigint unsigned not null, d char(12) not null, e char(25) not null, i integer unsigned not null );
Query OK, 0 rows affected (0.22 sec)
root@localhost [rootforum]>
[1]+ Stopped mysql -u root -p
In http://vvv.koehntopp.de/rrd überwache ich die
Leistungsfähigkeit meines Dedicated Servers. Gestern abend habe
ich mein kleines Erfassungsscript einmal um einige Funktionen
erweitert, um auch die internen Leistungsdaten von MySQL mit
auszulesen und abzuspeichern - jedenfalls in Auszügen.
Das Resultat sind die Grafiken in mysql-traffic und darunter in meiner
Grafiktapete.
"MySQL-Leistungsdaten erfassen" vollständig
lesen
Arjen Lenz betreibt nicht nur den existierenden Planet MySQL in englischer Sprache, sondern
bereitet jetzt einen solchen auch in deutscher Sprache vor.
Wenn Ihr also ein Blog habt, das Artikel in deutscher Sprache
veröffentlicht, dann meldet Euch doch bei arjen@mysql.com. Am günstigsten wäre
es, wenn Euer Blog eine Kategorie "MySQL" hat, und diese als
RSS-Feed bereitsteht, aber Arjen bekommt Artikel auch nach
Stichworten oder Tags in seinen Planet gefiltert.
Ein Planet ist eine Website, die Blogs zu einem bestimmten Thema
einsammelt und aggregiert anzeigt. Planet Köhntopp sammelt z.B. meine Blogroll
ein und aggregiert sie nach Kategrien sortiert.
Ein MySQL Datenbankserver hat ein Datadir. Das Kommando
root@localhost [(none)]> show variables like "datadir";
+---------------+-----------------+
| Variable_name | Value |
+---------------+-----------------+
| datadir | /var/lib/mysql/ |
+---------------+-----------------+
1 row in set (0.00 sec)
sagt uns, wo das liegt. In datadir wird für jede mit "CREATE
DATABASE" angelegte Datenbank ein Verzeichnis angelegt, und für
jede mit CREATE TABLE in dieser Datenbank vorhandene Tabelle eine
*.frm-Datei. Dies gilt für alle Tabellentypen, die MySQL
verwendet, sogar für MEMORY-Tables. Die frm-Datei beschreibt die
Definition der Tabelle, also welche Spalten und Indices vorhanden
sein sollen.
root@localhost [(none)]> create database rootforum;[Mehr]
Query OK, 1 row affected (0.00 sec)
root@localhost [(none)]> use …