ServBay'in Dahili MySQL (MariaDB) Modülünü Kullanma
Güçlü ve entegre bir Web geliştirme aracı olarak ServBay, dahili bir MySQL modülü ile birlikte geliyor ve bu modülün etkinleştirilmesi oldukça basit. MariaDB, MySQL'in bir dalıdır ve MySQL ile tamamen uyumludur, modern Web geliştirmede yaygın olarak kullanılır. ServBay sayesinde geliştiriciler, MySQL modülünü kolayca etkinleştirip PHP uygulamalarında MariaDB'yi veri depolama ve yönetim için kullanabilirler.
MySQL ve MariaDB Arasındaki Farklar
MySQL ve MariaDB popüler ilişkisel veritabanı yönetim sistemleridir (RDBMS), ancak aralarında bazı farklar vardır:
Kaynak:
- MySQL: MySQL AB tarafından geliştirildi, daha sonra Sun Microsystems tarafından satın alındı ve en sonunda Oracle'a satıldı.
- MariaDB: MySQL'in kurucusu Michael Widenius tarafından oluşturulan bir dal olup, açık kaynaklı ve özgür kalmayı amaçlamaktadır.
Uyumluluk:
- MySQL: Yaygın olarak kullanılır ve birçok büyük uygulama ve kurumsal sistem buna dayanır.
- MariaDB: MySQL ile tamamen uyumludur ve MySQL'in hemen hemen tüm işlevleri ve sözdizimi MariaDB'de kullanılabilir.
Performans ve Özellikler:
- MySQL: Bazı belirli senaryolarda MySQL daha iyi optimizasyon ve performans sağlayabilir.
- MariaDB: Açık kaynak topluluğunun katkılarıyla MariaDB birçok yeni özellik ve performans iyileştirmeleri sunar, örneğin daha iyi iş parçacığı havuzu, sanal sütunlar ve depolama motorları.
ServBay'in Dahili MySQL (MariaDB) Modülünün Versiyonu
ServBay, birden fazla PHP sürümünü destekler ve her biri için uygun MySQL modülünü önceden yükleyip varsayılan olarak etkinleştirir. Özellikle, ServBay aşağıdaki üç MySQL modülünü içerir:
- MySQL Native Driver (mysqlnd): PHP'nin yerel sürücüsü olup MySQL veritabanı ile iletişim kurar, daha iyi performans ve hafıza yönetimi sağlar.
- MySQLi: MySQL Improved Extension, nesneye yönelik ve prosedürel arayüzler sunar, hazırlıklı ifadeler, işlemler, saklanmış prosedürler ve çoklu sorguları destekler.
- PDO (PHP Data Objects): Hafif, nesne tabanlı bir veritabanı erişim arayüzü olup, MySQL, PostgreSQL, SQLite gibi çeşitli veritabanlarını destekler.
MySQL Modülünü Nasıl Etkinleştiririm?
Varsayılan olarak, MySQL modülü etkin olduğu için ek bir yapılandırma gerektirmez.
MySQL'in Üç Modul Arasındaki Farklar
MySQL Native Driver (mysqlnd):
- Tanım: mysqlnd, PHP'nin yerel sürücüsü olup MySQL veritabanı ile iletişim kurar.
- Özellikler: Daha iyi performans ve hafıza yönetimi sağlar ve PHP 5.3 ve üstü sürümler için varsayılan sürücüdür.
- Avantajlar: Daha verimli hafıza kullanımı, daha hızlı sorgu yürütme, asenkron sorgu desteği ve eklenti tabanlı genişletme yeteneği.
MySQLi:
- Tanım: MySQL Improved Extension (MySQLi), MySQL'in geliştirilmiş bir uzantısı olup, nesneye yönelik ve prosedürel arayüzler sunar.
- Özellikler: Hazırlıklı ifadeler, işlemler, saklanmış prosedürler ve çoklu sorguları destekler.
- Avantajlar: Daha güvenli sorgu yürütme (SQL enjeksiyonlarını önler), daha zengin işlevler ve daha iyi performans.
PDO (PHP Data Objects):
- Tanım: PDO, hafif ve nesne tabanlı bir veritabanı erişim arayüzüdür, MySQL, PostgreSQL, SQLite gibi çeşitli veritabanlarını destekler.
- Özellikler: Birleştirilmiş bir API arayüzü sağlar, hazırlıklı ifadeleri ve işlemleri destekler.
- Avantajlar: Veritabanları arası uyumluluk, daha güvenli sorgu yürütme (SQL enjeksiyonlarını önler) ve daha sade kod yazımı.
PHP Kodunda MySQL Kullanımı
MySQL modülünü etkinleştirdikten sonra MySQLi veya PDO kullanarak PHP kodunda veritabanı işlemleri gerçekleştirebilirsiniz. Aşağıda iki basit örnek verilmiştir; biri standart MySQLi yöntemi, diğeri PDO yöntemidir.
Örnek Kod (Standart MySQLi Yöntemi)
<?php
// MariaDB veritabanına bağlanma
$conn = new mysqli('localhost', 'servbay_user', 'your_password', 'servbay_db');
// Bağlantıyı kontrol et
if ($conn->connect_error) {
die("Bağlantı hatası: " . $conn->connect_error);
}
// Veri ekleme
$sql = "INSERT INTO users (name, email, age) VALUES ('ServBay', '[email protected]', 30)";
if ($conn->query($sql) === TRUE) {
echo "Veri başarıyla eklendi";
} else {
echo "Veri ekleme hatası: " . $conn->error;
}
// Veri sorgulama
$sql = "SELECT * FROM users WHERE name = 'ServBay'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "Sorgulanan veri: ";
print_r($row);
}
} else {
echo "Sonuç bulunamadı";
}
// Veritabanı bağlantısını kapatma
$conn->close();
?>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Örnek Kod (PDO Yöntemi)
<?php
try {
// Yeni bir PDO örneği oluşturma
$dsn = 'mysql:host=localhost;dbname=servbay_db';
$username = 'servbay_user';
$password = 'your_password';
$options = [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION];
$pdo = new PDO($dsn, $username, $password, $options);
// Veri ekleme
$stmt = $pdo->prepare("INSERT INTO users (name, email, age) VALUES (:name, :email, :age)");
$stmt->execute([
':name' => 'ServBay',
':email' => '[email protected]',
':age' => 30
]);
echo "Veri başarıyla eklendi";
// Veri sorgulama
$stmt = $pdo->prepare("SELECT * FROM users WHERE name = :name");
$stmt->execute([':name' => 'ServBay']);
$data = $stmt->fetchAll(PDO::FETCH_ASSOC);
echo "Sorgulanan veri: ";
print_r($data);
} catch (PDOException $e) {
echo "Hata: " . $e->getMessage();
}
// Veritabanı bağlantısını kapatma (PDO bağlantıyı otomatik olarak kapatır)
?>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Sonuç
ServBay, MySQL modülünü yönetmek ve etkinleştirmek için kullanışlı bir yol sunar. Basit bir yapılandırma ve yeniden başlatma işlemi ile geliştiriciler farklı PHP sürümlerinde MySQL modülünü hızlıca etkinleştirip PHP uygulamalarında MariaDB'yi veri depolama ve yönetim için kullanabilirler. MariaDB'nin yüksek performansı, güçlü sorgu yetenekleri ve veri bütünlüğü onu modern Web geliştirmede vazgeçilmez bir veritabanı çözümü yapar. ServBay ve MariaDB sayesinde geliştiriciler verimli ve güvenilir Web uygulamaları geliştirebilirler.