SQL

gh-ost – GitHub’s Online Schema Migrations for MySQL

gh-ost is a triggerless online schema migration solution for MySQL.

It is testable and provides pausability, dynamic control/reconfiguration, auditing, and many operational perks.

gh-ost produces a light workload on the master throughout the migration, decoupled from the existing workload on the migrated table.

gh-ost uses the binary log stream to capture table changes, and asynchronously applies them onto the ghost table. gh-ost takes upon itself some tasks that other tools leave for the database to perform. As result, gh-ost has greater control over the migration process; can truly suspend it; can truly decouple the migration’s write load from the master’s workload.

Key Features

  • Build your trust in gh-ost by testing it on replicas. gh-ost will issue same flow as it would have on the master, to migrate a table on a replica, without actually replacing the original table, leaving the replica with two tables you can then compare and satisfy yourself that the tool operates correctly. This is how we continuously test gh-ost in production.
  • True pause: when gh-ost throttles, it truly ceases writes on master: no row copies and no ongoing events processing. By throttling, you return your master to its original workload.
  • Dynamic control: you can interactively reconfigure gh-ost, even as migration still runs. You may forcibly initiate throttling.
  • Auditing: you may query gh-ost for status. gh-ost listens on unix socket or TCP.
  • Control over cut-over phase: gh-ost can be instructed to postpone what is probably the most critical step: the swap of tables, until such time that you’re comfortably available. No need to worry about ETA being outside office hours.
  • External hooks can couple gh-ost with your particular environment.

Website: github.com/github/gh-ost
Support: Documentation
Developer: GitHub
License: MIT License

gh-ost is written in Go. Learn Go with our recommended free books and free tutorials.


Related Software

MySQL Tools
DBeaverUniversal database tool
phpMyAdminMySQL web administration tool
NocoDBBuild databases as spreadsheets
MySQL WorkbenchComplete visual database design tool
mycliCommand line interface for MySQL, MariaDB, and Percona
gh-ostGitHub's Online Schema Migrations for MySQL
Beekeeper Studio Cross-platform SQL editor and database manager
usqlCommand-line database client
sqlitlazygit of SQL databases
HarlequinEasy, fast, and beautiful database client for the terminal
DbGateDatabase manager for MySQL, PostgreSQL, MongoDB
Percona ToolkitEssential command-line utilities for MySQL
SQuirreL SQL ClientGraphical SQL client written in Java
AdminerFull-featured tool for managing content in MySQL database
dblabInteractive client for PostgreSQL, MySQL, SQLite3, and more
AntaresSQL client based on Electron.js and Vue.js
XtraBackupBackup utility for MySQL
innotopReal-time, advanced investigation tool
SQLCheckDetects common SQL anti-patterns
SkeemaManage MySQL and MariaDB schema changes
SequelerNative Linux SQL client built in Vala and Gtk
orchestratorHigh availability and replication management tool
OmniDBCollaborative environment For database management

Read our verdict in the software roundup.


Best Free and Open Source Software Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.

This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk.

You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more.

Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form.
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted