Kullanıcı Adım

Şifrem

Üye Ol
Php&mysql Tabanlı Siteler İçin Taşınma El Kitabı / Telnet / Ssh / Mysql 4.1 / Dum / Utf - 8

karşılaştığım problemleri ve bulabildiğim çözüm yollarını aktarmaya çalışayım. Forumda bir çok kaynaktan faydalandım, bu noktadaki bilgileri bu konu altına toplarsak taşınma ile ilgili sorun yaşayan arkadaşların zaman kaybını önleriz..

Hatalarım var ise düzeltiniz, tecrübeleriniz var is ekleyiniz.

[B]HAZIRLIK[/B]

Kendi makinanızdan sunucuya, yada mevcut sunucunuzdan başka bir sunucuya taşınmadan önce ilk yapılması gereken sağlam yedekler almak.

[I]En önemlisi ise yeni sunucuya %100 kurulumu yapan kadar eski sisteminizi kesinlikle silmeyin[/I]

[B]YEDEK ALMA (DOSYALAR) [/B]

Önceik sitenizin dosyalarını yedekleyiniz, eğer imkanınız varsa kısa resim,html,php vb. dosylarınıza kısa göz atın çünkü ftp'den download sırasında bağlantı hatalarından dolayı dosyalarınız eksik gelebilir.
Seri çalışmak için ve hatalardan uzak olmak için yedek klasorunuze yada arsiv dosyanıza mutlaka tarih atın, 1 den fazla yedeğiniz varsa karışıklığa sebeb vermemek için.

[COLOR="Red"]İPUCU =[/COLOR] Çok büyük bir siteye sayipseniz zaman kazanmak için sitenizi komple tekbir arsiv dosyasinda sıkıstırıp sadece bu dosyayı FTP'ye atarak ordan açtırmanız size zaman kazandıracaktır. Tabiki bunun için sunucunuza TELNET yada SSH bağlantınız olması gerekiyor.
telnet bağlantısından sonra sitenizin dosylarını yedeklemek için aşağıdaki komutu veriniz.



Bu komuttan sonra sunucu yedeklerim.tar dosyasını oluşturarak FTP'ye atacaktır.

[B]YEDEK ALMA (VERİTABANI) [/B]

Genelde taşınma sırasında vt yedeği alırken sorunlar çıkabiliyor. Bu nedenle verilerin güvenli ve temiz bir şekilde yedeklenmesi için PMA vb. programlar yerine direk Telnet yada SSH kullanmak oldukça sağlıklı. Dirde veritabanı büyükse kesinlikle konsol kullanmanızı öneririm.

Telnet yada ssh ile sunucunuza bağlandıktan sonra aşağıdaki komutu giriniz bu vtyedek.sql adında bir dosya oluşturarak FTP'nize atacaktır.

[PHP]mysqldump --add-drop-table -h SUNUCU -u KULLANICI -pŞİFRE VERİTABANI vtyedek.sql [/PHP]

[I]pŞİFRE birleşik yazıldığına dikkat edin.[/I]

[COLOR="Red"]İPUCU =[/COLOR] Forumdan edindiğim bilgiye göre yedek alırken karakter seti belirtmek daha sağlıklı oluyormuş. bunun için.

[PHP]mysqldump --add-drop-table -h SUNUCU -u KULLANICI -pŞİFRE --default-character-set=latin5 VERİTABANI vtyedek.sql [/PHP]

[B]YENİ SUNUCUYA AKTARIM (DOSYALAR) [/B]

VT ve Dosyalarımız artık birer arşiv dosyası olarak elimizde şimdi yeni sunucumuza FTP bağlantısı yaparak vtyedek.sql ve yedeklerim.tar dosylarını sunucuya upload edebiliriz. DAHA SONRA BU DOSYALARI SİLMEYİ UNUTMAYINIZ.

yedeklerim.tar Dosyasını açmak için yeni sunuya Telnet yada SSH bağlantısı kurunuz.

Bu komut ile dosyamızı açabiliriz.

[PHP]tar -xpf yedeklerim.tar[/PHP]

Devamında güvenlik için bu dosyayı silmede fayda var silmek için

[PHP]rm yedeklerim.tar [/PHP]

Komutunu kullanınız.

Dosyalarımız ftp'de hazır tabiki arşivi silmeden önce dosyaları kontrol etmekte fayda var.

[B]YENİ SUNUCUYA AKTARIM (VERİTABANI) [/B]

vtyedek.sql dosyamızı zaten FTP'ye atmıştık şimdi sitemizin paneli aracılığı ile oluşturduğumu veritabanımıza bu sql dosyasını yazabiliriz. Telnet yada SHH'ya bu konutu veriniz.

[PHP]mysql -h SUNUCU -u KULLANICI -pŞİFRE VERİTABANI vtyedek.sql[/PHP]

Bu komut ile vtyedek.sql yedek dosyamızı veritabanımıza yazmış olduk.

