Firebird
MySQL

Firebird / Interbase to MySQL Converter

Move Firebird or Interbase databases into MySQL, MariaDB, Amazon RDS, or Aurora — or sync data the other way. Schema conversion, type mapping, and optional two-way sync.

A Firebird .fdb database stores its identity keys, type domains, large text and binary objects, and procedural logic in mechanisms that MySQL implements differently.

Teams take the Firebird → MySQL path to align with a wider hosting and application ecosystem - managed cloud MySQL, web-app frameworks, and operational tooling. The row copy is the small part of the migration. The engineering cost is concentrated in three places: type mapping (BLOB subtypes and date semantics in particular), generator-to-AUTO_INCREMENT rewiring, and translating PSQL routines into MySQL stored procedures.


What DBConvert does on this path: handles Firebird-to-MySQL migration as a guided desktop workflow:

  • Connects to Firebird 2.5 / 3.0 / 4.0 and InterBase sources, including .fdb and .gdb database files.
  • Maps source metadata to MySQL tables, columns, indexes, primary keys, and foreign keys, with per-table type-mapping review and generator-to-AUTO_INCREMENT rewiring suggestions.
  • Writes to MySQL, MariaDB, Percona Server for MySQL, Amazon RDS / Aurora for MySQL, Azure Database for MySQL, or Google Cloud SQL for MySQL.
  • Saves the job as a repeatable session so test migrations can be rerun before the final cutover; DBSync keeps both sides aligned during a staged cutover.

What it does not do: Firebird PSQL stored procedures, triggers, computed-by columns, and event handlers do not translate to MySQL stored procedures automatically. The converter flags them rather than silently dropping them - the rewrite is project work, not part of the row copy.

Which tool: DBConvert or DBSync?

DBConvert for Firebird → MySQL

One-time migration or a repeatable saved session. Use it when MySQL or MariaDB is becoming the system of record and you need schema conversion, type mapping, generator-to-AUTO_INCREMENT rewiring suggestions, and cloud target support in a single desktop workflow.

DBSync for Firebird ↔ MySQL

Staged cutover. Use it when the Firebird application must keep running while MySQL is populated, tested, or read by a new application or reporting layer. Review synchronization concepts.

Need more context? Compare DBConvert and DBSync side by side →

How DBConvert handles the Firebird → MySQL differences

DBConvert handles the table-level migration in the wizard: date/time policy, charset, identifiers, generated keys, BLOB mapping, and transfer. Firebird PSQL remains a separate rewrite track.

Date/time policy

Firebird TIMESTAMP maps to MySQL DATETIME by default, preserving range and avoiding MySQL TIMESTAMP timezone conversion.

Charset and identifiers

DBConvert loads text as MySQL utf8mb4 and rewrites Firebird double-quoted identifiers into MySQL-safe backtick quoting.

Generated keys

Firebird generators become MySQL AUTO_INCREMENT primary keys where appropriate, with reseeding checked after the bulk load.

BLOB and load behavior

Text and binary BLOB subtypes map to MySQL LONGTEXT and LONGBLOB. Reserved words are quoted, and bulk load order keeps indexes and foreign keys manageable.

Procedural code boundary

DBConvert migrates tables, views, and foreign keys. Firebird PSQL procedures, triggers, computed-by columns, event handlers, and selectable procedures are rewritten manually in MySQL's stored-procedure dialect.

Type mapping checkpoints

Firebird MySQL Notes
SMALLINT / INTEGER / BIGINT same Direct mapping.
NUMERIC(p,s) / DECIMAL(p,s) DECIMAL(p,s) Direct.
FLOAT / DOUBLE PRECISION FLOAT, DOUBLE Direct.
VARCHAR(n) / CHAR(n) VARCHAR(n) / CHAR(n) CHARACTER SET utf8mb4, not legacy utf8.
BLOB SUB_TYPE 1 (text) LONGTEXT Charset to utf8mb4 on load.
BLOB SUB_TYPE 0 (binary) LONGBLOB Largest tier unless column has a known cap.
TIMESTAMP DATETIME Not MySQL TIMESTAMP (range / TZ semantics differ).
DATE / TIME DATE, TIME Direct.
BOOLEAN (Firebird 3.0+) TINYINT(1) or BOOLEAN alias MySQL stores BOOLEAN as TINYINT(1).
GENERATOR / SEQUENCE AUTO_INCREMENT on the PK column Collapse trigger-based key assignment.
DOMAIN expand inline MySQL has no CREATE DOMAIN.

DBConvert vs other Firebird → MySQL routes

