bkop

package
v0.25.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 3, 2024 License: Apache-2.0 Imports: 14 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetGTIDExecuted

func GetGTIDExecuted(dir string) (string, error)

GetGTIDExecuted gets executed GTID set from the dump directory.

func SortBinlogs

func SortBinlogs(binlogs []string)

SortBinlogs sort binlog filenames according to its number. `binlogs` should contains filenames such as `binlog.000001`.

Types

type Operator

type Operator interface {
	// Ping checks the connectivity to the database server.
	Ping() error

	// Close ust be called when the operator is no longer in use.
	Close()

	// GetServerStatus fills ServerStatus struct.
	GetServerStatus(context.Context, *ServerStatus) error

	// DumpFull takes a full dump of the database instance.
	// `dir` should exist before calling this.
	DumpFull(ctx context.Context, dir string) error

	// GetBinlogs returns a list of binary log files on the mysql instance.
	GetBinlogs(context.Context) ([]string, error)

	// DumpBinLog dumps binary log files starting from `binlogName`.
	// Transactions in `filterGTID` will be excluded.
	// `dir` should exist before calling this.
	DumpBinlog(ctx context.Context, dir, binlogName, filterGTID string) error

	// PrepareRestore prepares the database instance for loading data.
	PrepareRestore(context.Context) error

	// LoadDump loads data dumped by `DumpFull`.
	LoadDump(ctx context.Context, dir string, schema string) error

	// LoadBinLog applies binary logs up to `restorePoint`.
	LoadBinlog(ctx context.Context, binlogDir, tmpDir string, restorePoint time.Time, schema string) error

	// FinishRestore sets global variables of the database instance after restoration.
	FinishRestore(context.Context) error
}

Operator is the interface to define backup and restore operations.

func NewOperator

func NewOperator(host string, port int, user, password string, threads int) (Operator, error)

NewOperator creates an Operator.

type ServerStatus

type ServerStatus struct {
	SuperReadOnly bool   `db:"@@super_read_only"`
	UUID          string `db:"@@server_uuid"`
	CurrentBinlog string
}

ServerStatus defines a struct to retrieve the backup source server status. These information will be used in the next backup to retrieve binary logs since the last backup.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL