# Install gh-ost with Homebrew, Nix

Triggerless online schema migration solution for MySQL. Version 1.1.10 via Homebrew; verified 2026-07-29. Also installable with nix: nix profile install nixpkgs#gh-ost.

## Install

```sh
sudo av install brew:gh-ost
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install gh-ost
```

  Evidence: local Homebrew formula metadata

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#gh-ost
```

  Evidence: nixpkgs package indexes: pkgs/by-name/gh/gh-ost/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:gh-ost
- **Package manager:** Homebrew
- **Version:** 1.1.10
- **Source summary:** Triggerless online schema migration solution for MySQL
- **Homepage:** <https://github.com/github/gh-ost>
- **Repository:** <https://github.com/github/gh-ost>
- **Last updated:** 2026-07-29T16:05:00+02:00
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- gh-ost (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 1.1.10
## Project history and usage

gh-ost is GitHub's triggerless online schema-migration tool for MySQL, designed to move table changes through binlog streaming rather than database triggers.

### Project history

GitHub created the gh-ost repository in March 2016 and published pre-production releases beginning with v0.7 in May 2016. The README explains that the name began as `gh-osc`, for GitHub Online Schema Change, before becoming `gh-ost`, and credits GitHub's database infrastructure team as designers, authors, reviewers, and testers.

The project came out of GitHub's operational experience with MySQL schema changes at production scale. Its design follows the ghost-table migration pattern used by earlier online schema-change tools, but replaces trigger-based change capture with MySQL binary-log streaming so the tool can pause, throttle, audit, and control cut-over more explicitly.

### Adoption history

gh-ost became significant beyond GitHub because it offered a production-tested alternative to pt-online-schema-change and Facebook's online schema-change lineage. Its documentation includes cloud and managed-database notes, test-on-replica guidance, interactive commands, hooks, and operational limits, making it attractive to teams that needed safer MySQL DDL changes.

### How it is used

Practitioners run gh-ost in noop, replica test, replica-assisted master migration, direct master migration, or replica-only modes. Common practice is to test on replicas, run a noop check, execute the migration, watch throttling and lag controls, and postpone cut-over until an operator chooses the swap window.

### Why package nerds care

For package-manager users, gh-ost matters because it turns a sophisticated database migration workflow into a single Go binary available through releases and packages. That makes online schema migration scriptable in deployment pipelines while keeping the operational controls visible at the command line.

### Timeline

- 2016: The GitHub repository was created.
- 2016: v0.7 was published as a pre-production release.
- 2016: GitHub published an engineering article describing gh-ost as its online migration tool for MySQL.
- 2026: The release feed showed the v1.1 series.

### Related projects

- The README explicitly relates gh-ost to Facebook online schema change and Percona's pt-online-schema-change, while highlighting its triggerless binlog-based design.

### Sources

- <https://api.github.com/repos/github/gh-ost>
- <https://api.github.com/repos/github/gh-ost/releases>
- <https://formulae.brew.sh/formula/gh-ost>
- <https://github.blog/engineering/infrastructure/gh-ost-github-s-online-migration-tool-for-mysql/>
- <https://github.com/github/gh-ost>
- <https://github.com/github/gh-ost/tree/master/doc>
- <https://raw.githubusercontent.com/github/gh-ost/master/README.md>


## Security Notes

broad file, network, media, or database tool signal.

- **Geiger risk:** blue / medium
- broad file, network, media, or database tool signal

## Other Package-Manager Records

- Nix - gh-ost: normalized package name match | nixpkgs package indexes: pkgs/by-name/gh/gh-ost/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1


## Combined YAML source

View the package source record on GitHub. [combined/gh-ost.yml](https://github.com/mxcl/pkgdb/blob/main/combined/gh-ost.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
