Convertire un MySQL da myISAM ad InnoDB

Gentile Cliente,

tutti i nostri servizi, funzionano sia in mysql in myISAM che InnoDB, tuttavia, l'engine di default del mySQL e' attualmente, myISAM, e' possibile convertire le tabelle myISAM in InnoDB avviando questo semplice scripts dentro il suo servizio hosting

#### Script Start, copiare a partire da <?php ###

<?php

$time = explode(' ',microtime());
$time = $time[1] + $time[0]; //return array
$begintime = $time; //define begin time

//Your database connection items here
 
$host = 'localhost'; //Specify host
$dbuser = ''; // Specify user with alter permissions
$dbpass = ''; //user password
$mydb = ''; //specify schema or db to be modified


//connect to database using variables above
$link = mysql_connect($host,$dbuser,$dbpass);
$db = mysql_select_db($mydb);
  
if (!$link) {
die('Could not connect: ' . mysql_error());

}
echo "Connected Successfully to: $host." . "\n\n";
echo "Using database: $mydb." . "\n\n";
echo "Running script as $dbuser." . "\n\n";


//show tables in database
$sql = 'SHOW TABLES';
$rs = mysql_query($sql);

echo $sql;
echo "\n";

if (!$rs) {
die('SQL Recordset Error: ' . mysql_error());

}
else {
//loop through tables and convert to InnoDB
while($row = mysql_fetch_array($rs))
{
$tbl = $row[0];
$sql = "ALTER TABLE $tbl engine=InnoDB;";
mysql_query($sql);

echo $sql;
echo "\n";
}

echo 'Operation Completed.' . "\n\n";
echo 'Confirm Storage Engine conversion using phpmyadmin ' . "\n" . 'or from mysql: show create table tblname.' . "\n";

}
//close connection
mysql_close($link);

$time = explode(" ", microtime());
$time = $time[1] + $time[0];
$endtime = $time; //define end time
$totaltime = ($endtime - $begintime);
echo "Script Execution Time: $totaltime" . " seconds." . "\n\n";


?>

#### Script End, copiare sino a ?> ###

In alternativa, e' sempre possibile fare la conversione manualmente direttamente dal phpMyAdmin, nel tab "OPERAZIONI".

In caso di problemi, aprire un ticket in area clienti.

Cordiali Saluti

Hai trovato questa risposta utile?

 Stampa Articolo

Leggi anche

(104)Connection reset by peer: mod_fcgid: error reading data from FastCGI server

Se riceve l'errore (104)Connection reset by peer: mod_fcgid: error reading data from FastCGI...

Come visualizzo il sito che e' in fase di trasferimento?

Se desidera lavorare sullo spazio da lei acquistato durante il periodo di trasferimento...

Come posso velocizzare l'apertura delle mie pagine web?

Su tutti i nostri servers e' possibile modificare il file .htaccess per velocizzare il...

E' possibile passare da un piano hosting ad un'altro?

Si è possibile semplicemente pagando la differenza di prezzo del nuovo piano hosting

Che porte devo utilizzare per il mio client?

Le porte da utilizzare per i client mail sono le seguentiSMTP AUTH: 25 o 587 SMTP SSL: 465 SMTP...