> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# MySQL

> Kullanıcı davranışına dayalı otomatik Journey'leri ve kişiselleştirilmiş mesajlaşma kampanyalarını tetiklemek için özel olayları MySQL'den OneSignal'e senkronize edin.

export const PLATFORM_0 = "MySQL"

export const DATA_TYPE_0 = "event data"

export const COLUMN_HEADER_0 = "MySQL Column"

export const PROPERTIES_DESCRIPTION_0 = "Event properties as JSON"

## Genel bakış

OneSignal + MySQL entegrasyonu, kullanıcı davranışına dayalı otomatik mesajlaşma kampanyalarını ve Journey'leri tetiklemek için MySQL veritabanınızdan OneSignal'e özel olayların senkronizasyonunu sağlar.

MySQL, kişiselleştirilmiş mesajlaşma kampanyalarını destekleyebilecek yapılandırılmış olay verilerini depolamak için ideal olan, yaygın olarak kullanılan açık kaynaklı bir ilişkisel veritabanı yönetim sistemidir.

## Gereksinimler

* Access to [Event Streams](/docs/en/event-streams) for outbound message events (Plan limitations and overages apply)
* Access to [Custom Events](/docs/en/custom-events) for inbound event syncing (Plan limitations and overages apply)
* [Updated Account Plan](https://onesignal.com/pricing) (not available on free apps)

### MySQL

* **MySQL Community 5.7** veya daha yenisi, ya da **MariaDB**'nin son sürümleri
* Yapılandırılmış davranışsal veriler içeren **Olay tabloları**
* OneSignal'den MySQL örneğinize **Ağ bağlantısı**
* **TLS v1.2** veya daha yüksek desteklenir

***

## Kurulum

<Steps>
  <Step title="OneSignal için özel kullanıcı oluşturun">
    Salt okunur izinlere sahip özel bir kullanıcı hesabı oluşturun:

    ```sql theme={null}
    -- Create census user with ability to sign in with a password
    CREATE USER CENSUS IDENTIFIED BY '<strong, unique password>';

    -- Grant read-only access to your event schema
    GRANT SELECT ON <your_schema>.* TO CENSUS;
    ```

    <Info>
      Olay verileri içeren birden fazla şemanız varsa, her şema için `GRANT SELECT` ifadesini tekrarlayın.
    </Info>
  </Step>

  <Step title="OneSignal bağlantısını yapılandırın">
    In OneSignal, go to **Data > Integrations** and click **Add Integration**.

    **MySQL**'i seçin ve bağlantı detaylarınızı sağlayın:

    * **Host:** MySQL sunucu ana bilgisayar adınız
    * **Port:** MySQL portu (genellikle 3306)
    * **Database:** Olay tablolarınızı içeren veritabanı adı
    * **Username:** `CENSUS`
    * **Password:** Yukarıda oluşturduğunuz şifre
  </Step>

  <Step title="Bağlantıyı test edin">
    OneSignal'in MySQL veritabanınıza başarıyla bağlanabildiğini ve olay tablolarınıza erişebildiğini doğrulamak için **Test Connection**'a tıklayın.
  </Step>
</Steps>

***

### Event data mapping

Map your {PLATFORM_0} {DATA_TYPE_0} to OneSignal's custom events format:

| OneSignal Field | {COLUMN_HEADER_0} | Description                | Required |
| --------------- | ----------------- | -------------------------- | -------- |
| `name`          | `event_name`      | Event identifier           | Yes      |
| `external_id`   | `user_id`         | User identifier            | Yes      |
| `timestamp`     | `event_timestamp` | When event occurred        | No       |
| `properties`    | `event_data`      | {PROPERTIES_DESCRIPTION_0} | No       |

### Örnek Olay Tablosu Şeması

```sql theme={null}
CREATE TABLE user_events (
    id BIGINT AUTO_INCREMENT PRIMARY KEY,
    event_name VARCHAR(100) NOT NULL,
    user_id VARCHAR(255) NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    event_data JSON,
    session_id VARCHAR(255),
    device_type VARCHAR(50)
);
```

### Tablo Modu

Olay tablonuzu doğrudan seçin ve OneSignal tüm satırları ayrı olaylar olarak senkronize edecektir.

### SQL Sorgu Modu

Olay verilerinizi dönüştürmek için özel SQL sorguları yazın:

```sql theme={null}
-- Example: Recent high-value events
SELECT
    event_name,
    user_id,
    created_at as timestamp,
    event_data as payload
FROM user_events
WHERE created_at >= DATE_SUB(NOW(), INTERVAL 7 DAY)
    AND JSON_EXTRACT(event_data, '$.value') > 100
ORDER BY created_at DESC;
```

***

## Gelişmiş Ağ Yapılandırması

OneSignal, bölge kısıtlamaları, IP adresi izin listeleri veya SSH Tünelleme dahil gelişmiş ağ kontrolleri kullanarak MySQL örneklerine başarıyla bağlanabilir.

OneSignal, güvenli bağlantılar için TLS 1.2 ve daha yüksek sürümleriyle MySQL'i destekler.

***

## SSS

### Hangi MySQL sürümleri desteklenir?

OneSignal, MySQL Community 5.7 veya daha yenisini ve ayrıca MariaDB'nin son sürümlerini destekler.

### Özel bir ağdaki MySQL'e bağlanabilir miyim?

Evet, OneSignal özel ağlardaki veya güvenlik duvarlarının arkasındaki MySQL örneklerine bağlanmak için SSH tünelleme ve IP izin listelerini destekler.

***
