# Install gh-ost with Homebrew, Nix

Triggerless online schema migration solution for MySQL. Version 1.1.10 via Homebrew; verified 2026-06-05.

## 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
- **Package manager page:** <https://formulae.brew.sh/formula/gh-ost>
- **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>
- **Upstream docs:** <https://github.com/github/gh-ost#readme>
- **License:** MIT
- **Source archive:** <https://github.com/github/gh-ost/archive/refs/tags/v1.1.10.tar.gz>
- **Last updated:** 2026-06-05T00:04:16Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- gh-ost (cli)
- gh-ost (alias)

## Build dependencies

- go

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.1.10
- Package-manager updated: 2026-06-05
- Local data: ok
- Upstream repository: https://github.com/github/gh-ost
- Upstream latest detected: v1.1.10 (current)
## 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

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** gh-ost
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## 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


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [go](https://www.automicvault.com/pkg/brew/go/) - Build dependency declared by Homebrew.
- [apache-geode](https://www.automicvault.com/pkg/brew/apache-geode/) - Shares av.db curated category or tags: cli, data, database, databases.
- [cassandra](https://www.automicvault.com/pkg/brew/cassandra/) - Shares av.db curated category or tags: cli, data, database, databases.
- [cdb](https://www.automicvault.com/pkg/brew/cdb/) - Shares av.db curated category or tags: cli, data, database, databases.
- [check_postgres](https://www.automicvault.com/pkg/brew/check-postgres/) - Shares av.db curated category or tags: cli, data, database, databases.
- [cql](https://www.automicvault.com/pkg/brew/cql/) - Shares av.db curated category or tags: cli, data, database, databases.
- [dolphie](https://www.automicvault.com/pkg/brew/dolphie/) - Shares av.db curated category or tags: cli, data, databases, mysql.
- [fourstore](https://www.automicvault.com/pkg/brew/fourstore/) - Shares av.db curated category or tags: cli, data, database, databases.
- [garnet](https://www.automicvault.com/pkg/brew/garnet/) - Shares av.db curated category or tags: cli, data, database, databases.
- [mdbtools](https://www.automicvault.com/pkg/brew/mdbtools/) - Local metadata places this package in an adjacent workflow. Shared terms: cli, data, database, databases, schema.
- [reshape](https://www.automicvault.com/pkg/brew/reshape/) - Local metadata places this package in an adjacent workflow. Shared terms: cli, data, database, migration, schema.

## Combined YAML source

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


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
