September 2010 Archive

Da ich von dem InnoDB-Plugin sehr begeistert bin, konfiguriere ich es - wenn möglich - nach jeder Paketinstallation.
Das OS meines neuen Rootservers (Ubuntu 10.04) kommt mit MySQL 5.1.41-3ubuntu12.6,
so muß nur folgendes in die /etc/mysql/my.cnf eingefügt werden um das InnoDB-Plugin zu aktivieren.


ignore-builtin-innodb

plugin-load=innodb=ha_innodb_plugin.so;innodb_trx=ha_innodb_plugin.so;innodb_locks=ha_innodb_plugin.so;innodb_lock_waits=ha_innodb_plugin.so;innodb_cmp=ha_innodb_plugin.so;innodb_cmp_reset=ha_innodb_plugin.so;innodb_cmpmem=ha_innodb_plugin.so;innodb_cmpmem_reset=ha_innodb_plugin.so



(Es handelt sich um zwei Zeilen, die erste verhindert das Laden der internen InnoDB-Engine und die zweite Zeile lädt das Plugin.)

So die Theorie, doch im Errorlog ist folgendes zu lesen:




100909  0:16:27 [ERROR] Can't open shared library '/usr/lib/mysql/plugin/ha_innodb_plugin.so' (errno: 0 failed to map segment from shared object: Permission denied)



Hier verbietet AppArmor mmap auf das InnoDB-Plugin. Selbstredend kann auf AppArmor  verzichtet und deaktiviert werden. (Dienst stoppen und aus dem Runlevel entfernen.)

Soll AppArmor aber weiter genutzt werden, ist es notwendig die Konfiguration anzupassen:)
Der (/usr/sbin/)mysqld hat laut /etc/apparmor.d/usr.sbin.mysqld bereits Zugriff auf
  /var/lib/mysql/** rwk,


Sprich folgende Zeile hinzufügen:


 /usr/lib/mysql/plugin/* m,


AppArmor reloaden und Spaß haben :)


Der Sarrasani,

| Keine Kommentare | Keine TrackBacks
der hat irgendwie gesagt gehabt, dass Intelligenz so zwischen 50 und 80 Prozent in den Genen ist! .... Was eine Verschwendung! Im Kopf sind die besser aufgehoben! Jawohl aber auch!