All systems

MySQL

SQL dump files (via mysqldump)
Supported

How to Prepare Your Files

  1. Export your MySQL database using mysqldump
  2. Include both schema and data in the dump file
  3. Save as .sql file or create a ZIP archive
  4. Upload the .sql file or ZIP archive below
Guide

MySQL and MariaDB are popular open-source relational database systems. DataMeans supports SQL dump file extraction for schema and data migration.

What You Can Upload

  • .sql dump files from mysqldump
  • ZIP archives containing .sql dump files
  • Multiple dump files in a single archive

What You Get Out

DataMeans extracts your data into multiple modern formats:

OutputDescription
csv/{TableName}.csvOne CSV file per table with all row data
xlsx/{TableName}.xlsxExcel workbook per table
xls/{TableName}.xlsLegacy Excel format per table
json/{TableName}.jsonJSON array of records per table
json/{TableName}.jsonlNewline-delimited JSON (streaming-friendly)
postgres.sqlPostgreSQL CREATE TABLE + INSERT statements
schema/schema-graph.jsonRelationship graph for visualization
schema/er-model.jsonER model for diagram tools
report.jsonStructured extraction report
report.mdHuman-readable extraction summary

How to Export / Obtain Files

Export with mysqldump:

mysqldump -u username -p database_name > dump.sql

With schema and data:

mysqldump -u username -p --databases database_name > dump.sql

For all databases:

mysqldump -u username -p --all-databases > dump.sql

Supported Features

  • CREATE TABLE schema extraction (columns, types, constraints)
  • INSERT INTO data extraction
  • Type mapping to PostgreSQL equivalents
  • Foreign key relationship detection
  • Index preservation

Known Limitations

  • Raw MySQL data directories (.frm, .MYD, .MYI files) not supported
  • Binary tablespace files not supported
  • Live database connections not supported (use mysqldump)
  • Stored procedures/functions documented but may need adjustment

Troubleshooting

IssueSolution
Syntax errorsEnsure dump is from MySQL 5.x+
Missing tablesUse --databases flag in mysqldump
Character encodingAdd --default-character-set=utf8mb4

Last updated: January 2026

Technical reference

Overview

MySQL is an open-source relational database management system developed by Oracle Corporation, featuring multiple storage engines for different use cases. It uses a client-server architecture with SQL as the query language, supporting ACID transactions, replication, and high availability. MySQL stores data in various file formats depending on the storage engine, with InnoDB as the default for transactional workloads and MyISAM available for read-heavy, non-transactional workloads.

History and Background

  • 1995: First version of MySQL developed by Michael Widenius and David Axmark; MySQL AB founded in Sweden with Allan Larsson.
  • 1996: MySQL 3.11.1 released to the public, initially for Solaris and soon after for Linux.
  • 2000: MySQL source code released under the GNU General Public License.
  • 2001: MySQL 3.23 reaches general availability; the InnoDB storage engine, bundled from 3.23.34a, adds transactions.
  • 2003: MySQL 4.0 adds UNION queries and multi-table DELETE.
  • 2004: MySQL 4.1 adds subqueries and prepared statements.
  • 2005: MySQL 5.0 introduces stored procedures, triggers, and views.
  • 2008: Sun Microsystems acquires MySQL AB for approximately $1 billion.
  • 2010: Oracle acquires Sun Microsystems, gains MySQL ownership.
  • 2010: MySQL 5.5 makes InnoDB the default storage engine.
  • 2015: MySQL 5.7 adds a native JSON data type and generated columns.
  • 2018: MySQL 8.0 introduces window functions and common table expressions.
  • 2023: MySQL 8.1 released as the first Innovation release under the new release model.
  • 2024: MySQL 8.4 released as the first long-term support (LTS) version, followed by MySQL 9.0.

File Format Specifications

MySQL uses different file formats based on the storage engine selected.

InnoDB Files:

  • .ibd: Tablespace files containing data and indexes
  • ibdata1: System tablespace for InnoDB metadata
  • .frm: Table definition files (removed in 8.0)
  • ibtmp1: Temporary tablespace for temporary data
  • undo logs: Transaction rollback segments

MyISAM Files:

  • .MYD: Data files containing table rows
  • .MYI: Index files containing B-tree indexes
  • .frm: Table definition files (replaced by the data dictionary in 8.0)

File Structure:

  • Tablespaces: Logical containers for database objects
  • Pages: Fixed-size blocks (16 KB default for InnoDB)
  • Extents: Groups of pages for allocation efficiency
  • Segments: Collections of extents for tables and indexes
  • Redo logs: Transaction durability through WAL

Key Components:

  • Storage Engines: Pluggable architecture for different access methods
  • Buffer Pool: In-memory cache for frequently accessed data
  • Query Cache: Result caching for identical queries (removed in 8.0)
  • Replication: Asynchronous source-replica (master-slave) topologies
  • Partitioning: Horizontal data distribution across files

Data Types and Structures

MySQL supports comprehensive data types across different categories:

TypeSizeDescription
TINYINT1 byteInteger: -128 to 127 (signed)
SMALLINT2 bytesInteger: -32,768 to 32,767 (signed)
MEDIUMINT3 bytesInteger: -8,388,608 to 8,388,607 (signed)
INT4 bytesInteger: -2,147,483,648 to 2,147,483,647 (signed)
BIGINT8 bytesInteger: -2^63 to 2^63-1 (signed)
FLOAT4 bytesSingle-precision floating-point number
DOUBLE8 bytesDouble-precision floating-point number
DECIMALvariableFixed-point decimal, up to 65 digits
CHARfixedFixed-length string, 0-255 characters
VARCHARvariableVariable-length string, 0-65,535 characters
TEXTvariableLarge text up to 4 GB (TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT)
DATE3 bytesDate: 1000-01-01 to 9999-12-31
TIME3 bytesTime: -838:59:59 to 838:59:59
DATETIME5 bytesDate and time: 1000-01-01 00:00:00 to 9999-12-31 23:59:59
TIMESTAMP4 bytesUnix timestamp: 1970-01-01 to 2038-01-19
YEAR1 byteYear: 1901 to 2155
JSONvariableNative JSON storage and querying
BLOBvariableBinary large object up to 4 GB (TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB)

Database Structure:

  • Databases contain tables, views, stored procedures, triggers
  • Tables use storage engines with different capabilities
  • Indexes support B-tree, hash, full-text, spatial types
  • Foreign key constraints supported in InnoDB
  • Partitioning available for large tables

Version Differences

VersionYearKey ChangesCompatibility
3.232001InnoDB engine, replication, full-text indexingAdds InnoDB ibdata system tablespace
4.02003UNION, multi-table DELETE, query cacheNo new file types
4.12004Prepared statements, subqueriesNo new file types
5.02005Stored procedures, triggers, viewsVARCHAR limit raised from 255 to 65,535 bytes
5.12008Partitioning, event schedulerAdds .par partition definition files
5.52010InnoDB default, Performance SchemaInnoDB Barracuda row formats supported
5.62013GTID replication, memcached APIFile-per-table .ibd files become default
5.72015JSON type, generated columnsAdds general tablespaces (CREATE TABLESPACE)
8.02018Window functions, CTEs, roles.frm files removed; data dictionary in InnoDB
8.12023First Innovation releaseNo format change
8.42024First LTS release of the new modelNo format change

Compatibility Notes:

  • Major version upgrades may require dump/restore
  • Storage engine changes affect file compatibility
  • Client libraries version-dependent
  • Oracle MySQL differs from community forks (MariaDB, Percona)

Technical References


To learn how to use this format with DataMeans, see the User Guide.