A triggerless online schema migration tool for MySQL that uses the binary log stream instead of triggers.
gh-ost is an online schema migration tool for MySQL that allows altering database tables without downtime or significant performance impact. It solves the problem of risky and disruptive schema changes by using a triggerless design that decouples migration workload from the master's existing operations. This enables safe, controllable, and testable migrations in production environments.
Database administrators, DevOps engineers, and backend developers managing MySQL databases who need to perform schema changes with minimal disruption and maximum safety.
Developers choose gh-ost over traditional tools because it eliminates trigger-based limitations, offers true pause and dynamic control, and provides robust testing capabilities on replicas, making it a safer and more reliable choice for critical production migrations.
GitHub's Online Schema-migration Tool for MySQL
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 MySQL's binary log stream instead of triggers, reducing database load and avoiding trigger-related limitations and risks outlined in the documentation.
Supports testing migrations on replicas without affecting the master, allowing for validation and building trust through continuous checksum verification as highlighted in the README.
Can completely cease writes during throttling, returning the master to original workload, and accepts interactive commands via Unix socket or TCP for real-time reconfiguration.
Allows postponing cut-over to off-peak hours using flag files and provides hooks for integration with custom deployment pipelines, enhancing safety.
Designed exclusively for MySQL, so it cannot be used with other database systems like PostgreSQL or MongoDB, limiting its applicability in polyglot environments.
Requires binary logging to be enabled and properly configured, which might not be feasible in all environments or could add setup complexity, as noted in the requirements.
Optimal usage involves having replicas for testing, increasing infrastructure and management costs for teams without existing replica setups, per the testing recommendations.
Involves non-trivial setup steps, such as ensuring proper permissions and binary log settings, which can be daunting for less experienced users despite the detailed docs.
gh-ost is an open-source alternative to the following products: