Nie wszystkie tabele można w prosty sposób zamienić na innodb.
W dwóch tabelach trzeba zamienić indeksy FULLTEXT na BTREE.
Przykładowy skrypt w php, który zamieni wszystkie tabele MYISAM na INNODB.
W dwóch tabelach trzeba zamienić indeksy FULLTEXT na BTREE.
Przykładowy skrypt w php, który zamieni wszystkie tabele MYISAM na INNODB.
<?php
define("IN_MYBB", 1);
require_once "./global.php";
$db=mysql_connect($config['database']['hostname'],$config['database']['username'],$config['database']['password']);
$dbr = mysql_query("SHOW DATABASES",$db);
while($dbrow = mysql_fetch_object($dbr)){
$dbname = $dbrow->Database;
$dbr2 = mysql_query("SHOW TABLE STATUS FROM $dbname",$db);
while($dbrow2 = mysql_fetch_object($dbr2)){
$tblname = $dbrow2->Name;
$tblengine = $dbrow2->Engine;
if($tblengine == "MyISAM"){
echo $dbname.'.'.$tblname." MyISAM -> InnoDB\n";
mysql_query("ALTER TABLE $dbname.$tblname ENGINE=InnoDB",$db);
}
}
}
?>