# Packages
Package backupstorage contains the interface and file system implementation of the backup system.
Package cephbackupstorage implements the BackupStorage interface for Ceph Cloud Storage.
Package filebackupstorage implements the BackupStorage interface for a local filesystem (which can be an NFS mount).
Package gcsbackupstorage implements the BackupStorage interface for Google Cloud Storage.
Package grpcmysqlctlclient contains the gRPC1 version of the mysqlctl client protocol.
Package grpcmysqlctlserver contains the gRPC implementation of the server
side of the remote execution of mysqlctl commands.
Package mysqlctlclient contains the generic client side of the remote mysqlctl protocol.
Package s3backupstorage implements the BackupStorage interface for AWS S3.
Package tmutils contains helper methods to deal with the tabletmanagerdata proto3 structures.
# Functions
Backup is the main entry point for a backup: - uses the BackupStorage service to store a new backup - shuts down Mysqld during the backup - remember if we were replicating, restore the exact same state.
ConcurrentMap applies fun in a concurrent manner on integers from 0 to n-1 (they are assumed to be indexes of some slice containing items to be processed).
CreateMysqld returns a Mysqld object to use for working with a MySQL installation that hasn't been set up yet.
CreateReparentJournal returns the commands to execute to create the _vt.reparent_journal table.
FindSlaves gets IP addresses for all currently connected slaves.
GetPermissions lists the permissions on the mysqld.
MycnfFile returns the default location of the my.cnf file.
NewFakeMysqlDaemon returns a FakeMysqlDaemon where mysqld appears to be running, based on a fakesqldb.DB.
NewMycnf fills the Mycnf structure with vt root paths and derived values.
NewMycnfFromFlags creates a Mycnf object from the command line flags.
NewMysqld creates a Mysqld object based on the provided configuration and connection parameters.
NewStatus creates a Status pointing to masterAddr.
OpenMysqld returns a Mysqld object to use for working with a MySQL installation that already exists.
PopulateReparentJournal returns the SQL command to use to populate the _vt.reparent_journal table, as well as the time_created_ns value used.
ProtoToStatus translates a proto Status, or panics.
ReadMycnf will read an existing my.cnf from disk, and create a Mycnf object.
RegisterFlags registers the command line flags for specifying the values of a mycnf config file.
ResolveTables returns a list of actual tables+views matching a list of regexps.
Restore is the main entry point for backup restore.
StartSlave starts a slave on the provided MysqldDaemon.
StatusToProto translates a Status to proto3.
StopSlave stops a slave on the provided MysqldDaemon.
TabletDir returns the default directory for a tablet.
TopLevelDirs returns the list of directories in the toplevel tablet directory that might be located in a different place.
WaitBlpPosition will wait for the filtered replication to reach at least the provided position.
WaitForSlaveStart waits until the deadline for replication to start.
# Constants
SQLStartSlave is the SQl command issued to start MySQL replication.
SQLStopSlave is the SQl command issued to stop MySQL replication.
# Variables
ErrBinlogUnavailable is returned by this library when we cannot find a suitable binlog to satisfy the request.
ErrExistingDB is returned when there's already an active DB.
ErrNoBackup is returned when there is no backup.
ErrNotMaster means there is no master status.
ErrNotSlave means there is no slave status.
# Structs
BackupManifest represents the backup.
FakeMysqlDaemon implements MysqlDaemon and allows the user to fake everything.
FileEntry is one file to backup.
Mycnf is a memory structure that contains a bunch of interesting parameters to start mysqld.
Mysqld is the object that represents a mysqld daemon running on this server.
SlaveConnection represents a connection to mysqld that pretends to be a slave connecting for replication.
Status holds replication information from SHOW SLAVE STATUS.
# Interfaces
MysqlDaemon is the interface we use for abstracting Mysqld.
MysqlFlavor is the abstract interface for a flavor.
# Type aliases
No description provided by the author