[COLOR="Red"]İPUCU =[/COLOR] Forumdan edindiğim bilgiye göre veritabanına yazarkende karakter seti belirtek sağlıklı oluyormuş yada panelden oluşturduğunuz veritabanının karakter setini ayarlayabilirsiniz.

[I]Karakter Setini ayarlamak için[/I]

[PHP]ALTER DATABASE `veritabaniadi` DEFAULT CHARACTER SET latin5 COLLATE latin5_turkish_ci[/PHP]

[I]Veritabanını Yazarken Karakter Belirmek İçin[/I]
[PHP]
mysql -h SUNUCU -u KULLANICI -pŞİFRE --default-character-set=latin5 VERİTABANI vtyedek.sql[/PHP]

[I]Konsoldan Latin5 Karakter Setine Sahib Veri tabanı oluşturmak için[/I]

[PHP]CREATE DATABASE `veritabaniadi` DEFAULT CHARACTER SET latin5 COLLATE latin5_turkish_ci;[/PHP]

Böyle veritabanımızıda yazdık. Şuan dosyalarımız ve veritabanımız yeni sunucuda Sitemizi Test edlim... Oda ne ? TR Karakterler yok ? $kod vb. değişenler içeren sayfalar çalışmıyor..

Eğer böyle bir sorun varsa , ki olabilir. şu yolu izleyiniz. Sitenizin veritabanına bağlanan kodunun altına

[PHP]mysql_query("SET NAMES 'latin5'");
mysql_query("SET CHARACTER SET latin5");
mysql_query("SET COLLATION_CONNECTION = 'latin5_turkish_ci'");[/PHP]

bunları ekleyiniz bu TR karakter sorununu çözecektir. Tabiki safyanızın tepesinde bunlar olmalı...

[PHP]meta http-equiv="Content-Type" content="text/html; charset=windows-1254"
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9"[/PHP]

Eğer sitenizde bulunan aşağıdaki vb. kodlar bulunan sayfalar çalışmıyorsa, ki buda normaldir.

[PHP]?&kod=1713&islem=habersil
?&kod=1713&islem=haberduzelt[/PHP]

yapmanız gerek değikenleri bu şekilde tanımlamak

[PHP]$kod=$_GET['kod']; [/PHP] eğer sayfanıza çok büyükse hepsini değiştirmek biraz zaman alır bunun yerine php.ini da bulunan register_globals bölümünü on yaparak kısa bir çözüm bulunabilir.

[B]SORULAR,,, SORUNLAR[/B]

[B]PHP.INI DOSYASIDA NE ? NERDEN BULUCAM [/B]

sunucuda /etc/php.ini yolunda bulunuyor buna erişme şansınız varsa bir editorle acip ON yapabilirsiniz, eğer yoksa hostign şirketinden bunu taleb edin.

[COLOR="Red"]İPUCU =[/COLOR] Eğer sunucu sizinsi ve benim gibi komut satırı tecübeniz az ise, [B]Bitvise Tunnelier[/B] adında br program var bununla sunucuya bağlanıp dosyalar arasında gezebiliyorsunuz örneğin php.ini dosyasini bulup, download edip değiştirip geri upload edebilirsiniz.

[B]VERİTABANIM 80 MB PMA İLE DUMP EDEMİYORUM NE YAPICAM [/B]

bunun için bigdump adında tek dosyalık bir php yazılımı var 80 mblik dosyayı ftp'ye atıp, bu yazılama gösterdiğiniz o sizin yerinize bunu yapıyor. tabiki en sağlıklısı yukardaki anlattığımız telnet yada ssh kullanmak.

[B] MySQL 4.1.xxx KULLANIYORUM KARAKTER SORUNUM VAR.[/B]

[PHP]etc/my.cnf ya da /etc/mysql/my.cnf[/PHP]

içine
[PHP]default-character-set=latin5[/PHP]
ekleyiniz.

[B]MySQL karakter seti: UTF-8 Unicode (utf8) BUDA NE[/B]

Tr karakterde sorun çıkıyorsa

tabloları ve veritabanını "latin5_turkish_ci" olarak ayarlayın

ayrıca bu kodları vt bağlantı dosyanıza ekleyin.

[PHP]mysql_query("SET NAMES 'latin5'");
mysql_query("SET CHARACTER SET latin5");
mysql_query("SET COLLATION_CONNECTION = 'latin5_turkish_ci'");[/PHP]


Yazının Devamı İçin Tıklayın

Konuyu Yollayan: YALNIZLIK
Okunma Sayısı: 166
Yorum Sayısı: 0
Eklenme Tarihi: 07/02/2008
Kategorisi: Php Scriptler
Cevap Yaz

PHP&MYSQL Tabanlı Siteler için taşınma El Kitabı /TELNET/SSH/MySQL 4.1/DUM/UTF-8, Php Scriptler, PHP&MYSQL Tabanlı Siteler için taşınma El Kitabı /TELNET/SSH/MySQL 4.1/DUM/UTF-8