# MySQL Servisini Çalıştırmak

MySQL veya MariaDB sunucusu kurulduktan sonra, bir sistem servisi olarak çalışır. Modern Linux dağıtımlarında bu servis `systemd` tarafından yönetilir. Servis adı genellikle `mysqld` (MySQL için) veya `mariadb` (MariaDB için)'dir.

Servisleri yönetmek için `systemctl` komutu kullanılır (`sudo` yetkisi gereklidir):

**Servis Durumunu Kontrol Etme:**

```bash
sudo systemctl status mariadb 
# veya
sudo systemctl status mysqld 
```

Bu komut, servisin aktif (`active (running)`) olup olmadığını, ne zamandır çalıştığını ve son log mesajlarını gösterir.

Örnek Çıktı (MariaDB):

```
● mariadb.service - MariaDB 10.5.15 database server
     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2023-10-27 10:30:00 +03; 5min ago
       Docs: man:mariadbd(8)
             https://mariadb.com/kb/en/library/systemd/
   Main PID: 1234 (mariadbd)
     Status: "Taking your SQL requests now..."
      Tasks: 15 (limit: 4617)
     Memory: 100.0M
        CPU: 500ms
     CGroup: /system.slice/mariadb.service
             └─1234 /usr/sbin/mariadbd
...
```

**Servisi Başlatma:**\
Eğer servis çalışmıyorsa, başlatmak için:

```bash
sudo systemctl start mariadb 
# veya
sudo systemctl start mysqld
```

**Servisi Durdurma:**

```bash
sudo systemctl stop mariadb 
# veya
sudo systemctl stop mysqld
```

**Servisi Yeniden Başlatma:**\
Yapılandırma değişikliklerinden sonra veya sorun giderme amacıyla:

```bash
sudo systemctl restart mariadb 
# veya
sudo systemctl restart mysqld
```

**Sistem Başlangıcında Etkinleştirme/Devre Dışı Bırakma:**\
Servisin sistem açıldığında otomatik olarak başlamasını sağlamak için:

```bash
sudo systemctl enable mariadb 
# veya
sudo systemctl enable mysqld
```

Otomatik başlamasını engellemek için:

```bash
sudo systemctl disable mariadb 
# veya
sudo systemctl disable mysqld
```

## `mysqladmin` ile Durum Kontrolü

`mysqladmin` komutu, çalışan bir MySQL/MariaDB sunucusu hakkında bilgi almak ve bazı temel yönetim görevlerini yapmak için kullanılan bir istemci aracıdır. Bağlantı için kullanıcı adı ve şifre gerektirir.

Sunucu sürümünü ve durumunu kontrol etmek için:

```bash
mysqladmin -u root -p version status
```

Komut sizden root kullanıcısının şifresini isteyecektir.

Örnek Çıktı:

```
mysqladmin  Ver 9.1 Distrib 10.5.15-MariaDB, for debian-linux-gnu on x86_64
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Server version          10.5.15-MariaDB-0+deb11u1
Protocol version        10
Connection              Localhost via UNIX socket
UNIX socket             /run/mysqld/mysqld.sock
Uptime:                 10 min 5 sec

Threads: 7  Questions: 123  Slow queries: 0  Opens: 34  Flush tables: 1  Open tables: 27  Queries per second avg: 0.203
Uptime: 605  Threads: 7  Questions: 123  Slow queries: 0  Opens: 34  Flush tables: 1  Open tables: 27  Queries per second avg: 0.203
```

## Güvenlik Ayarları

Veritabanı sunucusu kurulduktan sonra çalışır durumda olsa bile, canlı ortamlarda kullanmadan önce temel güvenlik ayarlarının yapılması **çok önemlidir**. Bu işlem genellikle kurulum bölümünde bahsedilen `mariadb-secure-installation` veya `mysql_secure_installation` betikleri aracılığıyla yapılır. Bu betikler root şifresini ayarlamanıza, anonim kullanıcıları kaldırmanıza, uzaktan root girişini engellemenize ve test veritabanını kaldırmanıza yardımcı olur. Bu adımları atlamadığınızdan emin olun.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://linux-yonetimi.veriteknik.net.tr/veritabani/mysql/mysql-servisini-calistirmak.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
