Skip to content

Fix MySQL Workbench Migration – Tables or Data Not Transferred

DodaTech Updated 2026-06-24 3 min read

In this tutorial, you'll learn about Fix MySQL Workbench Migration. We cover key concepts, practical examples, and best practices.

You use MySQL Workbench's Migration Wizard to move a database from one server to another. The wizard completes without errors, but the target database is missing tables — or the row counts don't match.

Wrong ❌

You run the Migration Wizard with all defaults:

  1. Source: MySQL 5.7 on old‑server:3306
  2. Target: MySQL 8.0 on new‑server:3306
  3. Tick all schemas → Next → Next → Finish

Result on the target:

SHOW TABLES;
-- only 12 out of 34 tables appear
SELECT COUNT(*) FROM users;
-- 0 rows (source had 50,000)

No error message was shown. The wizard simply skipped objects silently.

Step 1 — Check object selection:

  1. Database → Migration Wizard
  2. After connecting source and target, the Object Selection step shows a tree
  3. Expand your schema — you must explicitly tick each object type:
    • Tables (including Data column)
    • Views
    • Stored Procedures
    • Functions
    • Triggers
  4. For each table, tick Data to transfer rows (not just schema)

Step 2 — Handle incompatible types:

In the Manual Editing step, review type mappings:

Source: TINYINT(1)  → Target: TINYINT(1)    OK
Source: YEAR        → Target: YEAR           OK
Source: GEOMETRY    → Target: GEOMETRY       OK (MySQL 8)
Source: utf8mb3     → Target: utf8mb4        Auto‑converted

Fix any flagged items — especially deprecated types (e.g. PASSWORD, MEDIUMINT).

Step 3 — Migrate with data:

Copying data...
  users:   50,000 / 50,000 rows  ✅
  orders:  12,340 / 12,340 rows  ✅
  products: 8,200 / 8,200 rows   ✅
Total rows migrated: 70,540

Verify:

SELECT COUNT(*) FROM target.users;  -- 50000 ✅

Root Cause

The Migration Wizard defaults to schema‑only for tables (no data). You must explicitly tick Data for each table or use Select All and then tick Data globally. Also, incompatible object types (e.g. old deprecated column types) cause silent skips.

Prevention

  • After Object Selection, click Select All then tick Data for every table.
  • Review the Migration Report tab after completion — it lists skipped objects.
  • For large databases (>1 GB), use mysqldump instead of the wizard for better reliability.
  • Always run row‑count validation after migration: compare SELECT COUNT(*) per table.

Common Mistakes with workbench migration

  1. Using head and tail instead of pattern matching, causing runtime errors on empty lists
  2. Forgetting that lazy evaluation defers computation until the value is forced, causing space leaks with unevaluated thunks
  3. Using return to exit a function early instead of wrapping a pure value in the monad

These mistakes appear frequently in real-world MYSQL code. DodaTech's contributors have identified these patterns through analysis of open-source projects and production systems.

Practice Exercise

Write a pure function that safely divides two integers using Maybe, then test it with edge cases like division by zero and negative numbers.

This exercise reinforces the concepts covered in this guide. Try implementing it before checking online solutions.

FAQ

**Q: Why does migration fail with "Invalid default value for 'created_at'"?**

A: MySQL 8 enforces stricter date rules. In Manual Editing, set explicit_defaults_for_timestamp or fix the default values.

**Q: Can I migrate only the schema without data?**

A: Yes — don't tick Data for any table. The wizard runs DDL only.

**Q: How long should a 10 GB migration take?**

A: Depends on network speed and indexes. Expect 30‑60 minutes. Use Bulk Data Insert option with larger batch sizes for speed.

**Q: Does the wizard handle foreign keys?**

A: Yes — it disables FK checks during data copy and re‑enables them after. If FKs are missing, check Object Selection → Foreign Keys.


Full migration guidance is in the DodaTech MySQL Migration course.

Built by the developers of DodaTech

Doda Browser, DodaZIP & Durga Antivirus Pro