MySQL: Unterschied zwischen den Versionen
| Zeile 13: | Zeile 13: | ||
} ENGINE=MyISAM | } ENGINE=MyISAM | ||
</pre> | </pre> | ||
| + | |||
| + | === InnoDB aktivieren === | ||
| + | |||
| + | Zitat aus http://www.marmotli.ch/mysql/node35.html | ||
| + | |||
| + | 5.2.1 Aktivieren der InnoDB-Tabellen | ||
| + | |||
| + | Das Arbeiten mit dem Tabellentyp 'InnoDB' setzt voraus, dass der MySQL-Server mit diesem Tabellentyp hochgefahren wird. | ||
| + | |||
| + | Unter Debian 3.0 d.h. falls wir MySQL gemäss dieser Anleitung aufgesetzt haben, steht der InnoDB-Tabellentyp zunächst nicht zur Verfügung. Nicht weil MySQL 4.0.13 das nicht unterstützen würde, sondern weil wir die my.cnf-Datei von der Version 3.23.x übernommen haben und das dort nicht aktiviert war. Um die InnoDB-Tabellen nun zu aktivieren, müssen wir einige Änderungen in der Datei '/etc/mysql/my.cnf' vornehmen: | ||
| + | |||
| + | |||
| + | # Read the manual if you want to enable InnoDB! | ||
| + | # skip-innodb | ||
| + | innodb_data_home_dir = | ||
| + | innodb_data_file_path = /var/lib/mysql/ibdata/ibdata1:100M:autoextend | ||
| + | |||
| + | |||
| + | Zunächst muss 'skip-innodb' deaktiviert werden. Danach müssen wir den Speicherort für die Tabellen angeben. Falls wir 'innodb_data_home_dir' leer belassen, verwendet MySQL den normalen Datenpfad der Datenbanken. Dort werden einige Temporär-Dateien erstellt. Den Speicherort für die InnoDB-Tabellen legen wir mit dem Wert 'innodb_data_file_path' fest. Wir verwenden wiederum den Speicherort für die MySQL-Datenbanken sowie das Unterverzeichnis 'ibdata'. Dieses Verzeichnis muss von Hand angelegt werden: | ||
| + | |||
| + | |||
| + | mkdir /var/lib/mysql/ibdata | ||
| + | chown -R mysql /var/lib/mysql/ibdata | ||
| + | chgrp -R mysql /var/lib/mysql/ibdata | ||
| + | |||
| + | |||
| + | Um die InnoDB-Tabellen endgültig nutzen zu können, müssen wir den MySQL-Server neu initialisieren: | ||
| + | |||
| + | |||
| + | /etc/init.d/mysql restart | ||
| + | |||
| + | |||
| + | Der Neustart dauert einige Sekunden, weil die InnoDB-Tabellen zunächst initialisiert werden müssen. Um zu überprüfen, ob die InnoDB-Tabellen nun aktiviert sind, können wir in '/var/lib/mysql/ibdata' nachsehen. Falls Sie dort eine Datei vorfinden, ist alles ok. | ||
Version vom 12. März 2007, 11:39 Uhr
Informationen zur Datenbank aber auch Tipps zur Bedienung etc.
Codeschnipsel
Typ der Tabellen festlegen
CREATE TABLE `foo` {
...
} ENGINE=InnoDB
CREATE TABLE `bar` {
...
} ENGINE=MyISAM
InnoDB aktivieren
Zitat aus http://www.marmotli.ch/mysql/node35.html
5.2.1 Aktivieren der InnoDB-Tabellen
Das Arbeiten mit dem Tabellentyp 'InnoDB' setzt voraus, dass der MySQL-Server mit diesem Tabellentyp hochgefahren wird.
Unter Debian 3.0 d.h. falls wir MySQL gemäss dieser Anleitung aufgesetzt haben, steht der InnoDB-Tabellentyp zunächst nicht zur Verfügung. Nicht weil MySQL 4.0.13 das nicht unterstützen würde, sondern weil wir die my.cnf-Datei von der Version 3.23.x übernommen haben und das dort nicht aktiviert war. Um die InnoDB-Tabellen nun zu aktivieren, müssen wir einige Änderungen in der Datei '/etc/mysql/my.cnf' vornehmen:
- Read the manual if you want to enable InnoDB!
- skip-innodb
innodb_data_home_dir = innodb_data_file_path = /var/lib/mysql/ibdata/ibdata1:100M:autoextend
Zunächst muss 'skip-innodb' deaktiviert werden. Danach müssen wir den Speicherort für die Tabellen angeben. Falls wir 'innodb_data_home_dir' leer belassen, verwendet MySQL den normalen Datenpfad der Datenbanken. Dort werden einige Temporär-Dateien erstellt. Den Speicherort für die InnoDB-Tabellen legen wir mit dem Wert 'innodb_data_file_path' fest. Wir verwenden wiederum den Speicherort für die MySQL-Datenbanken sowie das Unterverzeichnis 'ibdata'. Dieses Verzeichnis muss von Hand angelegt werden:
mkdir /var/lib/mysql/ibdata
chown -R mysql /var/lib/mysql/ibdata
chgrp -R mysql /var/lib/mysql/ibdata
Um die InnoDB-Tabellen endgültig nutzen zu können, müssen wir den MySQL-Server neu initialisieren:
/etc/init.d/mysql restart
Der Neustart dauert einige Sekunden, weil die InnoDB-Tabellen zunächst initialisiert werden müssen. Um zu überprüfen, ob die InnoDB-Tabellen nun aktiviert sind, können wir in '/var/lib/mysql/ibdata' nachsehen. Falls Sie dort eine Datei vorfinden, ist alles ok.