A triggerless online schema migration tool for MySQL that uses the binary log stream instead of triggers.
gh-ost is GitHub's 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 reads from the binary log stream instead of relying on database triggers. This approach provides greater control, safety, and operational perks compared to traditional migration tools.
Database administrators, DevOps engineers, and backend developers managing MySQL databases who need to perform safe, online schema changes in production environments.
Developers choose gh-ost because it eliminates the risks and limitations associated with trigger-based migration tools, offers true pause and throttling capabilities, and provides extensive testing options on replicas. Its design ensures minimal load on the master database and gives operators fine-grained control over the migration process.
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.
Eliminates trigger-based overhead and risks by using MySQL's binary log stream, reducing master database load and avoiding issues like deadlocks or performance degradation during migrations.
Supports full migration testing on replicas without affecting the master, allowing validation and checksum verification to build trust before production deployment, as highlighted in the testing documentation.
Can completely stop writes on the master during throttling, returning the database to its original workload, which is critical for managing high-traffic environments without disruption.
Offers interactive commands and reconfiguration during migration, including forced throttling and status queries via Unix socket or TCP, providing real-time adaptability.
Limited to MySQL databases only, with no support for other database systems, making it unsuitable for heterogeneous or multi-database environments.
Requires binary logging to be enabled on the MySQL server, which may not be standard in all setups and adds configuration complexity, especially in cloud-managed services like RDS.
Involves multiple modes, commands, and setup steps, demanding a deeper understanding of MySQL replication and migration workflows compared to simpler, more automated tools.
gh-ost is an open-source alternative to the following products: