A native MySQL & MariaDB client for macOS, iPhone and iPad. Open source, built with SwiftUI.
DB+ is a modern database manager that runs natively on Apple platforms — no Electron, no subscriptions, no telemetry. Connect to your MySQL or MariaDB servers directly or through an SSH tunnel, browse schemas, write and run SQL, and edit rows right from your Mac or phone.
- Native & cross-platform — one SwiftUI codebase for macOS, iPhone and iPad.
- Direct, SSH and HTTPS bridge connections — plain TCP with TLS, SSH tunneling (system OpenSSH on macOS, in-process Citadel client on iOS), or an HTTPS bridge to a
db_bridge.phpendpoint for restricted networks. - Credential security — connection secrets stored in the Keychain, never on disk in plain text.
- Biometric lock — optional Face ID / Touch ID gate on your saved connection profiles.
- SQL console — multi-statement queries, schema-aware autocomplete and syntax highlighting.
- Schema inspector — browse tables, views and columns in a navigable outline.
- Data grid with CRUD — type-aware cell editor (date, numeric, text), NULL toggle and a full row editor.
- CSV export — export query results and tables in one tap.
- Configurable pagination — set rows per page, or show all rows without a limit.
Coming soon — screenshots of the workspace, SQL console and data grid.
- macOS 26.5+, or iOS / iPadOS 26.5+
- Xcode 26.5+
- Swift 6
| Package | Purpose |
|---|---|
| MySQLNIO | Async MySQL client — prepared statements, streaming rows, TLS |
| Citadel | In-process SSH client for iOS (SwiftNIO + swift-crypto) |
| firebase-ios-sdk | Crashlytics crash reporting |
Firebase / Crashlytics: the
firebase-ios-sdkpackage is required to build (DB+ importsFirebaseCore/FirebaseCrashlytics). What is optional is the runtime configuration: Crashlytics activates only when aGoogleService-Info.plistis present in the DB+ target. Add your own Firebase config to enable crash reporting, or omit the file to run without it. On Xcode Cloud, the file is restored from a base64 secret byci_scripts/ci_post_clone.sh.
- Clone the repository:
git clone https://github.com/AlainL88/DBPlus.git
- Open
DB+.xcodeprojin Xcode. - Select the DB+ scheme and your target device.
- Build & run (⌘R).
DB+ is transport-agnostic: a single DatabaseTransport protocol isolates all app logic (schema inspector, data grid, query runner) from the concrete network implementations (direct, SSH, bridge).
See docs/ARCHITECTURE.md for the full design.
- Passwords and SSH keys are stored in the Keychain.
- All SQL is executed through prepared statements (MySQLNIO), guarding against SQL injection.
- Optional biometric lock protects saved connection profiles.
- No analytics beyond Crashlytics crash reporting, and no data ever leaves your device except to the servers you configure.
DB+ uses only standard cryptography (TLS, SSH, HMAC-SHA256) and is classified as mass-market / exempt for export purposes. See docs/EXPORT_COMPLIANCE.md for the full assessment.
DB+ is free, open source, and will stay that way. Building a polished app for three platforms takes evenings and weekends — if DB+ saves you time at work, a coffee keeps the project alive and the next feature shipping sooner.
Supporting the project doesn't unlock features — it just keeps it funded and free for everyone.
MIT © 2026 Alain Lima