MySQL: Unterschied zwischen den Versionen
| Zeile 25: | Zeile 25: | ||
| − | # Read the manual if you want to enable InnoDB! | + | # Read the manual if you want to enable InnoDB! |
| − | # skip-innodb | + | # skip-innodb |
| − | innodb_data_home_dir = | + | innodb_data_home_dir = |
| − | innodb_data_file_path = /var/lib/mysql/ibdata/ibdata1:100M:autoextend | + | innodb_data_file_path = /var/lib/mysql/ibdata/ibdata1:100M:autoextend |
| Zeile 34: | Zeile 34: | ||
| − | mkdir /var/lib/mysql/ibdata | + | mkdir /var/lib/mysql/ibdata |
| − | chown -R mysql /var/lib/mysql/ibdata | + | chown -R mysql /var/lib/mysql/ibdata |
| − | chgrp -R mysql /var/lib/mysql/ibdata | + | chgrp -R mysql /var/lib/mysql/ibdata |
| Zeile 42: | Zeile 42: | ||
| − | /etc/init.d/mysql restart | + | /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. | 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:40 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.