Vai al contenuto principale

Convertire un MySQL da myISAM ad InnoDB

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.” . “nn”;
echo “Using database: $mydb.” . “nn”;
echo “Running script as $dbuser.” . “nn”;

//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.’ . “nn”;
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.” . “nn”;

?>

#### 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.

Hai bisogno di supporto?

Il nostro reparto tecnico è a disposizione per sciogliere ogni dubbio o per aiutarti a gestire i servizi che hai acquistato!

bandiera Europa

bandiera Europa

Utilizziamo servizi di terze parti per analizzare il traffico sul nostro sito e restare in contatto con i nostri visitatori. Vengono quindi trattati dati di navigazione, indirizzi IP e altri dati simili per mezzo di cookie, come indicato nelle nostre policy. Accettando l’uso dei cookie ci aiuti ad offrirti un’esperienza migliore con i nostri servizi.