How to Prepare Your Files
- Export your MySQL database using mysqldump
- Include both schema and data in the dump file
- Save as .sql file or create a ZIP archive
- Upload the .sql file or ZIP archive below
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
.sqldump files frommysqldump- ZIP archives containing
.sqldump files - Multiple dump files in a single archive
What You Get Out
DataMeans extracts your data into multiple modern formats:
| Output | Description |
|---|---|
csv/{TableName}.csv | One CSV file per table with all row data |
xlsx/{TableName}.xlsx | Excel workbook per table |
xls/{TableName}.xls | Legacy Excel format per table |
json/{TableName}.json | JSON array of records per table |
json/{TableName}.jsonl | Newline-delimited JSON (streaming-friendly) |
postgres.sql | PostgreSQL CREATE TABLE + INSERT statements |
schema/schema-graph.json | Relationship graph for visualization |
schema/er-model.json | ER model for diagram tools |
report.json | Structured extraction report |
report.md | Human-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,.MYIfiles) not supported - Binary tablespace files not supported
- Live database connections not supported (use mysqldump)
- Stored procedures/functions documented but may need adjustment
Troubleshooting
| Issue | Solution |
|---|---|
| Syntax errors | Ensure dump is from MySQL 5.x+ |
| Missing tables | Use --databases flag in mysqldump |
| Character encoding | Add --default-character-set=utf8mb4 |
Last updated: January 2026
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 indexesibdata1: 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:
| Type | Size | Description |
|---|---|---|
| TINYINT | 1 byte | Integer: -128 to 127 (signed) |
| SMALLINT | 2 bytes | Integer: -32,768 to 32,767 (signed) |
| MEDIUMINT | 3 bytes | Integer: -8,388,608 to 8,388,607 (signed) |
| INT | 4 bytes | Integer: -2,147,483,648 to 2,147,483,647 (signed) |
| BIGINT | 8 bytes | Integer: -2^63 to 2^63-1 (signed) |
| FLOAT | 4 bytes | Single-precision floating-point number |
| DOUBLE | 8 bytes | Double-precision floating-point number |
| DECIMAL | variable | Fixed-point decimal, up to 65 digits |
| CHAR | fixed | Fixed-length string, 0-255 characters |
| VARCHAR | variable | Variable-length string, 0-65,535 characters |
| TEXT | variable | Large text up to 4 GB (TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT) |
| DATE | 3 bytes | Date: 1000-01-01 to 9999-12-31 |
| TIME | 3 bytes | Time: -838:59:59 to 838:59:59 |
| DATETIME | 5 bytes | Date and time: 1000-01-01 00:00:00 to 9999-12-31 23:59:59 |
| TIMESTAMP | 4 bytes | Unix timestamp: 1970-01-01 to 2038-01-19 |
| YEAR | 1 byte | Year: 1901 to 2155 |
| JSON | variable | Native JSON storage and querying |
| BLOB | variable | Binary 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
| Version | Year | Key Changes | Compatibility |
|---|---|---|---|
| 3.23 | 2001 | InnoDB engine, replication, full-text indexing | Adds InnoDB ibdata system tablespace |
| 4.0 | 2003 | UNION, multi-table DELETE, query cache | No new file types |
| 4.1 | 2004 | Prepared statements, subqueries | No new file types |
| 5.0 | 2005 | Stored procedures, triggers, views | VARCHAR limit raised from 255 to 65,535 bytes |
| 5.1 | 2008 | Partitioning, event scheduler | Adds .par partition definition files |
| 5.5 | 2010 | InnoDB default, Performance Schema | InnoDB Barracuda row formats supported |
| 5.6 | 2013 | GTID replication, memcached API | File-per-table .ibd files become default |
| 5.7 | 2015 | JSON type, generated columns | Adds general tablespaces (CREATE TABLESPACE) |
| 8.0 | 2018 | Window functions, CTEs, roles | .frm files removed; data dictionary in InnoDB |
| 8.1 | 2023 | First Innovation release | No format change |
| 8.4 | 2024 | First LTS release of the new model | No 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.