Site Tools


Hotfix release available: 2025-05-14b "Librarian". upgrade now! [56.2] (what's this?)
Hotfix release available: 2025-05-14a "Librarian". upgrade now! [56.1] (what's this?)
New release available: 2025-05-14 "Librarian". upgrade now! [56] (what's this?)
Hotfix release available: 2024-02-06b "Kaos". upgrade now! [55.2] (what's this?)
Hotfix release available: 2024-02-06a "Kaos". upgrade now! [55.1] (what's this?)
New release available: 2024-02-06 "Kaos". upgrade now! [55] (what's this?)
Hotfix release available: 2023-04-04b "Jack Jackrum". upgrade now! [54.2] (what's this?)
code-schnipsel:mysql:innodb_zu_myisam

Bei aktuelleren MySQL-Installationen ist die Standard-Engine InnoDB und nicht mehr MyISAM.
Das kann gerade bei Typo3 dazu führen, dass die Datenbankzugriffe sehr langsam werden. Mit folgendem PHP-Script können alle Datenbanktabellen von InnoDB auf MyISAM geändert werden:

$db = mysql_connect('localhost','someadmin','somepass');
$dbs = array();
$dbs[] = 'databasename';
 
foreach($dbs as $v){
    mysql_select_db($v);
    $q = mysql_query('show tables');
    $tables = array();
    while($r = mysql_fetch_row($q)){
            $tables[] = $r[0];
    }
    foreach($tables as $t){
        echo "do $v.$t<br />\n";
        mysql_query('ALTER TABLE `'.$t.'` ENGINE=MyISAM;');
    }
}
mysql_close($db);

Dieses Script einfach in das Root-Verzeichnis der Webseite legen und aufrufen.
(Logo: die Platzhalter 'someadmin', 'somepass' und 'databasename' müssen vorher ersetzt werden ;-))

code-schnipsel/mysql/innodb_zu_myisam.txt · Last modified: 2024/01/05 13:07 by 127.0.0.1