Eger MySQL sunucunuzu ciddi islerde kullaniyor ve durduracak zaman (eger 24 saat hit alan bir siteniz var ise) bulamiyorsaniz o zaman veritabaninizi içiniz rahat bir sekilde yedeklemek için yapabileceginiz pek fazla bir çözüm yok. Bunlardan benim begendigim ve tahsiye ettigim yol ise mysql sunucunuzabir replikasyon sunucusu baglamak ve onun üzerinden yedeklerinizi almak. Replika olarak çalisacak sunucu ana sunucu ile tamamen ayni olacagindan ve istediginiz zaman gönül rahatligi ile durdurabileceginizden bence güzel bir
çözüm. “Mysql Replication” kurmak ise aslinda oldukça basit.
Eğer tek ip adresi banlamak isterseniz bu kod işinizi görecektir.
Burda sitemize ziyaretçi yollayan sitelerin adreslerini veritabanına kayıt edeceğiz.Daha sonra veritabanından bu kayıtları ve hitlerini görmemizi saglayacağız.Kolları sıvayıp işe başlıyalım;
Alttaki sql sorgusunu phpmyadmin den veritabanına çekin
`domain` varchar(255) NOT NULL DEFAULT '',
`total` int(255) NOT NULL DEFAULT '1′,
PRIMARY KEY (`domain`)
) TYPE=MyISAM;
Veritabanı bağlantı ayarları için ister varolan config.php dosyanıza ekleme yapın, ister ayrı bir config dosyası yaratın yada bağlantıyı kendi config dosyanıza göre ayarlayın(bu son olanı yaparak kayıtları db ye yazacağımız sayfada da değişiklik yapmak zorunda kalıcaksınız)
mysql_select_db(DB_ADI) or die(mysql_error());
Bu makalede bir çok arkadaşımızın resmen işkence yaşadığı mysql 4.1.x sürümü ve türkçe karakterlerin sorunsuz, düzgün şekilde görüntülenebilmesi için nasıl ayarlanacağını anlatacağım.
İlk önce çalışmaya başlamadan önce: http://dev.mysql.com/downloads adresinden MySQL 4.1.x serisinin son sürümünü download ediyoruz.
Konumuz türkçe karakterler olduğu için mysql'nin kurulumunu anlatmıyorum.
Söze başlamak gerekirse, öncelikle MySQL 4.1.x sürümünde türkçe karakter problemi baştan beri yoktur, problemin asıl kaynağı bizim veri tabanlarımızı yanlış karakter setinde oluşturmamız ve server ayarlarınında birebir yanlış configürasyonundan kaynaklanmaktadır.
MySQL 4.1.x serisi ile birlikte yeni bir özellik olarak gelen, karakter setleri (charset) ve buna eşit karşılaştırma setleri (collation), özellikle daha önceki 4.0.x ve 3.0x serilerindeki sıralama ve arama sorgularındaki yaşanan problemi tamamen ortadan kaldırıyor.
MySQL 4.1.x serisinde türkçe karakterler için 2 ayrı karşılaştırma seçeneği bulunmaktadır.
Bunlar;
- latin5_bin (büyük, küçük harf duyarlı)
- latin5_turkish_ci (büyük, küçük harf duyarsız)
Önce yaratacağımız alanın tipi mediumblob olmalı
Sonra tip diye bir alan olşturmalıyız bu alana yüklediğimiz resim dosyasının tipini (Mime tipi : JPEG veya gif vs..) saklamalıyız çünkü çizdirirken işine yarayacak..
Bir resmi veri tabanına kaydetmek için gerekli php kodu aynen şöyle
Yazının devamı »
Geçenlerde çok lazım oldu.Tabiki hata üstüne hata yapamadım
gittim http://www.turk-php.com/ de bir bilene sordum.Benim çok işime yaradı belki başkalarıda nasiplenir diye yazasım geldi.Hadi kolay gelsin.
$sql=mysql_query("select * from haber");
$sayi=mysql_num_rows($sql);
if ($sayi == 0) { echo "tabloda veri yok"; } else { ?>
<table border="0" align="center">
<? $count = 0;
while($row=mysql_fetch_array($sql)) {
if ($count==2) { // burdaki 2 rakamı kaç kolon olacağı ?>
<tr>
<? $count = 0;
} ?>
<td>
<?php echo $row['icerik']; // buraya tablo ekleyerek listeyi hazırlayabilirsin. ?>
<?
$count++;
if ($count==2) { ?>
</tr>
<? } ?>
</td>
<? } ?>
</table>
<?
}
?>
Hemen Hemen Herkesin İnternet Sitesinde Gerek Duyduğu AraçLardan Birisidir Sayaç.Şimdi En Basitinden Bir Sayaç Yapacağız.Bu Sayaç İçin MysqL Veritabanı KuLLanmayacağız.Sadece LocaL Dizinde Bir Dosya oLuşturup CDMOD Unu 777 Yapmamız YeterLi.
Dosyamızın Adı counter.dat Dizinde oLuşturun Ve CHMOD Unu 777 Yapın.
Şimdi KuLLanacağımız PHP FonksiyonLarını SıraLıyorum;
* file_exists() Fonksiyonu iLe Dizinde counter.dat Dosyasının Var oLup oLmadığını Araştıracağız, Eğer Dizinde Dosya Mevcut İse fopen() Fonksiyonu iLe Dosyası Açacağız.
* fgets() Fonksiyonu iLe Dosyadaki BiLgiyi Okuyacağız.
* fclose() iLe Dosyayı Kapatacağız.
* fputs() iLe Dosyaya Yeni EkLeme Yapacağız.
//Eğer dizinde dosya var ise
if(file_exists("counter.dat"))
{
// r sadece okumak için dosyayı açar
$exist_file = fopen("counter.dat", "r");
// 1 byte lık veri okuyabiliriz ve değişkenimize atanıyor
$new_count = fgets($exist_file, 255);
$new_count++;//dosyadaki değişken 1 artırılıyor
fclose($exist_file);//Dosyamızı kapattık
print("$new_count kişi bu sayfayı izledi");
//Ekrana ziyaretçi sayısını yazdırıyoruz
$exist_count = fopen("counter.dat", "w");
//w sadece dosyaya yazmak için dosyayı açar
fputs($exist_count, $new_count);
fclose($exist_count);
}
else //dizinde dosya yok ise
{
$new_file = fopen("counter.dat", "w");//yeni dosya oluşturuyoruz
fputs($new_file, "1″);//içine 1 değerini yazıyoruz
print("1 ziyaretçi bu sayfayı izledi");
fclose($new_file);//ve dosyamızı kapatıyoruz
}
?>
Artık Bizimde Bir Sayacımız Var İyi GünLerde KuLLanın ...

