Tekil Mesaj gösterimi
Alt 03 Ağustos 2008, 02:41   #7
Çevrimiçi
Ocean
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Linux Hk. Sorularınız/Sorunlarınız




Kısa ve basit yoldan sana phpmyadmin kurulumunu örnekler ile açıklayayım.

Öncelikle PhpMyAdmin'in son sürümünü indiririyoruz.

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

adresinden çekebilirsin.

daha sonra, tar.gz'den çıkaralım.

PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
tar -zxvf phpMyAdmin*.tar.gz 

Daha sonra config.inc.php dosyasına girelim ve ayarlamalarımızı yapalım.

PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
$cfg[’Servers’][$i][’host’]
$cfg[’Servers’][$i][’user’]
$cfg[’Servers’][$i][’password’] 

değişkenlerini kendine göre ayarlarsın. kullanıcı adı, host şifre vesaire.

Örnek :

PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
$cfg[’Servers’][$i][’host’] = ’localhost’;
$cfg[’Servers’][$i][’user’] = ’ocean’;
$cfg[’Servers’][$i][’password’] = ’12345’; 

Database Bölümleme

Öncelikle database dosyalarınızı yedeklemenin en pratik yolunun phpmyadmin olduğunu ifade ederek başlamak istiyorum. İsterseniz önce onu anlatalım:

Sitenizin kontrol paneline giriş yapınız. (Bunun cPanel olduğunu varsayıyorum) Daha sonra cPanel’den MySQL menüsünü açın ve oradan da phpmyadmin linkini tıklayarak database yönetim sayfanızı açın. Yedeklemek istediğiniz database seçiliyken üst menüden EXPORT (Eğer türkçeyse Dönüştür) linkini tıklayınız. Açılan pencerede dilerseniz sadece yedeklemek istediğiniz tabloları, dilerseniz de tabloların hepsini seçili hale getiriniz. (CTRL+A veya alttaki hepsini seç linki ile hepsini seçebilir, CTRL’ye basılı tutarak tane tane seçim yapabilirsiniz) Daha sonra bunu direkt download edebilmek için altta yer alan Save as file yazısının hemen solundaki kutucuğu tıklayarak seçili hale getiriniz. (Bu kutucuğu işaretlemezseniz de database tablolarını yedekleyebilirsiniz, ama bunu bir sonraki açılan sayfadan yapabilirsiniz) Bu işlemi de yaptıktan sonra diğer ayarlara dokunmayıp Go butonunu tıklayınız. Database’niz tek bir sql uzantılı dosya olarak inmeye başlayacaktır.

Şimdi elimizde sql uzantılı bir database dosyası var ve ancak bağlantımız yavaş olduğu ve/veya bu dosya çok büyük olduğu için bunu parçalara ayırmamız gerekiyor. (İşte dersimizin asıl konusu da bu oluyor)

Elimizde bulunması gerekenler

Sql uzantılı dosyalar normal bir txt dosyasından farksızdır ve herhangi bir txt editörüyle kolayca düzenlenebilirler. (Örn: Notepad gibi) Ancak benim size şiddetle tavsiyem bunun için Context isimli editörü kullanmanız. Nette bulabileceğiniz en kaliteli txt editörlerden birisidir ve tamamen ücretsizdir. Türkçe karakterleri de tanıyan bu programı [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] adresinden indirebilirsiniz. Ancak bunu yapmak istemiyorsanız Notepad’de sizin işinizi görecektir.

Database adımız phpkolik.sql olsun ve şimdi onu bölümleyelim. phpkolik.sql dosyamızı context veya herhangi bir txt editörüyle açtığımızda eğer yedeklemeyi phpmyadmin üzerinden yapmışsak her tablo yaratma komutundan önce ve sonra --------------------- şeklinde çizgiler olduğunu görürüz. İşte bu çizgileri dikkate alarak kolaylıkla birden fazla parçaya ayırmamız mümkündür. Ama bir çokları database dosyalarını phpmyadmin vasıtasıyla değil admin panelinden yedeklediği için bu çizgiler yokmuş gibi anlatacağım:

MY SQL Database’de tablo oluşum komutu CREATE TABLE olduğu için böyle başlayan bölümleri bölüm sonuna kadar kesinlikle bölmüyoruz. Örnek:


PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
CREATE TABLE `cpg_albums` (
  `
aidint(11NOT NULL auto_increment,
  `
titlevarchar(255NOT NULL default ’’,
  
`descriptiontext NOT NULL,
  `
visibilityint(11NOT NULL default ’0’,
  
`uploadsenum(’YES’,’NO’) NOT NULL default ’NO’,
  
`commentsenum(’YES’,’NO’) NOT NULL default ’YES’,
  
`votesenum(’YES’,’NO’) NOT NULL default ’YES’,
  
`posint(11NOT NULL default ’0’,
  
`categoryint(11NOT NULL default ’0’,
  
`pic_countint(11NOT NULL default ’0’,
  
`thumbint(11NOT NULL default ’0’,
  
`last_additiondatetime NOT NULL default ’0000-00-00 00:00:00’,
  
`stat_uptodateenum(’YES’,’NO’) NOT NULL default ’NO’,
  
PRIMARY KEY  (`aid`),
  
KEY `alb_category` (`category`)
TYPE=MyISAM AUTO_INCREMENT=


PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
CREATE TABLE `cpg_categories` (
  `
cidint(11NOT NULL auto_increment,
  `
owner_idint(11NOT NULL default ’0’,
  
`catnamevarchar(255NOT NULL default ’’,
  
`descriptiontext NOT NULL,
  `
posint(11NOT NULL default ’0’,
  
`parentint(11NOT NULL default ’0’,
  
`subcat_countint(11NOT NULL default ’0’,
  
`alb_countint(11NOT NULL default ’0’,
  
`pic_countint(11NOT NULL default ’0’,
  
`stat_uptodateenum(’YES’,’NO’) NOT NULL default ’NO’,
  
PRIMARY KEY  (`cid`),
  
KEY `cat_parent` (`parent`),
  
KEY `cat_pos` (`pos`),
  
KEY `cat_owner_id` (`owner_id`)
TYPE=MyISAM AUTO_INCREMENT=


Yukarıda cpg_albums ve cpg_categories isimli iki tablonun oluşturulma kodları yer almakta. Bunu kocaman bir sql dosyası varsayıp ikiye bölme işlemine başlıyoruz. Burada bizim için en büyük ipucu CREATE TABLE komutunun başlama noktalarıdır. İşte tam o komutu dikkate alarak bölümlediğimizde hiç bir sorunla karşılaşmayız. Bir de bunun dışında :
INSERT INTO `io_oyun_config` VALUES (’isikonline’, 15, 25, 10, 0, 0, 1, 5); ile başlayan satırlar vardır ki bu satırların en başındaki INSERT INTO bir tabloya veri girilirken kullanılan komuttur. Yine CREATE TABLE komutunu nasıl başlangıç için dikkate aldıysak bunu da o şekilde dikkate alarak bölümleme yapmalıyız. Kesinlikle CREATE TABLE ve INSERT INTO ile başlayan komutların bütün parametreleri sona ermeden bölümlemeyiniz. Çünkü bu hem hatalı tablo yapılandırmasına sebep olur, hem de datalarınızda kayba yolaçar.

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları sohbet bizimmekan