MySQL veritabanı oluşturma ve siteye bağlama

MySQL veritabanı oluşturma, kullanıcı oluşturma, yetkilendirme ve PHP ile MySQLi kullanarak siteye güvenli bağlantı kurma adım adım eğitimi. Yeni başlayanlar ve web sitesi yöneticileri için uygundur.

6 dk Güncellendi 29 Jul 2026

Giriş: Neden MySQL Veritabanı Oluşturmak Dinamik Siteler İçin İlk Adımdır?

Her dinamik web sitesi (WordPress, Joomla veya çevrimiçi mağazalar gibi) bilgilerini depolamak için bir veritabanına ihtiyaç duyar. MySQL veritabanı oluşturmak ve siteye doğru şekilde bağlamak, bir web sitesini kurmanın en temel işlemidir. Bu adım olmadan, en basit içerik yönetim sistemi bile çalışmayacaktır. Bu makalede, veritabanı ve kullanıcı oluşturmadan yetkilendirme ayarlarına ve PHP kodu ile bağlantıya kadar tüm süreci pratik ve teknik detaylarla öğreteceğiz.

Adım 1: cPanel'de MySQL Veritabanı ve Kullanıcı Oluşturma

Çoğu paylaşımlı hosting cPanel kullanır. ServerNet veya başka bir sağlayıcı kullanıyorsanız, adımlar benzerdir. cPanel'inize giriş yaptığınızı varsayıyoruz.

1. Yeni Veritabanı Oluşturma

MySQL Databases bölümünde (genellikle Databases grubunda bulunur) aşağıdaki adımları izleyin:

  1. New Database alanına veritabanı adını girin. cPanel'in genellikle veritabanı adına kullaniciadi_ gibi bir ön ek eklediğini unutmayın. Örneğin, mydb adını girerseniz, son ad kullaniciadi_mydb olacaktır.
  2. Create Database düğmesine tıklayın. İşlemin başarılı olduğuna dair bir mesaj göreceksiniz.

Önemli Not: Veritabanı adını hatırlayın. Daha sonra bağlantı için buna ihtiyacınız olacak.

2. Veritabanı Kullanıcısı Oluşturma

Şimdi bu veritabanına erişmek için bir kullanıcı oluşturmalısınız. Aynı sayfada MySQL Users bölümünü bulun:

  1. Username alanına istediğiniz kullanıcı adını girin (yine bir ön ek eklenecektir).
  2. Password alanına güçlü bir şifre seçin. Büyük ve küçük harfler, sayılar ve sembollerin bir kombinasyonunu kullanın. Password Generator düğmesinden yardım alabilirsiniz.
  3. Şifreyi güvenli bir yere not edin.
  4. Create User düğmesine tıklayın.

3. Kullanıcıya Yetki Verme

Yetki vermeden kullanıcı veritabanıyla çalışamaz. Add User to Database bölümünde:

  1. Açılır menüden oluşturulan kullanıcıyı ve veritabanını seçin.
  2. Add düğmesine tıklayın.
  3. Bir sonraki sayfada erişim seviyesini belirleyin. Çoğu dinamik site (WordPress gibi) için ALL PRIVILEGES seçeneğini işaretleyin. Bu seçenek, kullanıcıya mümkün olan tüm yetkileri (SELECT, INSERT, UPDATE, DELETE, CREATE, DROP vb.) verir.
  4. Make Changes düğmesine tıklayın.

Yaygın Hata: Bazı kullanıcılar yalnızca SELECT yetkisi verir, bu da WordPress kurulumunda veya içerik eklemede hataya neden olur. Ana site için her zaman ALL PRIVILEGES kullanın.

Adım 2: Bağlantı Bilgilerini Alma

Uygulamayı veritabanına bağlamak için dört değere ihtiyacınız var:

  • Hostname (Sunucu Adı): Genellikle localhost'dur. Ancak bazı hostinglerde mysql.example.com gibi bir adres olabilir. Bu değeri cPanel'deki MySQL Hostname bölümünde bulabilirsiniz.
  • Database Name (Veritabanı Adı): Örneğin, kullaniciadi_mydb
  • Username (Kullanıcı Adı): Örneğin, kullaniciadi_user
  • Password (Şifre): Önceki adımda belirlediğiniz şifre.

Bu bilgileri güvenli bir metin dosyasında saklayın. Daha sonra PHP kodu ile bağlantı için kullanacağız.

Adım 3: PHP ile Veritabanına Bağlanma (MySQLi)

PHP'yi MySQL'e bağlamanın iki ana yöntemi vardır: MySQLi (MySQL improved) ve PDO. Burada, yeni başlayanlar için daha basit olan procedural MySQLi kullanacağız.

Örnek Bağlantı Kodu

db_connect.php adında yeni bir dosya oluşturun ve aşağıdaki kodu ekleyin:

<?php
$host = 'localhost'; // veya kendi sunucu adresinizi yazın
$dbname = 'kullaniciadi_mydb';
$username = 'kullaniciadi_user';
$password = 'guclu_sifreniz';

