====== Werkzeuge ====== ^Name ^Beschreibung ^ | myisamchk |Reperatur und Wartungswerkzeug für MyIsam-Tabellen \\ \\ **Prüfen** \\ myisamchk //Tabellenname// \\ \\ Tabellenname: Kann der Name der zu prüfenden Tabelle oder der Name des .myi-Indexfiles der Tabelle sein. **Achtung:** myisamchk muss im Verzeichnis der Datenbank ausgeführt werden (meist /var/lib/mysql///Datenbankname//) bzw. am Ort wo die Datenbankdatei liegt -> es weiß nicht wo MySql installiert ist \\ \\ \\ **Reparieren:** \\ myisamchk -r -f --silent //Tabellenname// \\ \\ -r -> repair \\ -f -> Force (überschreibt einige Dateien wo nomrlaerweise abgebrochen wqürde) \\ --silent -> Gebe nur Fehlermeldungen aus | ====== Konfiguration ====== ===== Systemdatenbanken ===== * mysql -> Benutzer, Berechtigungen usw. * information_schema -> Meta-Informationen über alle Datenbanken * existiert nur virtuell * kann nicht verändert werden * Informationen über alle Datenbanken und Tabellen im System - Zugriffsrechte, Datentypen usw. * Sichtbar für alle Benutzer * Benutzer können die Daten sehen auf die sie Zugriffsrechte haben ====== How To ====== ===== Auto_Increment zu Spalte hinzufügen ===== Syntax: alter table //Tabellen-Name// modify //Spaltenname// //Typ// auto_increment; \\ \\ Beispiel: ALTER TABLE kunden MODIFY kundennummer int auto_increment Einige Beispiele im Netz geben am Ende "Primary Key" an. \\ Das geht nur, wenn die Tabelle (auch wenn es die zu modifzierende Spalte ist) noch keinen Primary Key hat. \\ Sonst: "ERROR 1068 (42000): Multiple primary key defined " ====== Troubleshooting ====== ^Problem ^Mögliche Lösung ^ |Tabelle gerasht | 1. Feststellen was für eine Art von Tabelle -> mysql einloggen; Datenbank wählen; show table status -> unter Engine steht welche Table Engine für die jeweilige Tabelle zuständig ist \\ \\ 2. Reparieren -> wenn es sich um eine myIsam-Tabelle handelt -> siehe myisamchk unter "Werkzeuge"| ====== Notizen ====== ===== slow.log ===== * Angaben sind in Sekunden/Millisekunden (hängt von der verwendeten Version ab; Millisekunden sind nach dem Dezimalpunkt) * Lock-Time -> Zeit bis die Query augeführt werden konnte; Bis dahin wurde auf die Freigabe der Tabelle (die eventuell durch andere Prozesse blockiert wurde) gewartet