A high-performance, multithreaded MySQL logical backup and restoration tool with consistent snapshot support.
MyDumper is a logical backup tool for MySQL databases, consisting of two components: `mydumper` for exporting consistent backups and `myloader` for importing them. It is designed to offer superior speed and manageability compared to traditional backup methods, making it a reliable choice for database administrators and developers.
Database administrators and developers who need efficient, consistent, and manageable backups of MySQL databases, particularly those dealing with large datasets or requiring parallel processing.
Developers choose MyDumper for its parallel multithreading capabilities, which provide faster backup and restore operations, and its consistent snapshot feature that maintains transactional integrity across all threads. It also offers manageable output with separate files per table and PCRE support for fine-grained control over database and table inclusions/exclusions.
Official MyDumper Project
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses multithreading for faster backup and restore operations, optimizing code to avoid expensive character set conversions, as highlighted in the README.
Maintains transactional consistency across all threads with accurate master and slave log positions, following best MySQL practices like FLUSH TABLES WITH READ LOCK.
Exports data into separate files per table with metadata, making it easy to view and parse, which simplifies backup management.
Supports PCRE for fine-grained inclusion and exclusion of databases and tables, allowing precise control over backup scope.
Official documentation is marked as 'work in progress,' which can hinder setup and troubleshooting for users relying on comprehensive guides.
Consistent snapshots for non-transactional engines are not yet available, with support expected in a future version (0.2), as admitted in the README.
The --exec option for running external commands like compression is single-threaded, potentially creating bottlenecks in performance-critical pipelines.