---
title: "SQLite - MySQL taşıma, tarayıcınızda"
description: "Bir SQLite veritabanını MySQL hedefine taşıyın: .db dosyasını veya dökümünü aynı tablolar, anahtarlar ve verilerle bir betiğe dönüştürün, raporuyla."
canonical: https://intosql.com/tr/sqlite-mysql-donusturme
last_updated: 2026-10-15
---

# SQLite - MySQL taşıma, tarayıcınızda

Bir SQLite veritabanı dosyasını (.db, .sqlite, .sqlite3) veya sqlite3'ün .dump komutunun yazdığı SQL'i bırakın ve aynı tablolar, anahtarlar, indeksler ve verilerle bir MySQL betiği indirin. Her sütun, değerlerinin sığdığı türü alır ve MySQL'in olduğu gibi tutamadığı her değer raporda listelenir.

[SQLite - MySQL taşıma kılavuzu](https://intosql.com/docs/migrations/sqlite-to-mysql)

[SQLite - MySQL veri türleri](https://intosql.com/docs/types/sqlite-to-mysql)

## SQLite ile MySQL arasında neler değişir

Her satır, dönüştürücünün uyguladığı bir kuraldır; yanında, kural verilerinizde bir şeyi değiştirdiğinde yazılan rapor satırı yer alır.

| SQLite içinde | MySQL içinde | Rapor satırı |
| --- | --- | --- |
| declared types (any text: VARCHAR(255), DATETIME, BOOLEAN, JSON or none) | sütundaki her değerin sığdığı tür |  |
| BOOLEAN, BOOL | tinyint(1) |  |
| TEXT, VARCHAR(n), CHAR(n), CLOB | 1024 karaktere kadar varchar(n), ötesi text türleri |  |
| DECIMAL(p,s), NUMERIC | her değer sığıyorsa tam tür, değilse double |  |
| BLOB, and columns holding bytes | blob türleri |  |
| DATE, DATETIME, TIMESTAMP holding ISO 8601 text | date, datetime(p) |  |
| JSON holding JSON text | json |  |
| Infinity in REAL columns | NULL | `invalid_value_null` |
| INTEGER PRIMARY KEY, AUTOINCREMENT | en yüksek id'den veya sqlite_sequence değerinden sonra devam eden AUTO_INCREMENT |  |
| COLLATE NOCASE | tam karşılaştırma (utf8mb4_bin) | `case_insensitive_collation` |
| generated columns | üretilen sütunlar, kaynaktaki gibi STORED veya VIRTUAL |  |
| generated columns with functions IntoSQL doesn't write, and the || operator | düz bir sütun | `generated_not_translated` |
| defaults with functions IntoSQL doesn't write (strftime, randomblob) | varsayılan değer yok | `default_not_translated` |
| CHECK constraints | çevrilir |  |
| CHECK constraints with functions IntoSQL doesn't write | oluşturulmaz | `check_skipped` |
| partial and expression indexes | oluşturulmaz | `index_skipped` |
| foreign keys (unenforced unless PRAGMA foreign_keys=ON) | FOREIGN_KEY_CHECKS=0 ile yüklenen yabancı anahtarlar |  |
| foreign keys to tables the dump doesn't create | oluşturulmaz | `foreign_key_skipped` |
| primary keys holding NULL, and NOT NULL columns with values that become NULL | NOT NULL kaldırılır | `not_null_relaxed` |
| views, triggers and virtual tables (FTS, R*Tree) | raporda listelenir | `not_converted_objects` |
| dumps without CREATE TABLE (--data-only) | değerlerden okunan türler | `no_schema` |
| expressions in INSERT values other than the text functions dumps write | NULL | `expression_value` |
| NUL characters in text | korunur |  |
| text that isn't valid UTF-8 | hatalı baytlar yerine koyma karakteri olarak | `invalid_utf8_replaced` |
| text decoded twice (Ã±) | olduğu gibi kopyalanır | `mojibake_suspected` |

## Betiği MySQL veritabanına yükleyin

Betik tabloları oluşturur, satırları kopyalar, ardından anahtarları, indeksleri ve yabancı anahtarları ekler; böylece hızlı yüklenir ve ilk hatada durur.

```shell
mysql --default-character-set=utf8mb4 mydb < sqlite.mysql.sql
```

Yabancı anahtarlar dökümün tanımladığı şekilde, satırlar yüklenirken FOREIGN_KEY_CHECKS=0 ile oluşturulur; böylece var olmayan bir satıra işaret eden bir satır yüklemeyi durdurmaz.

Büyük bir döküm için istemciyi sunucuyla aynı makinede çalıştırın ve tek bir satır çok büyükse max_allowed_packet değerini artırın.

IntoSQL Pro, dosyayı masaüstü uygulamasından veya komut satırından doğrudan MySQL veritabanına yükler; betik yazmanız gerekmez.

## En iyi sonuç için SQLite dökümü nasıl alınır

Dönüştürücü, dökümün içerdiğini okur. Bu seçenekler verilerinizin daha fazlasını dökümde tutar:

- Veritabanı dosyasının kendisi olduğu gibi dönüştürülür ve tarayıcınızda sayfa sayfa okunur. Hiçbir değişiklik -wal dosyasında kalmasın diye önce ona yazan uygulamayı kapatın.
- sqlite3 app.db .dump > app.sql aynı veritabanını SQL olarak yazar; bu da .sql veya .sql.gz olarak dönüştürülür.
- DB Browser for SQLite bu SQL'i File, Export, Database to SQL file ile yazar; Python'ın iterdump() fonksiyonu da öyle.

## Neler dönüştürülmez

Görünümler ve tetikleyiciler SQLite'in kendi dilinde yazılır. Raporda adlarıyla listelenirler, asla sessizce atlanmazlar; böylece onları MySQL için yeniden yazabilirsiniz. FTS5 ve R*Tree gibi sanal tablolar da listelenir ve bunların gölge tabloları dışarıda bırakılır.

## SQLite - MySQL dönüştürme hakkında sorular

### Dökümüm yükleniyor mu?

Hayır. Dönüştürücü tarayıcınızda çalışır ve dökümü diskinizden parça parça okur; böylece döküm bilgisayarınızdan hiç çıkmaz. Masaüstü uygulaması ve komut satırı da bilgisayarınızda dönüştürür.

### Döküm ne kadar büyük olabilir?

Dönüştürücü dökümün tamamını asla bellekte tutmaz: dosyayı aralıklar halinde iki kez okur ve betiği ilerledikçe yazar. Birkaç gigabaytlık dökümler tarayıcıda, masaüstü uygulamasında ve komut satırıyla dönüştürülür.

### .db dosyasının kendisini dönüştürebilir miyim?

Evet. .db, .sqlite veya .sqlite3 dosyasını bırakın: tarayıcınızda okunur ve asla yüklenmez. NUL karakterli metinler ve bir double değerin her basamağı saklandığı gibi gelir; bir .dump bunları kesebilir.

### Döküm hangi SQLite sürümlerinden gelebilir?

SQLite 3.0 ve sonrasından UTF-8 veya UTF-16 veritabanı dosyaları ile sqlite3 kabuğunun .dump komutundan veya Python'ın iterdump() fonksiyonundan alınan dökümler. Her test dosyası ve dökümü, STRICT ve WITHOUT ROWID tabloları dahil, sqlite3 3.31 ile 3.54 arasından gelir ve kaynağıyla hücre hücre karşılaştırılır.

### SQLite sütun türlerini zorunlu tutmadığında türler nasıl belirlenir?

Tanımlanan tür bir ipucudur, kararı değerler verir: her değer sığıyorsa sütun integer, decimal, double, date, datetime, tinyint(1), blob veya text türü olur. Bir anahtardaki veya varsayılan değeri olan metin varchar(768) olur, böylece MySQL 5.7 onu indeksleyebilir.

### INTEGER PRIMARY KEY ve AUTOINCREMENT korunuyor mu?

Evet. INTEGER PRIMARY KEY, AUTO_INCREMENT olur, her satır kendi id'sini korur ve sonraki id en yüksek id'den sonra, AUTOINCREMENT varsa sqlite_sequence değerinden sonra devam eder.

### Görünümler ve tetikleyiciler ne olur?

Raporda adlarıyla listelenirler ve dönüştürülmezler, çünkü her veritabanı onları kendi dilinde yazar.

### Betik hangi MySQL sürümlerinde yüklenir?

MySQL 5.7 ve sonrası. Her test dökümü 5.7 ve 9 üzerinde yüklenir ve bir sorun çıkarsa ilk hatada durur.

## Kaynak: SQLite

- [SQLite - PostgreSQL](https://intosql.com/tr/sqlite-postgresql-donusturme)
- [SQLite - MariaDB](https://intosql.com/tr/sqlite-mariadb-donusturme)
- [SQLite - SQLite](https://intosql.com/tr/sqlite-sqlite-donusturme)
- [SQLite - SQL Server](https://intosql.com/tr/sqlite-sql-server-donusturme)
- [SQLite - Oracle](https://intosql.com/tr/sqlite-oracle-donusturme)

## Hedef: MySQL

- [MySQL - MySQL](https://intosql.com/tr/mysql-mysql-donusturme)
- [MariaDB - MySQL](https://intosql.com/tr/mariadb-mysql-donusturme)
- [PostgreSQL - MySQL](https://intosql.com/tr/postgresql-mysql-donusturme)
- [SQL Server - MySQL](https://intosql.com/tr/sql-server-mysql-donusturme)
- [Oracle - MySQL](https://intosql.com/tr/oracle-mysql-donusturme)

## Kılavuz ve tüm ikililer

- [MySQL - SQLite](https://intosql.com/tr/mysql-sqlite-donusturme)
- [SQLite - MySQL taşıma kılavuzu](https://intosql.com/docs/migrations/sqlite-to-mysql)
- [SQLite - MySQL veri türleri](https://intosql.com/docs/types/sqlite-to-mysql)
- [Tüm veritabanı ikilileri](https://intosql.com/tr/veritabani-tasima)
