gh-ost is a command-line utility for performing online schema migrations on MySQL-compatible databases. Developed at GitHub, it allows database administrators to modify table structures while limiting disruption to applications accessing those tables.
Unlike migration utilities that depend on database triggers, gh-ost reads changes from the binary log and applies them asynchronously to a temporary table. This approach gives administrators control over migration workload and helps reduce the performance impact on busy database servers.
The software supports pausing and throttling migrations, monitoring progress, controlling the final table swap and integrating migrations with external scripts. Administrators can test migration behaviour on replicas before applying changes to production systems.
Recent releases have expanded compatibility and operational functionality. These include MySQL 8.4 support, GTID-based binary log processing, MariaDB-specific replication support and optional StatsD/DogStatsD metrics. These improvements make gh-ost useful for managing schema changes in modern database environments.
This is free and open source software.
Key Features
- Perform online schema changes without database triggers.
- Use binary log events to capture and apply ongoing table changes.
- Throttle migration activity to manage database load.
- Pause and resume migration processing.
- Test migrations on replicas before modifying production tables.
- Control the timing of the final table cut-over.
- Monitor migration progress and operational status.
- Support GTID-based binary log processing.
- Support MySQL 8.4 and compatible MariaDB configurations.
- Integrate external hooks into migration workflows.
- Export optional operational metrics through StatsD/DogStatsD.
- Cross-platform support – runs on Linux and macOS.
Website: github.com/github/gh-ost
Support:
Developer: GitHub and contributors
License: MIT License
gh-ost is written in Go. Learn Go with our recommended free books and free tutorials.
Related Software
| MySQL Tools | |
|---|---|
| DBeaver | Universal database tool |
| phpMyAdmin | MySQL web administration tool |
| NocoDB | Build databases as spreadsheets |
| MySQL Workbench | Complete visual database design tool |
| mycli | Command line interface for MySQL, MariaDB, and Percona |
| gh-ost | GitHub's Online Schema Migrations for MySQL |
| Beekeeper Studio | Cross-platform SQL editor and database manager |
| usql | Command-line database client |
| sqlit | lazygit of SQL databases |
| Harlequin | Easy, fast, and beautiful database client for the terminal |
| DbGate | Database manager for MySQL, PostgreSQL, MongoDB |
| Percona Toolkit | Essential command-line utilities for MySQL |
| SQuirreL SQL Client | Graphical SQL client written in Java |
| Adminer | Full-featured tool for managing content in MySQL database |
| dblab | Interactive client for PostgreSQL, MySQL, SQLite3, and more |
| Antares | SQL client based on Electron.js and Vue.js |
| XtraBackup | Backup utility for MySQL |
| innotop | Real-time, advanced investigation tool |
| SQLCheck | Detects common SQL anti-patterns |
| Skeema | Manage MySQL and MariaDB schema changes |
| Sequeler | Native Linux SQL client built in Vala and Gtk |
| orchestrator | High availability and replication management tool |
| OmniDB | Collaborative environment For database management |
Read our verdict in the software roundup.
LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more. Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion. Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README. |


Please read our Comment Policy before commenting.