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.
İyi de kod veriyorsun arkadaş neden veritabanı paylaşmıyorsun... Bu işi yapıyorsan bence veritabanlarını paylaş kı arkadaş php öğrensin iyi arşivde geliştirsin
Merhaba Edel Ajans,
"Bu işi yapıyorsan" tarzı bir yorum bence gereksiz olmuş.
Zira yukarıda paylaştığım kod betiği oldukça genel bir betikdir. Sadece paylaşacağım bir veritabanında değil, kodu incelediğinizde göreceğiniz üzere veri tabanınızdaki tüm tablolar üzerinde işlem yapabilecektir. Bu sebeple ben veritabanı paylaşmasam da siz her veritabanı ile kullanabilirsiniz.
"Veritabanını neden paylaşmıyorsun?" sorunuzun cevabını da böylece vermiş oldum sanıyorum.
İyi günler dilerim 🙂