Mehmet Deniz Aydın Full Stack Developer
EN
← Açık kaynak

Masaüstü uygulaması

MieSQL

macOS, Windows ve Linux için hızlı bir SQL istemcisi.

MieSQL, bir SQL istemcisi; Navicat’a açık kaynaklı bir alternatif. PostgreSQL, MySQL, MariaDB, SQLite ve Redis’e bağlanır.

Electron çalışma zamanı ve telemetri olmadan yazdım. Bağlantı profilleri, sorgu geçmişi ve ayarlar makinede kalır; uygulama yalnızca gösterdiğin veritabanlarıyla konuşur.

Tauri, Rust ve React kullandım.

Ne yapar

  • Aynı anda birden fazla açık bağlantı; her biri kendi kilidinde, yani bir sunucudaki yavaş sorgu diğerini engellemez.
  • Sistemin ssh istemcisiyle SSH tüneli; ~/.ssh/config, agent ve atlama sunucuları terminaldeki gibi çalışır.
  • Sözdizimi renklendirmeli, tablo ve sütun adlarını tamamlayan SQL editörü. ⌘↩ seçili metni, seçim yoksa tüm betiği çalıştırır. Çalışan sorgu oturum kaybedilmeden durdurulabilir.
  • Tablolar Veri, Yapı ve DDL sekmeleriyle açılır. Tablo düzenlenebilir; değişiklikleri uygularken önce tam INSERT, UPDATE ve DELETE ifadelerini gösterir.
  • Dump ve restore, sütun eşlemeli CSV içe aktarma; CSV, TSV, JSON, SQL INSERT ya da Markdown olarak dışa aktarma.
  • Bağlantı başına salt okunur kip; yazma işlemleri uygulamadan çıkmadan engellenir. Parolalar sistemin kimlik deposunda durur.
  • Açık, koyu ya da sistem teması; İngilizce ve Türkçe.

Kurulum

Sistemine uygun sürümü son sürümden indir: macOS için MieSQL_*_universal.dmg (Apple silicon ve Intel), Windows için MieSQL_*_x64-setup.exe, Linux için .AppImage, .deb ya da .rpm.

  • macOS: imzalı ve notarize edilmiş, uyarısız açılır. İlk açılış, macOS paketi bir kez doğruladığı için uzun sürer.
  • Windows: kurulum dosyası imzasız, bu yüzden SmartScreen bilinmeyen yayıncı uyarısı verir. More info, sonra Run anyway seç. Geçerli kullanıcı için kurulur, yönetici hakkı gerekmez.
  • Linux: AppImage dosyasını chmod +x ile çalıştırılabilir yap. Parola kaydetmek için gnome-keyring ya da KWallet gibi bir Secret Service sağlayıcısı lazım. Yoksa MieSQL parolayı her seferinde sorar.

Bağlanma

Yeni Bağlantı’dan URL ile ekleyi seç ve şunlardan birini yapıştır. URL doğrudan kaydedilmez, formu doldurur; kaydetmeden önce kontrol edebilirsin.

postgres://user:password@host:5432/database?sslmode=require
mysql://root:p@ss@127.0.0.1:3307/shop
jdbc:postgresql://localhost:5432/app
sqlite:///Users/you/app.sqlite
host=db.example.com port=5433 dbname=app user=ada password='se cret'

İçinde @, : ya da / olan parolalar doğru ayrıştırılır. Bağlantının bağlam menüsünde parolayı dışarıda bırakan Bağlantı URL’ini Kopyala seçeneği var.

Bilmen gerekenler

  • MongoDB ve Firebase desteği yok, şema editörü de yok. Bir tabloyu değiştirmek için ALTER’ı kendin yazarsın.
  • Redis komutları iptal edilemez.
  • verify-ca ve verify-full Require gibi işlenir, çünkü sertifika doğrulaması henüz yok. Uygulama bunu söyler.
  • Windows’ta SSH ile parola girişi çalışmaz. Orada anahtar ya da ssh-agent kullan.
  • Windows ve Linux sürümleri x86_64. macOS sürümü universal.
  • Analitik ve çökme raporu yok. Her şey tek klasörde durur: macOS’ta ~/Library/Application Support/MieSQL, Windows’ta %APPDATA%\MieSQL, Linux’ta ~/.local/share/MieSQL. Uygulamanın kendi başına yaptığı tek istek güncelleme kontrolüdür ve Ayarlar’dan kapatılabilir.

Kaynaktan derleme

Rust 1.77 ya da üstü ve Node 22 ya da üstü gerekir. Linux’ta ayrıca WebKitGTK geliştirme paketleri lazım.

git clone https://github.com/mdenizay/miesql.git
cd miesql
npm install
npm run app:build

Geliştirmek için npm run app:dev uygulamayı sıcak yenilemeyle çalıştırır, cargo test --manifest-path src-tauri/Cargo.toml testleri çalıştırır.