Free routes cover narrow slices: a single-table data copy, a scripted dump, an ETL pipeline. They stop at the boundary where Firebird's generators, domains, BLOB SUB_TYPE fields, and PSQL routines need a MySQL answer - which is most of the actual migration project.

Route Where it fits Where it falls short
DBeaver Data Transfer open-source / community GUI A handful of tables, schema already in place on the MySQL side, no procedural code - right-click the source tables in DBeaver and run the data-transfer wizard. No schema conversion, no domain expansion, no TIMESTAMPDATETIME or BLOB SUB_TYPE handling, no generator rewiring, no PSQL translation, no saved repeatable session, no scheduler. As soon as the schema has generators, domains, or large objects, the work moves back to your hands.
Extract + LOAD DATA INFILE free, vendor-native Tiny Firebird databases with no PSQL routines and no BLOB SUB_TYPE columns. Hand-write the MySQL DDL, dump tables to CSV with isql, then load with LOAD DATA INFILE. Cheap and transparent. You write every type-mapping decision (TIMESTAMPDATETIME, BLOB SUB_TYPELONGBLOB / LONGTEXT, utf8utf8mb4), every identifier-quoting fix, every generator-to-AUTO_INCREMENT conversion, and every PSQL rewrite yourself. No review UI, no rerunnable session, no validation step. Fragile fast on real production schemas.
Pentaho Data Integration open-source ETL platform Teams already running PDI / Kettle who want the Firebird load as one step inside an existing ETL pipeline with transformations and filtering. Significant setup cost for a one-time database move; no built-in Firebird-to-MySQL schema converter, no type-mapping review, no PSQL translator. PDI moves the rows; you still define every mapping rule and rewrite every procedure by hand.
DBConvert / DBSync commercial desktop, Windows Desktop wizard for Firebird / InterBase → MySQL with per-table type-mapping review, generator-to-AUTO_INCREMENT rewiring suggestions, saved sessions for repeated test migrations, scheduler, and CLI. Writes to MySQL, MariaDB, Percona Server, Amazon RDS / Aurora for MySQL, Azure Database for MySQL, and Google Cloud SQL. DBSync keeps both sides aligned during a staged cutover. Commercial license; desktop tool (Windows). PSQL procedures, triggers, computed-by columns, and event handlers do not translate to MySQL stored procedures automatically - rewrite work either way.

The free routes do the data copy, not the migration. A Firebird-to-MySQL project spends most of its time on TIMESTAMPDATETIME decisions, BLOB SUB_TYPE mappings, generator-to-AUTO_INCREMENT rewiring, identifier quoting, and PSQL translation. DBConvert puts each of those decisions in a reviewable wizard, saves the session so test loads are rerunnable, and adds DBSync when the Firebird source must keep running during the cutover. That is what the commercial license buys - not "data copy", which the free routes can already do for tiny schemas.

Supported versions

  • Firebird 2.x, 3.x, 4.x and InterBase
  • MySQL 5.x, 8.x; MariaDB; Percona Server
  • Amazon RDS / Aurora MySQL, Azure Database for MySQL, Google Cloud SQL

Supported in this path

Source Firebird
Target MySQL
Firebird 2.x, 3.x, 4.x InterBase MySQL MariaDB Percona Server for MySQL Amazon RDS for MySQL Amazon Aurora MySQL Azure Database for MySQL Google Cloud SQL for MySQL

Using Firebird to MySQL Tools

When launching the DBConvert or DBSync application in GUI mode, it guides you through the steps to start database migration or synchronization:

1

Connect to Firebird source database

Specify the username/password and host/port parameters if your source database requires login credentials.

Connect to Firebird source database from DBConvert

Firebird source

Point DBConvert at a Firebird .fdb / .gdb file or a Firebird 2.5 / 3.0 / 4.0 server — Firebird source settings. Normalize the source charset to utf8mb4-compatible UTF8 before the load.

2

Connect to MySQL destination database

Specify parameters for the destination database similar to the source, defining connection settings and username/password pairs.

Connect to MySQL target database from DBConvert

MySQL target

Use the MySQL connection guide for local MySQL or MariaDB, or Amazon RDS / Aurora for MySQL, Azure Database for MySQL, or Google Cloud SQL for MySQL. Create the target schema as utf8mb4.

Next steps: configure, validate, run

After connecting source and target, the remaining steps are the same for every database pair:

  • Configure migration options - pick tables, fields, indices, views.
  • Issue detection - the built-in checker flags integrity problems before migration starts.
  • Execute - commit the job, monitor progress, save the session for reuse.
  • Schedule and CLI - rerun saved sessions on a schedule or from the command line.
Open the full guide

Steps 3-5, software features, command-line mode, scheduler, and system requirements.

See all features