github/gh-ost

GitHub's Online Schema-migration Tool for MySQL

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 56 minutes ago
Added to GitGenius on September 4th, 2026
Created on March 21st, 2016
Open Issues & Pull Requests: 329 (+0)
GitHub issues: Enabled
Number of forks: 1,421
Total Stargazers: 13,559 (+0)
Total Subscribers: 581 (+0)

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Issue API getrepoissuespagesummary failed: 429 Rate limit exceeded. Please try again later.

Detailed Description

gh-ost is a triggerless online schema migration tool for MySQL that performs table alterations without blocking writes or requiring database triggers.

The tool solves the problem of migrating MySQL table schemas while the database remains under load. It follows the standard online migration pattern of creating a ghost table, copying data incrementally, and propagating ongoing changes before swapping tables. The key difference is its triggerless approach: instead of using database triggers to capture changes, gh-ost reads the binary log stream to asynchronously apply modifications to the ghost table. This design gives the tool greater control over the migration process, allowing it to truly pause operations, decouple migration load from the master's workload, and avoid the limitations and risks associated with triggers.

Teams should adopt gh-ost when they need to alter production MySQL tables without incurring downtime or excessive load on the master. It suits environments where schema changes are frequent and must be validated before execution. The tool is particularly valuable for organizations that can benefit from its testing capabilities on replicas, where migrations can be run and verified without affecting the original table. Its interactive control features allow operators to throttle, reconfigure, and postpone the critical cut-over phase until they are available, eliminating concerns about migrations completing outside business hours.

Development on the project shows consistent engagement with schema migration challenges. The maintainers have documented their reasoning extensively, including dedicated explanations for the triggerless design choice and the specific limitations it addresses. The tool includes comprehensive operational features such as pausability, dynamic reconfiguration, auditing via socket or TCP, and external hook support for environment-specific integration. Interactive commands allow real-time control during migrations, and the project provides a cheatsheet and multiple operational modes to support different use cases.