Az önce ihtiyacım üzerine phpmyadmin’de varsayılan vertabanı türünü değiştirmek isimli bir yazı yayınlamıştım. Bu yazıdan sonra geçmiş veritabanlarının benzer kazalara kurban gitmemesi için tüm tabloları birlikte değiştirebilmek için ufak bir kod betiği yazdım. Aşağıdaki kod betiği güncel veritabanınızdaki tüm tabloların türlerini (ya da storage-engine’lerini) MyISAM’a çevirir. Dilerseniz kod içerisindeki sorgu cümlesinden (16. satır) INNODB olarak güncelleyerek de kullanabilirsiniz. İşinize yarayacağını düşünüyorum.
<?php
$db_host = 'localhost'; //Sunucu adresi
$db_user = 'root'; //Veritabanı Kullanıcı Adı
$db_pass = ''; //Veritabanı Şifresi
$db_name = 'veritabani'; //Veritabanı Adı
$db = mysql_connect($db_host, $db_user, $db_pass);
mysql_select_db($db_name, $db);
mysql_query("SET NAMES 'utf8'", $db);
mysql_query("SET CHARACTER SET utf8", $db);
mysql_query("SET COLLATION_CONNECTION = 'utf8_general_ci'", $db);
$result = mysql_query('SHOW TABLES');
while($tablo = mysql_fetch_row($result))
{
mysql_query('ALTER TABLE '.$tablo[0].' ENGINE = MYISAM') OR die('Veritabanı Hatası: '.mysql_error());
echo '<strong>'.$tablo[0].'</strong> isimli tablo başarıyla değiştirildi.<br />';
}
echo 'Bitti.';
?>
Kolay Gelsin.
İyi günler.
Bu yazı bugün 0 kere olmak üzere toplam 417 kere okundu.
Related
Posted in: Development
Tagged with: Eğitsel, PHP, SQL