Veritabanı Kurulumları (Database Installation Guide)
Bu rehber, en yaygın kullanılan veritabanı sistemlerinin kurulumunu adım adım anlatır. (This guide covers step-by-step installation of the most commonly used database systems.)
Gereksinimler (Prerequisites)
- Linux: Ubuntu 22.04+ önerilir (recommended)
- Windows: Windows 10/11, PowerShell yönetici olarak (as Administrator)
- macOS: Homebrew yüklü olmalı (
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)") - Docker: Docker Engine veya Docker Desktop kurulu olmalı (must be installed)
1. MySQL
MySQL, en yaygın kullanılan ilişkisel veritabanıdır. (MySQL is the most widely used relational database.)
Ubuntu / Linux
# Paket listesini güncelle (Update package list)
sudo apt update
# MySQL Server kurulumu (Install MySQL Server)
sudo apt install -y mysql-server
# Servisi başlat ve otomatik başlatmayı etkinleştir (Start and enable service)
sudo systemctl start mysql
sudo systemctl enable mysql
# Durum kontrolü (Check status)
sudo systemctl status mysql
# Güvenlik ayarları (Security configuration)
sudo mysql_secure_installationmysql_secure_installation sırasında sorulacaklar (prompts during setup):
- VALIDATE PASSWORD komponent kurulsun mu? (Set up VALIDATE PASSWORD component?) -- Evet (Yes)
- Root şifresini belirle (Set root password)
- Anonim kullanıcıları kaldır (Remove anonymous users) -- Evet (Yes)
- Root uzaktan erişimini kapat (Disallow root login remotely) -- Evet (Yes)
- Test veritabanını kaldır (Remove test database) -- Evet (Yes)
- Yetki tablolarını yeniden yükle (Reload privilege tables) -- Evet (Yes)
# Root olarak giriş (Login as root)
sudo mysql -u root -p
# Yeni kullanıcı oluştur (Create new user)
CREATE USER 'fahri'@'localhost' IDENTIFIED BY 'GucluSifre123!';
GRANT ALL PRIVILEGES ON *.* TO 'fahri'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;Windows
- MySQL Installer sayfasından MSI dosyasını indir (Download the MSI file)
- Developer Default veya Server only seçeneğini seç (Select setup type)
- Kurulum sihirbazını takip et (Follow the installation wizard)
- Root şifresi belirle (Set root password)
- MySQL Workbench otomatik kurulur (MySQL Workbench installs automatically)
# Kurulumdan sonra PATH'e eklendiğinden emin ol (Verify PATH after installation)
mysql --version
# Bağlantı testi (Connection test)
mysql -u root -pmacOS
# Homebrew ile kur (Install with Homebrew)
brew install mysql
# Servisi başlat (Start service)
brew services start mysql
# Güvenlik ayarları (Security setup)
mysql_secure_installation
# Bağlantı testi (Connection test)
mysql -u root -pDocker
# Tek komutla çalıştır (Run with single command)
docker run -d \
--name mysql-server \
-e MYSQL_ROOT_PASSWORD=RootSifre123! \
-e MYSQL_DATABASE=uygulamam \
-e MYSQL_USER=fahri \
-e MYSQL_PASSWORD=KullaniciSifre123! \
-p 3306:3306 \
-v mysql_data:/var/lib/mysql \
mysql:8.0Docker Compose ile (with Docker Compose):
# docker-compose.yml
services:
mysql:
image: mysql:8.0
container_name: mysql-server
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: RootSifre123!
MYSQL_DATABASE: uygulamam
MYSQL_USER: fahri
MYSQL_PASSWORD: KullaniciSifre123!
ports:
- "3306:3306"
volumes:
- mysql_data:/var/lib/mysql
volumes:
mysql_data:# Başlat (Start)
docker compose up -d
# Logları kontrol et (Check logs)
docker logs mysql-serverBağlantı Testi ve İlk Veritabanı (Connection Test & First Database)
# Bağlantı testi (Connection test)
mysql -u fahri -p
# İlk veritabanı oluştur (Create first database)
CREATE DATABASE proje_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
USE proje_db;
# Örnek tablo (Sample table)
CREATE TABLE kullanicilar (
id INT AUTO_INCREMENT PRIMARY KEY,
ad VARCHAR(100) NOT NULL,
email VARCHAR(255) UNIQUE NOT NULL,
olusturma_tarihi TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
# Veri ekle (Insert data)
INSERT INTO kullanicilar (ad, email) VALUES ('Fahri', 'fahri@example.com');
SELECT * FROM kullanicilar;GUI Araçları (GUI Tools)
| Araç (Tool) | Platform | Açıklama (Description) |
|---|---|---|
| MySQL Workbench | Tümü (All) | Resmi MySQL aracı (Official MySQL tool) |
| phpMyAdmin | Web | PHP tabanlı web arayüzü (PHP-based web interface) |
| DBeaver | Tümü (All) | Ücretsiz, çoklu veritabanı desteği (Free, multi-database support) |
2. PostgreSQL
PostgreSQL, gelişmiş özelliklere sahip açık kaynak veritabanıdır. (PostgreSQL is an advanced open-source database.)
Ubuntu / Linux
# Paket listesini güncelle ve kur (Update and install)
sudo apt update
sudo apt install -y postgresql postgresql-contrib
# Servisi başlat (Start service)
sudo systemctl start postgresql
sudo systemctl enable postgresql
sudo systemctl status postgresql
# PostgreSQL sürümünü kontrol et (Check version)
psql --versionKullanıcı ve veritabanı oluşturma (Create user and database):
# postgres kullanıcısına geç (Switch to postgres user)
sudo -u postgres psql
# Yeni kullanıcı oluştur (Create new user)
CREATE USER fahri WITH PASSWORD 'GucluSifre123!' CREATEDB;
# Veritabanı oluştur (Create database)
CREATE DATABASE proje_db OWNER fahri;
# Yetkileri kontrol et (Check privileges)
\du
# Çıkış (Exit)
\qpg_hba.conf ayarları (pg_hba.conf configuration):
# Dosya konumunu bul (Find config file location)
sudo -u postgres psql -c "SHOW hba_file;"
# Düzenle (Edit) -- genellikle /etc/postgresql/16/main/pg_hba.conf
sudo nano /etc/postgresql/16/main/pg_hba.conf# pg_hba.conf içinde şu satırları ayarla (Set these lines):
# TYPE DATABASE USER ADDRESS METHOD
local all all scram-sha-256
host all all 127.0.0.1/32 scram-sha-256
host all all ::1/128 scram-sha-256# Değişikliklerden sonra yeniden başlat (Restart after changes)
sudo systemctl restart postgresqlWindows
- PostgreSQL Downloads sayfasından installer indir (Download installer)
- Kurulum sihirbazında şunları seç (Select during wizard):
- PostgreSQL Server
- pgAdmin 4
- Command Line Tools
- Superuser (postgres) şifresini belirle (Set superuser password)
- Port: 5432 (varsayılan / default)
# PATH kontrolü (Check PATH)
psql --version
# Bağlantı testi (Connection test)
psql -U postgres -h localhostmacOS
# Homebrew ile kur (Install with Homebrew)
brew install postgresql@16
# Servisi başlat (Start service)
brew services start postgresql@16
# PATH'e ekle (Add to PATH)
echo 'export PATH="/opt/homebrew/opt/postgresql@16/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
# Veritabanı oluştur (Create database)
createdb proje_dbAlternatif: Postgres.app -- macOS için kolay kurulum (easy setup for macOS). Indir, Applications klasörüne sürükle, aç. (Download, drag to Applications, open.)
Docker
# Tek komutla çalıştır (Run with single command)
docker run -d \
--name postgres-server \
-e POSTGRES_USER=fahri \
-e POSTGRES_PASSWORD=GucluSifre123! \
-e POSTGRES_DB=proje_db \
-p 5432:5432 \
-v postgres_data:/var/lib/postgresql/data \
postgres:16-alpineDocker Compose ile (with Docker Compose):
# docker-compose.yml
services:
postgres:
image: postgres:16-alpine
container_name: postgres-server
restart: unless-stopped
environment:
POSTGRES_USER: fahri
POSTGRES_PASSWORD: GucluSifre123!
POSTGRES_DB: proje_db
ports:
- "5432:5432"
volumes:
- postgres_data:/var/lib/postgresql/data
volumes:
postgres_data:psql Bağlantı Testi (psql Connection Test)
# Bağlantı (Connect)
psql -U fahri -d proje_db -h localhost
# Veritabanlarını listele (List databases)
\l
# Tabloları listele (List tables)
\dt
# Örnek tablo oluştur (Create sample table)
CREATE TABLE urunler (
id SERIAL PRIMARY KEY,
ad VARCHAR(200) NOT NULL,
fiyat DECIMAL(10,2) NOT NULL,
olusturma_tarihi TIMESTAMP DEFAULT NOW()
);
INSERT INTO urunler (ad, fiyat) VALUES ('Laptop', 15999.99);
SELECT * FROM urunler;
# Çıkış (Exit)
\qGUI Araçları (GUI Tools)
| Araç (Tool) | Platform | Açıklama (Description) |
|---|---|---|
| pgAdmin 4 | Tümü (All) | Resmi PostgreSQL aracı (Official PostgreSQL tool) |
| DBeaver | Tümü (All) | Ücretsiz, çoklu veritabanı desteği (Free, multi-database) |
3. SQLite
SQLite, sunucu gerektirmeyen dosya tabanlı veritabanıdır. (SQLite is a serverless file-based database.)
Ubuntu / Linux
# Kurulum (Install)
sudo apt update
sudo apt install -y sqlite3
# Sürüm kontrolü (Check version)
sqlite3 --versionWindows
- SQLite Downloads sayfasından sqlite-tools-win-x64 zip dosyasını indir (Download the zip file)
- Zip dosyasını
C:\sqliteklasörüne çıkar (Extract toC:\sqlite) - Sistem PATH'ine ekle (Add to system PATH):
# PowerShell (Yönetici / Administrator)
[Environment]::SetEnvironmentVariable(
"Path",
$env:Path + ";C:\sqlite",
[EnvironmentVariableTarget]::Machine
)
# Yeni terminal aç ve kontrol et (Open new terminal and verify)
sqlite3 --versionmacOS
macOS ile birlikte gelir, ek kurulum gerekmez. (Comes pre-installed with macOS, no additional setup needed.)
# Sürüm kontrolü (Check version)
sqlite3 --versionTemel Kullanım (Basic Usage)
# Yeni veritabanı oluştur veya mevcut olanı aç (Create new or open existing database)
sqlite3 proje.db
# Tablo oluştur (Create table)
CREATE TABLE notlar (
id INTEGER PRIMARY KEY AUTOINCREMENT,
baslik TEXT NOT NULL,
icerik TEXT,
tarih TEXT DEFAULT (datetime('now'))
);
# Veri ekle (Insert data)
INSERT INTO notlar (baslik, icerik) VALUES ('İlk not', 'SQLite çalışıyor!');
SELECT * FROM notlar;
# Tabloları listele (List tables)
.tables
# Tablo yapısını göster (Show table schema)
.schema notlar
# Çıkış (Exit)
.quitPython ile Kullanım (Usage with Python)
Python, sqlite3 modülünü yerleşik olarak içerir. (Python includes the sqlite3 module built-in.)
import sqlite3
# Veritabanına bağlan (Connect to database)
conn = sqlite3.connect('proje.db')
cursor = conn.cursor()
# Tablo oluştur (Create table)
cursor.execute('''
CREATE TABLE IF NOT EXISTS kullanicilar (
id INTEGER PRIMARY KEY AUTOINCREMENT,
ad TEXT NOT NULL,
email TEXT UNIQUE NOT NULL
)
''')
# Veri ekle (Insert data)
cursor.execute(
"INSERT INTO kullanicilar (ad, email) VALUES (?, ?)",
("Fahri", "fahri@example.com")
)
conn.commit()
# Veri oku (Read data)
cursor.execute("SELECT * FROM kullanicilar")
for row in cursor.fetchall():
print(row)
# Bağlantıyı kapat (Close connection)
conn.close()GUI Araçları (GUI Tools)
| Araç (Tool) | Platform | Açıklama (Description) |
|---|---|---|
| DB Browser for SQLite | Tümü (All) | En popüler SQLite GUI aracı (Most popular SQLite GUI) |
| DBeaver | Tümü (All) | Çoklu veritabanı desteği (Multi-database support) |
# DB Browser kurulumu - Ubuntu (Install DB Browser - Ubuntu)
sudo apt install -y sqlitebrowser4. Microsoft SQL Server
MSSQL, Microsoft'un kurumsal veritabanı çözümüdür. (MSSQL is Microsoft's enterprise database solution.)
Ubuntu / Linux
# Microsoft GPG anahtarını ekle (Add Microsoft GPG key)
curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | \
sudo gpg --dearmor -o /usr/share/keyrings/microsoft-prod.gpg
# Repository ekle (Add repository) -- Ubuntu 22.04 için
curl -fsSL https://packages.microsoft.com/config/ubuntu/22.04/mssql-server-2022.list | \
sudo tee /etc/apt/sources.list.d/mssql-server-2022.list
# Kur (Install)
sudo apt update
sudo apt install -y mssql-server
# Yapılandırma (Configuration)
sudo /opt/mssql/bin/mssql-conf setupYapılandırma sırasında (During configuration):
- Edition seç: Developer (ücretsiz / free) veya Express (ücretsiz / free)
- SA şifresini belirle (Set SA password) -- en az 8 karakter, büyük/küçük harf, rakam, özel karakter (at least 8 chars, upper/lower, digit, special char)
# Durum kontrolü (Check status)
sudo systemctl status mssql-server
# sqlcmd aracını kur (Install sqlcmd tool)
curl -fsSL https://packages.microsoft.com/config/ubuntu/22.04/prod.list | \
sudo tee /etc/apt/sources.list.d/mssql-release.list
sudo apt update
sudo ACCEPT_EULA=Y apt install -y mssql-tools18 unixodbc-dev
# PATH'e ekle (Add to PATH)
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc
source ~/.bashrcWindows
- SQL Server Downloads sayfasından indir (Download):
- Developer -- geliştirme için ücretsiz, tam özellikli (free for development, full-featured)
- Express -- ücretsiz, sınırlı (free, limited)
- Kurulum sihirbazını takip et (Follow installation wizard)
- SQL Server Management Studio (SSMS) indir ve kur (Download and install SSMS)
# sqlcmd ile bağlantı testi (Connection test with sqlcmd)
sqlcmd -S localhost -U SA -P "SifreninBuraya"
# Veritabanı oluştur (Create database)
1> CREATE DATABASE ProjemDB;
2> GOmacOS
macOS için native kurulum yoktur. Docker kullanılmalıdır. (No native installation for macOS. Use Docker.)
# Docker ile çalıştır (Run with Docker) -- aşağıdaki Docker bölümüne bakın (see Docker section below)Docker
# Tek komutla çalıştır (Run with single command)
docker run -d \
--name mssql-server \
-e "ACCEPT_EULA=Y" \
-e "MSSQL_SA_PASSWORD=GucluSifre123!" \
-e "MSSQL_PID=Developer" \
-p 1433:1433 \
-v mssql_data:/var/opt/mssql \
mcr.microsoft.com/mssql/server:2022-latestDocker Compose ile (with Docker Compose):
# docker-compose.yml
services:
mssql:
image: mcr.microsoft.com/mssql/server:2022-latest
container_name: mssql-server
restart: unless-stopped
environment:
ACCEPT_EULA: "Y"
MSSQL_SA_PASSWORD: "GucluSifre123!"
MSSQL_PID: "Developer"
ports:
- "1433:1433"
volumes:
- mssql_data:/var/opt/mssql
volumes:
mssql_data:sqlcmd Bağlantı Testi (sqlcmd Connection Test)
# Linux/macOS Docker bağlantısı (Linux/macOS Docker connection)
sqlcmd -S localhost -U SA -P "GucluSifre123!" -C
# Veritabanı oluştur (Create database)
1> CREATE DATABASE ProjemDB;
2> GO
# Veritabanlarını listele (List databases)
1> SELECT name FROM sys.databases;
2> GO
# Çıkış (Exit)
1> QUITGUI Araçları (GUI Tools)
| Araç (Tool) | Platform | Açıklama (Description) |
|---|---|---|
| SSMS | Windows | Resmi Microsoft aracı (Official Microsoft tool) |
| Azure Data Studio | Tümü (All) | Hafif, cross-platform (Lightweight, cross-platform) |
| DBeaver | Tümü (All) | Ücretsiz, çoklu veritabanı (Free, multi-database) |
5. MongoDB
MongoDB, doküman tabanlı NoSQL veritabanıdır. (MongoDB is a document-based NoSQL database.)
Ubuntu / Linux
# MongoDB GPG anahtarını ekle (Add MongoDB GPG key)
curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | \
sudo gpg --dearmor -o /usr/share/keyrings/mongodb-server-7.0.gpg
# Repository ekle (Add repository) -- Ubuntu 22.04
echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] \
https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | \
sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
# Kur (Install)
sudo apt update
sudo apt install -y mongodb-org
# Servisi başlat (Start service)
sudo systemctl start mongod
sudo systemctl enable mongod
sudo systemctl status mongodWindows
- MongoDB Community Server sayfasından MSI dosyasını indir (Download MSI)
- "Complete" kurulum seçeneğini seç (Select "Complete" setup)
- Install MongoDB as a Service kutusunu işaretle (Check the box)
- MongoDB Compass kutusunu işaretle (Check the box) -- GUI aracı otomatik kurulur (GUI tool installs automatically)
# Sürüm kontrolü (Check version)
mongosh --version
# Bağlantı testi (Connection test)
mongoshmacOS
# MongoDB tap ekle (Add MongoDB tap)
brew tap mongodb/brew
# Kur (Install)
brew install mongodb-community@7.0
# Servisi başlat (Start service)
brew services start mongodb-community@7.0
# Bağlantı testi (Connection test)
mongoshDocker
# Tek komutla çalıştır (Run with single command)
docker run -d \
--name mongodb-server \
-e MONGO_INITDB_ROOT_USERNAME=fahri \
-e MONGO_INITDB_ROOT_PASSWORD=GucluSifre123! \
-e MONGO_INITDB_DATABASE=proje_db \
-p 27017:27017 \
-v mongodb_data:/data/db \
mongo:7.0Docker Compose ile (with Docker Compose):
# docker-compose.yml
services:
mongodb:
image: mongo:7.0
container_name: mongodb-server
restart: unless-stopped
environment:
MONGO_INITDB_ROOT_USERNAME: fahri
MONGO_INITDB_ROOT_PASSWORD: GucluSifre123!
MONGO_INITDB_DATABASE: proje_db
ports:
- "27017:27017"
volumes:
- mongodb_data:/data/db
volumes:
mongodb_data:mongosh Bağlantı Testi (mongosh Connection Test)
# Bağlan (Connect) -- kimlik doğrulama ile (with authentication)
mongosh "mongodb://fahri:GucluSifre123!@localhost:27017/proje_db?authSource=admin"
# Veritabanlarını listele (List databases)
show dbs
# Veritabanı seç/oluştur (Select/create database)
use proje_db
# Koleksiyon oluştur ve veri ekle (Create collection and insert data)
db.kullanicilar.insertOne({
ad: "Fahri",
email: "fahri@example.com",
tarih: new Date()
})
# Veriyi sorgula (Query data)
db.kullanicilar.find().pretty()
# Koleksiyonları listele (List collections)
show collectionsGUI Araçları (GUI Tools)
| Araç (Tool) | Platform | Açıklama (Description) |
|---|---|---|
| MongoDB Compass | Tümü (All) | Resmi MongoDB GUI aracı (Official MongoDB GUI) |
| Studio 3T | Tümü (All) | Gelişmiş özellikler, ücretli (Advanced features, paid) |
| mongosh | Terminal | Resmi MongoDB shell (Official MongoDB shell) |
6. Redis (Bonus)
Redis, bellek içi anahtar-değer veri deposudur. Cache, session, kuyruk gibi amaçlarla sıkça kullanılır. (Redis is an in-memory key-value data store. Commonly used for caching, sessions, and queues.)
Ubuntu / Linux
# Kur (Install)
sudo apt update
sudo apt install -y redis-server
# Servisi başlat (Start service)
sudo systemctl start redis-server
sudo systemctl enable redis-server
# Yapılandırma (Configuration) -- isteğe bağlı (optional)
sudo nano /etc/redis/redis.conf
# supervised no -> supervised systemd olarak değiştir (change to supervised systemd)
# requirepass SifreninBuraya -- şifre ekle (add password)
# Değişikliklerden sonra yeniden başlat (Restart after changes)
sudo systemctl restart redis-serverWindows
Windows için native Redis yoktur. İki seçenek (No native Redis for Windows. Two options):
Seçenek 1: WSL kullanarak (Using WSL)
# WSL'de Ubuntu kur (Install Ubuntu in WSL)
wsl --install
# WSL içinde Redis kur (Install Redis inside WSL)
sudo apt update && sudo apt install -y redis-server
sudo service redis-server startSeçenek 2: Docker kullanarak (Using Docker) -- aşağıdaki Docker bölümüne bakın (see Docker section below)
macOS
# Homebrew ile kur (Install with Homebrew)
brew install redis
# Servisi başlat (Start service)
brew services start redis
# Bağlantı testi (Connection test)
redis-cli ping
# Beklenen çıktı (Expected output): PONGDocker
# Tek komutla çalıştır (Run with single command)
docker run -d \
--name redis-server \
-p 6379:6379 \
-v redis_data:/data \
redis:7-alpine redis-server --requirepass GucluSifre123!Docker Compose ile (with Docker Compose):
# docker-compose.yml
services:
redis:
image: redis:7-alpine
container_name: redis-server
restart: unless-stopped
command: redis-server --requirepass GucluSifre123!
ports:
- "6379:6379"
volumes:
- redis_data:/data
volumes:
redis_data:redis-cli Bağlantı Testi (redis-cli Connection Test)
# Bağlan (Connect)
redis-cli
# Şifreli bağlantı (Connect with password)
redis-cli -a GucluSifre123!
# Ping testi (Ping test)
127.0.0.1:6379> PING
# Beklenen çıktı (Expected output): PONG
# Temel işlemler (Basic operations)
127.0.0.1:6379> SET isim "Fahri"
127.0.0.1:6379> GET isim
# "Fahri"
127.0.0.1:6379> SET sayac 100
127.0.0.1:6379> INCR sayac
# (integer) 101
# Süreli anahtar (Key with expiry) -- 60 saniye (60 seconds)
127.0.0.1:6379> SETEX gecici_veri 60 "bu veri 60 saniye sonra silinir"
127.0.0.1:6379> TTL gecici_veri
# (integer) 59
# Tüm anahtarları listele (List all keys)
127.0.0.1:6379> KEYS *
# Çıkış (Exit)
127.0.0.1:6379> QUIT7. Hızlı Referans Tablosu (Quick Reference Table)
Varsayılan Portlar ve Bağlantı Bilgileri (Default Ports & Connection Info)
| Veritabanı (Database) | Port | Varsayılan Kullanıcı (Default User) | Bağlantı Komutu (Connection Command) | Docker Image |
|---|---|---|---|---|
| MySQL | 3306 | root | mysql -u root -p | mysql:8.0 |
| PostgreSQL | 5432 | postgres | psql -U postgres | postgres:16-alpine |
| SQLite | -- | -- | sqlite3 dosya.db | -- |
| MSSQL | 1433 | SA | sqlcmd -S localhost -U SA | mcr.microsoft.com/mssql/server:2022-latest |
| MongoDB | 27017 | -- | mongosh | mongo:7.0 |
| Redis | 6379 | -- | redis-cli | redis:7-alpine |
Platform Desteği (Platform Support)
| Veritabanı (Database) | Ubuntu | Windows | macOS | Docker |
|---|---|---|---|---|
| MySQL | apt | MSI Installer | brew | ✓ |
| PostgreSQL | apt | Installer | brew / Postgres.app | ✓ |
| SQLite | apt | ZIP + PATH | Yerleşik (Built-in) | -- |
| MSSQL | apt (MS repo) | Installer + SSMS | Sadece Docker (Docker only) | ✓ |
| MongoDB | apt (Mongo repo) | MSI Installer | brew tap | ✓ |
| Redis | apt | WSL / Docker | brew | ✓ |
Servis Yönetimi -- Ubuntu (Service Management -- Ubuntu)
# Genel format (General format)
sudo systemctl start <servis> # Başlat (Start)
sudo systemctl stop <servis> # Durdur (Stop)
sudo systemctl restart <servis> # Yeniden başlat (Restart)
sudo systemctl status <servis> # Durum (Status)
sudo systemctl enable <servis> # Otomatik başlat (Enable auto-start)
sudo systemctl disable <servis> # Otomatik başlatmayı kapat (Disable auto-start)
# Servis adları (Service names)
# MySQL: mysql
# PostgreSQL: postgresql
# MongoDB: mongod
# MSSQL: mssql-server
# Redis: redis-serverDocker Yönetimi (Docker Management)
# Tüm çalışan konteynerları listele (List running containers)
docker ps
# Konteyner durdur/başlat (Stop/start container)
docker stop <konteyner_adi>
docker start <konteyner_adi>
# Konteyner loglarını göster (Show container logs)
docker logs <konteyner_adi>
# Konteynere bağlan (Connect to container)
docker exec -it <konteyner_adi> bash
# Tüm servisleri Docker Compose ile yönet (Manage all services with Docker Compose)
docker compose up -d # Başlat (Start)
docker compose down # Durdur (Stop)
docker compose ps # Durum (Status)
docker compose logs -f # Canlı loglar (Live logs)Hepsi Bir Arada Docker Compose (All-in-One Docker Compose)
Tüm veritabanlarını tek bir dosya ile çalıştır (Run all databases with a single file):
# docker-compose.yml
services:
mysql:
image: mysql:8.0
container_name: mysql
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: RootSifre123!
MYSQL_DATABASE: proje_db
ports:
- "3306:3306"
volumes:
- mysql_data:/var/lib/mysql
postgres:
image: postgres:16-alpine
container_name: postgres
restart: unless-stopped
environment:
POSTGRES_USER: fahri
POSTGRES_PASSWORD: GucluSifre123!
POSTGRES_DB: proje_db
ports:
- "5432:5432"
volumes:
- postgres_data:/var/lib/postgresql/data
mssql:
image: mcr.microsoft.com/mssql/server:2022-latest
container_name: mssql
restart: unless-stopped
environment:
ACCEPT_EULA: "Y"
MSSQL_SA_PASSWORD: "GucluSifre123!"
MSSQL_PID: "Developer"
ports:
- "1433:1433"
volumes:
- mssql_data:/var/opt/mssql
mongodb:
image: mongo:7.0
container_name: mongodb
restart: unless-stopped
environment:
MONGO_INITDB_ROOT_USERNAME: fahri
MONGO_INITDB_ROOT_PASSWORD: GucluSifre123!
ports:
- "27017:27017"
volumes:
- mongodb_data:/data/db
redis:
image: redis:7-alpine
container_name: redis
restart: unless-stopped
command: redis-server --requirepass GucluSifre123!
ports:
- "6379:6379"
volumes:
- redis_data:/data
volumes:
mysql_data:
postgres_data:
mssql_data:
mongodb_data:
redis_data:# Tümünü başlat (Start all)
docker compose up -d
# Durumları kontrol et (Check status)
docker compose ps
# Tümünü durdur (Stop all)
docker compose down
# Tümünü durdur ve verileri sil (Stop all and remove data)
docker compose down -vGüvenlik Uyarısı (Security Warning)
Yukarıdaki şifreler örnek amaçlıdır. Üretim ortamında güçlü ve benzersiz şifreler kullanın. (The passwords above are for demonstration purposes. Use strong, unique passwords in production.)
Docker Önerisi (Docker Recommendation)
Geliştirme ortamında tüm veritabanlarını Docker ile çalıştırmak en pratik yöntemdir. Sisteminizi temiz tutar ve kolayca sıfırlanabilir. (Running all databases with Docker in development is the most practical approach. Keeps your system clean and easily resettable.)
İlgili Rehberler
- Dil & Framework Kurulumları — PHP, Python, Node.js kurulumları
- Veritabanı Genel Bakış — SQL vs NoSQL karşılaştırma
- MySQL Rehberi — MySQL CRUD ve sorgular
- PostgreSQL Rehberi — PostgreSQL ileri özellikler
- MongoDB Rehberi — MongoDB CRUD ve aggregation
- Docker Rehberi — Veritabanlarını Docker ile çalıştırma