// Bağlantı oluştur
$conn = mysqli_connect($host, $username, $password, $dbname);

// Bağlantıyı kontrol et
if (!$conn) {
    die("Bağlantı kurulamadı: " . mysqli_connect_error());
}
echo "Bağlantı başarıyla kuruldu";
?>

Bu dosyayı sitenizin kök dizinine yükleyin ve tarayıcıdan çalıştırın. "Bağlantı başarıyla kuruldu" mesajını görürseniz, işlem doğrudur. Aksi takdirde, hatayı kontrol edin.

Yaygın Hataların Giderilmesi

  • "Access denied for user" hatası: Genellikle kullanıcı adı veya şifre hatasından kaynaklanır. Değerleri tekrar kontrol edin.
  • "Unknown database" hatası: Veritabanı adını yanlış girmişsinizdir. kullaniciadi_ ön ekini de eklemeyi unutmayın.
  • "Connection refused" hatası: localhost kullanıyorsanız ve hostinginiz standart olmayan bir port kullanıyorsa, portu belirtmelisiniz. Örneğin, $host = 'localhost:3307';

Adım 4: Sitede Veritabanını Kullanma (Pratik Örnek)

Artık bağlantı kurulduğuna göre veritabanını kullanabilirsiniz. İşte kullanıcı bilgilerini kaydetme ve görüntüleme için basit bir örnek.

Örnek Tablo Oluşturma

Öncelikle kullanıcı bilgilerini depolamak için bir tablo oluşturun. Bunu cPanel'de bulunan phpMyAdmin veya SQL kodu ile yapabilirsiniz. Aşağıdaki SQL kodunu phpMyAdmin'de çalıştırın:

CREATE TABLE users (
    id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    firstname VARCHAR(30) NOT NULL,
    lastname VARCHAR(30) NOT NULL,
    email VARCHAR(50),
    reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

Tabloya Veri Ekleme

Aşağıdaki kodu insert_user.php dosyasına ekleyin:

<?php
include 'db_connect.php';

$firstname = "Ali";
$lastname = "Yılmaz";
$email = "ali@example.com";

$sql = "INSERT INTO users (firstname, lastname, email) VALUES ('$firstname', '$lastname', '$email')";

if (mysqli_query($conn, $sql)) {
    echo "Yeni kayıt başarıyla oluşturuldu";
} else {
    echo "Hata: " . $sql . "<br>" . mysqli_error($conn);
}

mysqli_close($conn);
?>

Güvenlik Notu: Yukarıdaki kodda doğrudan değerler kullanılmıştır. Gerçek bir projede SQL Injection'ı önlemek için mutlaka Prepared Statements kullanın.

Verileri Görüntüleme

Kayıtlı kullanıcıları görüntülemek için show_users.php dosyasını oluşturun:

<?php
include 'db_connect.php';

$sql = "SELECT id, firstname, lastname, email FROM users";
$result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0) {
    while($row = mysqli_fetch_assoc($result)) {
        echo "id: " . $row["id"]. " - Ad: " . $row["firstname"]. " " . $row["lastname"]. " - E-posta: " . $row["email"]. "<br>";
    }
} else {
    echo "0 sonuç";
}

mysqli_close($conn);
?>

Adım 5: Güvenli Bağlantı ve Optimizasyon

Gerçek siteler için aşağıdaki noktalara dikkat etmek önemlidir:

  • SSL Kullanımı: Siteniz HTTPS kullanıyorsa, veritabanı bağlantısı da şifrelenmelidir. MySQLi'de SSL seçeneklerini kullanabilirsiniz.
  • Bağlantıyı Kapatma: İşlem bittikten sonra bağlantıyı her zaman mysqli_close($conn) ile kapatın.
  • Hata Yönetimi: Hataları doğrudan kullanıcıya göstermek yerine log dosyasına kaydedin.
  • Düzenli Yedekleme: Veritabanınızı periyodik olarak yedekleyin. cPanel bunun için Backup aracını sunar.

Özet

Bu makalede, MySQL veritabanı oluşturma ve siteye bağlama sürecini sıfırdan sonuna kadar öğrettik. cPanel'de veritabanı ve kullanıcı oluşturmaktan, PHP kodu yazarak bağlantı kurmaya ve CRUD işlemleri yapmaya kadar. Güvenlik önlemlerine dikkat ederek ve doğru yöntemleri kullanarak siteniz için istikrarlı ve güvenli bir veritabanına sahip olabilirsiniz. ServerNet gibi web hosting hizmetleri kullanıyorsanız, phpMyAdmin gibi veritabanı yönetim araçları genellikle varsayılan olarak sunulur ve işi çok daha kolaylaştırır.

Daha fazla bilgi için PHP'nin MySQLi ile ilgili resmi belgelerini incelemenizi ve Prepared Statements ile Transactions kavramlarını öğrenmenizi öneririm.

Bu sayfa yardımcı oldu mu?