MySQL Veritabanı Nasıl Kurulur?
MySQL kurulumu Windows, Linux ve macOS işletim sistemlerinde gerçekleştirilebilir. Ayrıca cPanel gibi hosting kontrol panelleri üzerinden MySQL veritabanları oluşturulabilir.
Kurulum yöntemi, kullanılan işletim sistemine ve sunucu altyapısına göre değişmektedir.
MySQL Kurulumu İçin Gerekenler
MySQL kurulumu için öncelikle kullanılacak işletim sisteminin belirlenmesi gerekir.
MySQL, desteklenen Windows ve Linux sistemlerinde çalışabilmektedir. macOS için de uygun dağıtımları bulunmaktadır.
Kurulum öncesinde yeterli disk alanı, sistem belleği ve gerekli yönetici yetkileri bulunmalıdır.
MySQL sunucusunun yanı sıra veritabanını yönetmek için MySQL Workbench veya phpMyAdmin gibi araçlar kullanılabilir.
Kurulum dosyalarının resmî MySQL dağıtımlarından edinilmesi önerilmektedir.
Windows Üzerine MySQL Kurulumu
Windows işletim sisteminde MySQL kurulumu, uygun MySQL Server kurulum paketi veya desteklenen kurulum aracı kullanılarak gerçekleştirilebilir.
Kurulum dosyası çalıştırıldıktan sonra yüklenmek istenen bileşenler belirlenir.
MySQL Server, veritabanı hizmetinin çalışmasını sağlayan temel bileşendir.
MySQL Workbench ise veritabanını grafiksel arayüz üzerinden yönetmek için kullanılabilir.
Kurulum sırasında seçilen MySQL sürümüne göre ekranlar ve yapılandırma seçenekleri farklılık gösterebilir.
MySQL Server Yapılandırması
Yapılandırma sırasında bağlantı noktası, kimlik doğrulama ayarları ve yönetici hesabı belirlenebilir.
MySQL'in varsayılan TCP bağlantı noktası 3306'dır.
Bu bağlantı noktası başka bir uygulama tarafından kullanılmıyorsa varsayılan değer korunabilir.
Veritabanına yalnızca yerel bilgisayardan erişilecekse uzak bağlantıların açılması gerekli değildir.
Sunucunun dış ağlara erişime açılması durumunda güvenlik duvarı ve kullanıcı yetkileri dikkatle yapılandırılmalıdır.
MySQL Root Şifresi Nasıl Belirlenir?
MySQL'de root hesabı, veritabanı sunucusunda geniş yönetim yetkilerine sahip bir hesaptır.
Kurulum yöntemine göre root hesabının kimlik doğrulama biçimi ve parola ayarları değişebilir.
Parola tabanlı kimlik doğrulama kullanılıyorsa güçlü ve benzersiz bir parola belirlenmelidir.
Root hesabının günlük uygulama bağlantıları için kullanılması önerilmez.
Web siteleri ve uygulamalar için ayrı veritabanı kullanıcıları oluşturulması daha güvenli bir yöntemdir.
Windows'ta MySQL Servisini Başlatma
Kurulum sırasında servisin adı ve otomatik başlatma seçenekleri belirlenebilir.
Windows Hizmetler uygulaması üzerinden MySQL servisi görüntülenebilir.
Servis durdurulabilir, yeniden başlatılabilir veya otomatik başlatılacak şekilde yapılandırılabilir.
Servisin adı kullanılan sürüme ve kurulum tercihlerine göre değişebilir.
MySQL Kurulumunun Kontrol Edilmesi
MySQL kurulumunun başarılı olup olmadığını kontrol etmek için komut satırı kullanılabilir.
mysql --version
Bu komut, MySQL istemcisinin sürüm bilgisini görüntüler.
Ancak yalnızca istemci sürümünün görüntülenmesi, veritabanı sunucusunun çalıştığını kesin olarak göstermez.
Sunucuya bağlantı kurmak için aşağıdaki komut kullanılabilir:
mysql -u root -p
Bu komut çalıştırıldığında parola istenir.
Bağlantı başarılı olursa MySQL komut satırına erişilebilir.
Linux Üzerine MySQL Kurulumu
Kurulum komutları kullanılan Linux dağıtımına göre değişmektedir.
Ubuntu ve Debian tabanlı sistemlerde MySQL Server paketi uygun depolardan yüklenebilir.
Ancak bazı Linux dağıtımlarında varsayılan veritabanı paketi MySQL yerine MariaDB olabilir.
Bu nedenle kurulumdan önce kullanılan dağıtımın paketleri ve desteklenen MySQL sürümleri kontrol edilmelidir.
Ubuntu'da MySQL Kurulumu
Ubuntu üzerinde MySQL Server kurulumu için terminal açılır.
Öncelikle paket listesi güncellenir.
sudo apt update
Ardından MySQL Server paketi yüklenir.
sudo apt install mysql-server
Kurulum tamamlandıktan sonra servisin durumu kontrol edilebilir.
sudo systemctl status mysql
Servis çalışmıyorsa aşağıdaki komutla başlatılabilir.
sudo systemctl start mysql
Bu komutlar, MySQL Server paketinin ilgili Ubuntu sürümünün depolarında bulunduğu sistemler için geçerlidir.
Linux'ta MySQL Güvenlik Ayarları
MySQL kurulumunun ardından güvenlik yapılandırması yapılmalıdır.
Bazı MySQL kurulumlarında aşağıdaki araç kullanılabilir:
sudo mysql_secure_installation
Bu araç, kurulum biçimine bağlı olarak parola politikaları, anonim kullanıcılar, uzaktan root erişimi ve test veritabanı gibi ayarların gözden geçirilmesini sağlar.
Ancak aracın sunduğu seçenekler MySQL sürümüne ve dağıtım paketine göre farklılık gösterebilir.
Güvenlik yapılandırmasının tamamlanması için kullanıcı yetkileri, ağ erişimi ve sunucu güncellemeleri de kontrol edilmelidir.
MySQL Veritabanına Bağlanma
Yerel sistem hesabı üzerinden bağlantı kurulabilen yapılandırmalarda aşağıdaki komut kullanılabilir:
sudo mysql
Parola tabanlı bağlantı için ise aşağıdaki komut kullanılabilir:
mysql -u root -p
Bağlantı yöntemi, root hesabının nasıl yapılandırıldığına bağlıdır.
Başarılı bağlantının ardından SQL komutları çalıştırılabilir.
MySQL'de Yeni Veritabanı Oluşturma
MySQL kurulduktan sonra yeni bir veritabanı oluşturulabilir.
Örneğin forum adlı bir veritabanı oluşturmak için aşağıdaki SQL komutu kullanılır:
CREATE DATABASE forum
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;
Bu komut, forum adlı veritabanını oluşturur.
utf8mb4 karakter kümesi, Türkçe karakterler ve diğer Unicode karakterleri desteklemektedir.
Oluşturulan veritabanını görüntülemek için aşağıdaki komut kullanılabilir:
SHOW DATABASES;
MySQL Veritabanı Kullanıcısı Oluşturma
Güvenlik açısından her uygulama için ayrı bir veritabanı kullanıcısı oluşturulması önerilmektedir.
Örneğin yalnızca yerel bilgisayardan bağlantı kuracak bir kullanıcı oluşturulabilir.
CREATE USER 'forum_user'@'localhost'
IDENTIFIED BY 'GucluVeBenzersizBirParola';
Ardından kullanıcıya ilgili veritabanı üzerinde yetki verilebilir.
GRANT ALL PRIVILEGES ON forum.*
TO 'forum_user'@'localhost';
Bu örnekte kullanıcıya forum veritabanı üzerinde geniş yetkiler verilmiştir.
Gerçek uygulamalarda yalnızca ihtiyaç duyulan yetkilerin tanımlanması daha güvenlidir.
MySQL'de Tablo Oluşturma
Yeni oluşturulan veritabanında tablolar tanımlanabilir.
Öncelikle veritabanı seçilir:
USE forum;
Ardından örnek bir kullanıcı tablosu oluşturulabilir:
CREATE TABLE kullanicilar (
id INT AUTO_INCREMENT PRIMARY KEY,
kullanici_adi VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL,
kayit_tarihi TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
Bu tabloda kullanıcı numarası, kullanıcı adı, e-posta adresi ve kayıt tarihi saklanabilir.
Tabloları görüntülemek için aşağıdaki komut kullanılır:
SHOW TABLES;
MySQL Veritabanına Veri Ekleme
Oluşturulan tabloya INSERT komutuyla yeni kayıt eklenebilir.
INSERT INTO kullanicilar (kullanici_adi, email)
VALUES ('ahmet', 'ahmet@example.com');
Kayıtları görüntülemek için SELECT komutu kullanılır.
SELECT * FROM kullanicilar;
Bu sorgu, kullanıcılar tablosundaki bütün kayıtları getirir.
MySQL Workbench Kurulumu ve Kullanımı
Workbench ile veritabanı bağlantıları oluşturulabilir, SQL sorguları çalıştırılabilir ve tablolar yönetilebilir.
Ayrıca veritabanı şemaları görsel olarak incelenebilir.
MySQL Workbench, MySQL Server'dan ayrı bir araçtır.
Bu nedenle yalnızca Workbench kurulması, bilgisayarda çalışan bir MySQL veritabanı sunucusu oluşturmaz.
phpMyAdmin ile MySQL Yönetimi
phpMyAdmin aracılığıyla veritabanları ve tablolar görüntülenebilir.
Yeni kayıtlar eklenebilir, SQL sorguları çalıştırılabilir ve veritabanı dosyaları içe aktarılabilir.
Ayrıca mevcut veritabanlarının dışa aktarılması mümkündür.
phpMyAdmin özellikle web hosting hizmetlerinde yaygın olarak kullanılmaktadır.
cPanel Üzerinden MySQL Veritabanı Oluşturma
Hosting sağlayıcısı, veritabanı sunucusunu önceden yapılandırmış olabilir.
cPanel üzerinde MySQL veritabanı oluşturma aracı açılarak yeni bir veritabanı tanımlanabilir.
Ardından veritabanı kullanıcısı oluşturulur ve ilgili veritabanına yetkilendirilir.
Bazı hosting sistemlerinde veritabanı ve kullanıcı adlarının başına hosting hesabının öneki eklenmektedir.
Bu nedenle uygulamanın bağlantı ayarlarında cPanel'de gösterilen tam veritabanı adı kullanılmalıdır.
PHP ile MySQL Bağlantısı Kurma
PDO kullanılarak basit bir bağlantı örneği hazırlanabilir.
<?php
$host = 'localhost';
$dbname = 'forum';
$username = 'forum_user';
$password = 'GucluVeBenzersizBirParola';
try {
$pdo = new PDO(
"mysql:host=$host;dbname=$dbname;charset=utf8mb4",
$username,
$password,
[
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
]
);
echo "Veritabanı bağlantısı başarılı.";
} catch (PDOException $e) {
error_log($e->getMessage());
echo "Veritabanına bağlanılamadı.";
}
?>
Bu örnekte PHP uygulaması, belirtilen MySQL veritabanına bağlantı kurmaya çalışmaktadır.
Gerçek projelerde veritabanı parolalarının kaynak kod içerisinde açık şekilde tutulması yerine güvenli yapılandırma yöntemleri kullanılmalıdır.
MySQL Bağlantı Hataları ve Çözümleri
Access denied hatası, kullanıcı adı, parola veya erişim yetkileriyle ilgili sorunlardan kaynaklanabilir.
Can't connect to MySQL server hatası ise servisin çalışmaması, yanlış bağlantı adresi veya ağ erişimi sorunları nedeniyle oluşabilir.
Bağlantı noktası çakışmaları da MySQL'in başlatılmasını engelleyebilir.
Bu durumlarda servis durumu, bağlantı ayarları, kullanıcı yetkileri ve güvenlik duvarı kuralları kontrol edilmelidir.
Hata kayıtları, sorunun nedenini belirlemek için incelenebilir.
MySQL Veritabanı Yedekleme
MySQL veritabanlarının düzenli olarak yedeklenmesi önemlidir.
MySQL'de mantıksal yedek oluşturmak için mysqldump aracı kullanılabilir.
mysqldump -u forum_user -p forum > forum_yedek.sql
Bu komut, kullanıcının gerekli yetkilere sahip olması durumunda forum veritabanını SQL dosyasına aktarır.
Yedek dosyasını geri yüklemek için aşağıdaki komut kullanılabilir:
mysql -u forum_user -p forum < forum_yedek.sql
Geri yükleme işlemi mevcut verileri etkileyebileceğinden önce yedek dosyasının içeriği ve hedef veritabanı kontrol edilmelidir.
MySQL Kurulumundan Sonra Yapılması Gerekenler
MySQL kurulumunun tamamlanmasının ardından sunucu güvenliği ve veritabanı yapılandırması kontrol edilmelidir.
Root hesabının güvenliği sağlanmalı ve uygulamalar için ayrı kullanıcılar oluşturulmalıdır.
Veritabanı bağlantıları yalnızca gerekli sistemlerle sınırlandırılmalıdır.
Düzenli yedekleme planı oluşturulmalı ve geri yükleme işlemleri test edilmelidir.
MySQL güncellemeleri takip edilmeli ve uygulamaların kullandığı SQL sorgularında parametreli sorgular tercih edilmelidir.
Bu işlemler, veritabanının güvenli ve düzenli biçimde çalışmasına yardımcı olmaktadır.








