Repolode
go-mysql-org

go-mysql-org/go-mysql

Biblioteca pura de Go para comunicarse con el protocolo de red de MySQL y MariaDB, con replicación del binlog, un cliente, un servidor simulado y un driver de database/sql.

Estrellas
4,974
Forks
1,097
Issues abiertos
166
Último commit
anteayer

¿Qué es?

go-mysql es una biblioteca pura de Go que implementa el protocolo de red de MySQL y MariaDB. Permite que los programas en Go se conecten a un servidor MySQL, actúen como réplica para leer el flujo del binlog o creen sus propios endpoints compatibles con MySQL.

El paquete replication procesa eventos de un flujo del binlog usando la posición del archivo o GTID, lo que resulta útil para mantener sincronizados con una base de datos las cachés o los índices de búsqueda. El paquete canal se basa en esto para volcar los datos existentes y luego aplicar los cambios incrementales en las filas. El proyecto también incluye comandos de ejemplo, como una herramienta similar a mysqldump escrita en Go.

Además de la replicación, el repositorio ofrece un cliente sencillo con un pool de conexiones y resultados de SELECT en streaming, un paquete server para crear proxies de MySQL y un driver de database/sql con opciones DSN configurables, como TLS y compresión.

Funciones clave

  • 01Lee flujos de eventos del binlog por posición del archivo o GTID para MySQL y MariaDB.
  • 02Framework de sincronización incremental de datos (canal) que vuelca los datos existentes y luego aplica cambios en las filas.
  • 03Cliente sencillo de MySQL con pool de conexiones y resultados de SELECT en streaming.
  • 04Paquete server para crear un endpoint o proxy compatible con MySQL.
  • 05Driver de database/sql con opciones de TLS, compresión zlib/zstd y tiempos de espera.

Casos de uso

  • Sincronizar datos de MySQL con Redis o Elasticsearch consumiendo los cambios del binlog.
  • Crear un proxy MySQL o un servidor MySQL simulado para pruebas en Go.
  • Escribir herramientas de copia de seguridad o exportación en Go similares a mysqldump.
  • Usar MySQL desde código Go mediante la interfaz estándar database/sql.

Inicio rápido

  1. 1

    Importa los paquetes de la biblioteca en tu proyecto de Go

  2. 2

    Compila las aplicaciones de ejemplo incluidas desde la raíz del proyecto

    make build

En colecciones

Temas

Preguntas frecuentes

¿Qué es go-mysql?
Biblioteca pura de Go para comunicarse con el protocolo de red de MySQL y MariaDB, con replicación del binlog, un cliente, un servidor simulado y un driver de database/sql. go-mysql es una biblioteca pura de Go que implementa el protocolo de red de MySQL y MariaDB. Permite que los programas en Go se conecten a un servidor MySQL, actúen como réplica para leer el flujo del binlog o creen sus propios endpoints compatibles con MySQL.
¿go-mysql es gratuito? ¿Qué licencia tiene?
go-mysql es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿go-mysql sigue mantenido?
Mantenimiento activo. El último commit de go-mysql fue el 6 nov 2026.
¿Para qué puedo usar go-mysql?
Sincronizar datos de MySQL con Redis o Elasticsearch consumiendo los cambios del binlog. Crear un proxy MySQL o un servidor MySQL simulado para pruebas en Go. Escribir herramientas de copia de seguridad o exportación en Go similares a mysqldump. Usar MySQL desde código Go mediante la interfaz estándar database/sql.
¿Cómo se instala go-mysql?
Importa los paquetes de la biblioteca en tu proyecto de Go Compila las aplicaciones de ejemplo incluidas desde la raíz del proyecto: make build
¿Dónde consigo go-mysql?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/go-mysql-org/go-mysql

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados