MySQL Veritabanı Nasıl Kurulur?

Fishbowl Advanced

MySQL, web siteleri, masaüstü uygulamaları ve kurumsal yazılımlarda verilerin saklanması ve yönetilmesi için kullanılan açık kaynaklı bir ilişkisel veritabanı yönetim sistemidir.

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

A Step-by-Step Guide to Installing MySQL and MySQL Workbench on Windows | by Arvid Eichner | Medium

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

How to Install MySQL on Windows | Database Star: Home

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ı

How to Install and Configure MySQL Server and Workbench on a Local PC - Staff - WeintekUSA

MySQL Server kurulduktan sonra sunucunun yapılandırılması gerekir.

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

Welcome To TechBrothersIT: How to Stop MySQL or Start MySQL Server on Windows Machine - MySQL DBA Tutorial

Windows üzerinde MySQL, bir sistem servisi olarak çalıştırılabilir.

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

How To Install MySQL on Ubuntu - ServerMania | ServerMania

MySQL, Linux işletim sistemlerinde paket yöneticileri aracılığıyla kurulabilir.

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

Installera MySQL Server och MySQL WorkBench | dbwebb

Linux sistemlerde MySQL'e bağlantı kurmak için farklı kimlik doğrulama yöntemleri kullanılabilir.

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ı

Creating a MySQL Database in RONIN

MySQL Workbench, MySQL veritabanlarının grafiksel arayüz üzerinden yönetilmesini sağlayan bir uygulamadır.

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

How to Use phpMyAdmin to Manage WordPress Database? – WebNots

phpMyAdmin, MySQL ve MariaDB veritabanlarını web tarayıcısı üzerinden yönetmek için kullanılan açık kaynaklı bir araçtır.

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

cPanel | Chevereto-Free

cPanel kullanılan hosting hizmetlerinde MySQL veritabanı oluşturmak için genellikle sunucuya doğrudan MySQL kurulması gerekmez.

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

How to Select Data: The Correct Way in PHP | by Yunus Emre Adas | Write A Catalyst | Medium

PHP ile geliştirilen web uygulamaları, MySQL veritabanına PDO veya MySQLi üzerinden bağlanabilir.

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

Fix MySQL Connection Refused on Linux — 5 Checkpoint Guide— QuickFixLab

MySQL kurulumu veya bağlantısı sırasında çeşitli hatalarla karşılaşılabilir.

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.

 


Alıntı