Skip to content

Commit 615af30

Browse files
dveedenlance6716
andauthored
Update README (#950)
* Update README * Update example about GTID * Add description to examples * Add 'go mod edit' line * Remove donate and feedback sessions, add credits --------- Signed-off-by: lance6716 <[email protected]> Co-authored-by: lance6716 <[email protected]>
1 parent 506416d commit 615af30

File tree

1 file changed

+36
-29
lines changed

1 file changed

+36
-29
lines changed

README.md

+36-29
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,34 @@
11
# go-mysql
22

3-
A pure go library to handle MySQL network protocol and replication.
3+
A pure go library to handle MySQL network protocol and replication as used by MySQL and MariaDB.
44

55
![semver](https://img.shields.io/github/v/tag/go-mysql-org/go-mysql)
66
![example workflow](https://github.com/go-mysql-org/go-mysql/actions/workflows/ci.yml/badge.svg)
77
![gomod version](https://img.shields.io/github/go-mod/go-version/go-mysql-org/go-mysql/master)
8-
9-
## How to migrate to this repo
10-
To change the used package in your repo it's enough to add this `replace` directive to your `go.mod`:
11-
```
12-
replace github.com/siddontang/go-mysql => github.com/go-mysql-org/go-mysql v1.10.0
13-
```
14-
15-
v1.10.0 - is the last tag in repo, feel free to choose what you want.
8+
[![Go Reference](https://pkg.go.dev/badge/github.com/go-mysql-org/go-mysql.svg)](https://pkg.go.dev/github.com/go-mysql-org/go-mysql)
169

1710
## Changelog
1811
This repo uses [Changelog](CHANGELOG.md).
1912

2013
---
2114
# Content
22-
* [Replication](#replication)
23-
* [Incremental dumping](#canal)
24-
* [Client](#client)
25-
* [Fake server](#server)
26-
* [database/sql like driver](#driver)
27-
* [Logging](#logging)
15+
* [Replication](#replication) - Process events from a binlog stream.
16+
* [Incremental dumping](#canal) - Sync from MySQL to Redis, Elasticsearch, etc.
17+
* [Client](#client) - Simple MySQL client.
18+
* [Fake server](#server) - server side of the MySQL protocol, as library.
19+
* [database/sql like driver](#driver) - An alternative `database/sql` driver for MySQL.
20+
* [Logging](#logging) - Custom logging options.
21+
* [Migration](#how-to-migrate-to-this-repo) - Information for how to migrate if you used the old location of this project.
22+
23+
## Examples
24+
25+
The `cmd` directory contains example applications that can be build by running `make build` in the root of the project. The resulting binaries will be places in `bin/`.
26+
27+
- `go-binlogparser`: parses a binlog file at a given offset
28+
- `go-canal`: streams binlog events from a server to canal
29+
- `go-mysqlbinlog`: streams binlog events
30+
- `go-mysqldump`: like `mysqldump`, but in Go
31+
- `go-mysqlserver`: fake MySQL server
2832

2933
## Replication
3034

@@ -55,9 +59,10 @@ syncer := replication.NewBinlogSyncer(cfg)
5559
streamer, _ := syncer.StartSync(mysql.Position{binlogFile, binlogPos})
5660

5761
// or you can start a gtid replication like
62+
// gtidSet, _ := mysql.ParseGTIDSet(mysql.MySQLFlavor, "de278ad0-2106-11e4-9f8e-6edd0ca20947:1-2")
5863
// streamer, _ := syncer.StartSyncGTID(gtidSet)
59-
// the mysql GTID set likes this "de278ad0-2106-11e4-9f8e-6edd0ca20947:1-2"
60-
// the mariadb GTID set likes this "0-1-100"
64+
// the mysql GTID set is like this "de278ad0-2106-11e4-9f8e-6edd0ca20947:1-2" and uses mysql.MySQLFlavor
65+
// the mariadb GTID set is like this "0-1-100" and uses mysql.MariaDBFlavor
6166

6267
for {
6368
ev, _ := streamer.GetEvent(context.Background())
@@ -111,7 +116,7 @@ Query: DROP TABLE IF EXISTS `test_replication` /* generated by server */
111116

112117
## Canal
113118

114-
Canal is a package that can sync your MySQL into everywhere, like Redis, Elasticsearch.
119+
Canal is a package that can sync your MySQL into everywhere, like Redis, Elasticsearch.
115120

116121
First, canal will dump your MySQL data then sync changed data using binlog incrementally.
117122

@@ -161,7 +166,7 @@ func main() {
161166
}
162167
```
163168

164-
You can see [go-mysql-elasticsearch](https://github.com/siddontang/go-mysql-elasticsearch) for how to sync MySQL data into Elasticsearch.
169+
You can see [go-mysql-elasticsearch](https://github.com/go-mysql-org/go-mysql-elasticsearch) for how to sync MySQL data into Elasticsearch.
165170

166171
## Client
167172

@@ -516,17 +521,19 @@ import "github.com/siddontang/go-log/log"
516521

517522
Or you can implement your own [`log.Handler`](https://pkg.go.dev/github.com/siddontang/go-log/log#Handler).
518523

519-
## Donate
520-
521-
If you like the project and want to buy me a cola, you can through:
522-
523-
|PayPal|微信|
524-
|------|---|
525-
|[![](https://www.paypalobjects.com/webstatic/paypalme/images/pp_logo_small.png)](https://paypal.me/siddontang)|[![](https://github.com/siddontang/blog/blob/master/donate/weixin.png)|
524+
## How to migrate to this repo
525+
To change the used package in your repo it's enough to add this `replace` directive to your `go.mod`:
526+
```
527+
replace github.com/siddontang/go-mysql => github.com/go-mysql-org/go-mysql v1.10.0
528+
```
526529

527-
## Feedback
530+
This can be done by running this command:
531+
```
532+
go mod edit -replace=github.com/siddontang/go-mysql=github.com/go-mysql-org/[email protected]
533+
```
528534

529-
go-mysql is still in development, your feedback is very welcome.
535+
v1.10.0 - is the last tag in repo, feel free to choose what you want.
530536

537+
## Credits
531538

532-
Gmail: siddontang@gmail.com
539+
go-mysql was started by @siddontang and has many [contributors](https://github.com/go-mysql-org/go-mysql/graphs/contributors)

0 commit comments

Comments
 (0)