Voici un petit script pour convertir vos tables de MyISAM à InnoDB:


$dsn = "mysql:host=mysql;dbname=DBNAME";
$username = "";
$password = "";
$from = 'MyISAM';
$to = 'INNODB';

try {
  $pdo = new PDO($dsn, $username, $password);
}
catch(PDOException $e) {
  die("Bad credentials");
}

$result = $pdo->query("SELECT TABLE_NAME FROM information_schema.TABLES  WHERE TABLE_SCHEMA = '$db' AND ENGINE = '$from'");
foreach ($result as $row) {
  $success = $pdo->exec("ALTER TABLE {$row['TABLE_NAME']} ENGINE = $to");
  if($success) {
    echo "{$row['TABLE_NAME']} - successn";
  } else {
    $info = $pdo->errorInfo();
    echo "{$row['TABLE_NAME']} - failed: $info[2]n";
    die();
  }
}


Bien entendu il faut modifier les variables du début du script ;)