通常のSQLを使い、コンパイル時にクエリを検証できる非同期の純Rust製SQLツールキット。PostgreSQL、MySQL/MariaDB、SQLiteに対応。
go-mysql-org/go-mysql
MySQLとMariaDBのネットワークプロトコルを扱う純粋なGoライブラリ。binlogレプリケーション、クライアント、フェイクサーバー、database/sqlドライバーを備えています。
- スター
- 4,974
- フォーク
- 1,097
- 未解決の Issue
- 166
- 最終コミット
- 昨日
これは何?
go-mysqlは、MySQLとMariaDBのネットワークプロトコルを実装した純粋なGoライブラリです。GoプログラムからMySQLサーバーに接続したり、レプリカとしてbinlogストリームを読み取ったり、MySQL互換のサーバーエンドポイントを独自に構築したりできます。
replicationパッケージは、ファイル位置またはGTIDを使ってbinlogストリームのイベントを処理するため、データベースに合わせてキャッシュや検索インデックスを同期する用途に適しています。canalパッケージはこれを基盤として、既存データをダンプした後に行の差分を適用します。また、Goで書かれたmysqldump風のツールなど、コマンドのサンプルも含まれています。
レプリケーション以外にも、コネクションプールとSELECT結果のストリーミングに対応したシンプルなクライアント、MySQLプロキシを構築するためのserverパッケージ、TLSや圧縮などのDSNオプションを設定できるdatabase/sqlドライバーを提供します。
主な機能
- 01MySQLとMariaDBのbinlogイベントストリームを、ファイル位置またはGTIDを使って読み取ります。
- 02既存データをダンプしてから行の変更を適用する、差分データ同期フレームワーク(canal)。
- 03コネクションプールとSELECT結果のストリーミングに対応したシンプルなMySQLクライアント。
- 04MySQL互換のエンドポイントやプロキシを構築するためのserverパッケージ。
- 05TLS、zlib/zstd圧縮、タイムアウトのオプションを備えたdatabase/sqlドライバー。
ユースケース
- binlogの変更を取り込み、MySQLのデータをRedisやElasticsearchに同期する。
- Goでテスト用のMySQLプロキシやフェイクMySQLサーバーを構築する。
- mysqldumpに似たGo製のバックアップツールやエクスポートツールを作成する。
- 標準のdatabase/sqlインターフェースを通じて、GoのコードからMySQLを利用する。
クイックスタート
- 1
Goプロジェクトにライブラリパッケージをインポートします
- 2
プロジェクトのルートから同梱のサンプルアプリケーションをビルドします
make build
収録されている特集
トピック
よくある質問
- go-mysql とは?
- MySQLとMariaDBのネットワークプロトコルを扱う純粋なGoライブラリ。binlogレプリケーション、クライアント、フェイクサーバー、database/sqlドライバーを備えています。 go-mysqlは、MySQLとMariaDBのネットワークプロトコルを実装した純粋なGoライブラリです。GoプログラムからMySQLサーバーに接続したり、レプリカとしてbinlogストリームを読み取ったり、MySQL互換のサーバーエンドポイントを独自に構築したりできます。
- go-mysql は無料で使えますか?ライセンスは?
- go-mysql は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- go-mysql は今もメンテナンスされていますか?
- 活発にメンテナンス中。go-mysql の最終コミットは 2026年11月6日 です。
- go-mysql は何に使えますか?
- binlogの変更を取り込み、MySQLのデータをRedisやElasticsearchに同期する。 Goでテスト用のMySQLプロキシやフェイクMySQLサーバーを構築する。 mysqldumpに似たGo製のバックアップツールやエクスポートツールを作成する。 標準のdatabase/sqlインターフェースを通じて、GoのコードからMySQLを利用する。
- go-mysql のインストール方法は?
- Goプロジェクトにライブラリパッケージをインポートします プロジェクトのルートから同梱のサンプルアプリケーションをビルドします: make build
- go-mysql はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/go-mysql-org/go-mysql
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Alibaba CloudによるMySQL 8.0.44のブランチ。DuckDB分析用ストレージエンジン、HNSWベクトルインデックス、ネイティブなフラッシュバッククエリを追加。
Client/Serverプロトコルを実装した純粋なPython製MySQLドライバー。DB API v2.0準拠のClassic APIと、Document Store向けのX DevAPIを提供します。
MySQLからフォークされた、広く導入されているオープンソースのリレーショナルSQLデータベース。MySQL互換性に加え、ネイティブのベクトル検索とクラスタリングに対応します。
データベースのレプリケーションストリームを使ってクエリ結果を同期し、MySQLやPostgresの前段に配置する透過的なキャッシュ。
任意のノードで書き込みを受け付け、MySQL wire protocolで通信する、リーダーレスな分散SQLiteレプリケーションサーバー。