Repolode
go-mysql-org

go-mysql-org/go-mysql

Biblioteca pura em Go para comunicação pelo protocolo de rede do MySQL e MariaDB, com replicação de binlog, cliente, servidor falso e driver database/sql.

Estrelas
4,974
Forks
1,097
Issues abertas
166
Último commit
anteontem

O que é?

go-mysql é uma biblioteca pura em Go que implementa o protocolo de rede do MySQL e MariaDB. Ela permite que programas em Go se conectem a um servidor MySQL, atuem como réplica para ler o fluxo do binlog ou criem seus próprios endpoints compatíveis com MySQL.

O pacote de replicação processa eventos de um fluxo de binlog usando a posição no arquivo ou GTID, o que é útil para manter caches ou índices de busca sincronizados com um banco de dados. O pacote canal se baseia nisso para exportar os dados existentes e, em seguida, aplicar alterações incrementais nas linhas. O projeto também inclui comandos de exemplo, como uma ferramenta escrita em Go semelhante ao mysqldump.

Além da replicação, o repositório oferece um cliente simples com pool de conexões e resultados de SELECT em streaming, um pacote de servidor para criar proxies MySQL e um driver database/sql com opções de DSN configuráveis, como TLS e compressão.

Recursos principais

  • 01Lê fluxos de eventos do binlog por posição no arquivo ou GTID para MySQL e MariaDB.
  • 02Framework de sincronização incremental de dados (canal) que exporta os dados existentes e depois aplica alterações nas linhas.
  • 03Cliente MySQL simples com pool de conexões e resultados de SELECT em streaming.
  • 04Pacote de servidor para criar um endpoint ou proxy compatível com MySQL.
  • 05Driver database/sql com opções de TLS, compressão zlib/zstd e timeout.

Casos de uso

  • Sincronizar dados do MySQL com Redis ou Elasticsearch consumindo alterações do binlog.
  • Criar um proxy MySQL ou um servidor MySQL falso para testes em Go.
  • Escrever ferramentas de backup ou exportação em Go semelhantes ao mysqldump.
  • Usar MySQL em código Go pela interface padrão database/sql.

Início rápido

  1. 1

    Importe os pacotes da biblioteca no seu projeto Go

  2. 2

    Compile os aplicativos de exemplo incluídos a partir da raiz do projeto

    make build

Em coleções

Tópicos

Perguntas frequentes

O que é go-mysql?
Biblioteca pura em Go para comunicação pelo protocolo de rede do MySQL e MariaDB, com replicação de binlog, cliente, servidor falso e driver database/sql. go-mysql é uma biblioteca pura em Go que implementa o protocolo de rede do MySQL e MariaDB. Ela permite que programas em Go se conectem a um servidor MySQL, atuem como réplica para ler o fluxo do binlog ou criem seus próprios endpoints compatíveis com MySQL.
go-mysql é gratuito? Qual é a licença?
go-mysql é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
go-mysql ainda é mantido?
Manutenção ativa. O último commit de go-mysql foi em 6 de nov. de 2026.
Para que posso usar go-mysql?
Sincronizar dados do MySQL com Redis ou Elasticsearch consumindo alterações do binlog. Criar um proxy MySQL ou um servidor MySQL falso para testes em Go. Escrever ferramentas de backup ou exportação em Go semelhantes ao mysqldump. Usar MySQL em código Go pela interface padrão database/sql.
Como instalar go-mysql?
Importe os pacotes da biblioteca no seu projeto Go Compile os aplicativos de exemplo incluídos a partir da raiz do projeto: make build
Onde consigo go-mysql?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/go-mysql-org/go-mysql

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados