Documentation ¶
Index ¶
- Constants
- func ChangeMasterToError(db *sql.DB, gtid *model.Repl) error
- func ChangeToMasterError(db *sql.DB) error
- func DefaultChangeMasterTo(db *sql.DB, gtid *model.Repl) error
- func DefaultChangeToMaster(db *sql.DB) error
- func DefaultChangeUserPasswd(db *sql.DB, user string, passwd string) error
- func DefaultCheckUserExists(db *sql.DB, user string) (bool, error)
- func DefaultCreateReplUserWithoutBinlog(db *sql.DB, user string, passwd string) error
- func DefaultCreateUser(db *sql.DB, user string, passwd string) error
- func DefaultCreateUserWithPrivileges(db *sql.DB, user, passwd, database, table, host, privs string, ssl string) error
- func DefaultDisableSemiSyncMaster(db *sql.DB) error
- func DefaultDropUser(db *sql.DB, user string, host string) error
- func DefaultEnableSemiSyncMaster(db *sql.DB) error
- func DefaultGetMasterGTID(db *sql.DB) (*model.GTID, error)
- func DefaultGetSlaveGTID(db *sql.DB) (*model.GTID, error)
- func DefaultGetUser(db *sql.DB) ([]model.MysqlUser, error)
- func DefaultGrantAllPrivileges(db *sql.DB, user string) error
- func DefaultGrantNormalPrivileges(db *sql.DB, user string) error
- func DefaultGrantReplicationPrivileges(db *sql.DB, user string) error
- func DefaultPurgeBinlogsTo(db *sql.DB, binlog string) error
- func DefaultResetMaster(db *sql.DB) error
- func DefaultResetSlaveAll(db *sql.DB) error
- func DefaultSelectSysVar(db *sql.DB, query string) (string, error)
- func DefaultSetGlobalSysVar(db *sql.DB, varsql string) error
- func DefaultSetReadOnly(db *sql.DB, readonly bool) error
- func DefaultSetSemiWaitSlaveCount(db *sql.DB, count int) error
- func DefaultStartSlave(db *sql.DB) error
- func DefaultStartSlaveIOThread(db *sql.DB) error
- func DefaultStopSlave(db *sql.DB) error
- func DefaultStopSlaveIOThread(db *sql.DB) error
- func DefaultWaitUntilAfterGTID(db *sql.DB, targetGTID string) error
- func Execute(db *sql.DB, query string, args ...interface{}) error
- func ExecuteSuperQueryList(db *sql.DB, queryList []string) error
- func ExecuteSuperQueryListWithTimeout(db *sql.DB, maxTime int, queryList []string) error
- func ExecuteWithTimeout(db *sql.DB, maxTime int, query string, args ...interface{}) error
- func GetMasterGTIDA(db *sql.DB) (*model.GTID, error)
- func GetMasterGTIDB(db *sql.DB) (*model.GTID, error)
- func GetMasterGTIDC(db *sql.DB) (*model.GTID, error)
- func GetMasterGTIDD(db *sql.DB) (*model.GTID, error)
- func GetMasterGTIDError(db *sql.DB) (*model.GTID, error)
- func GetMasterGTIDPingError(db *sql.DB) (*model.GTID, error)
- func GetSlaveGTIDA(db *sql.DB) (*model.GTID, error)
- func GetSlaveGTIDB(db *sql.DB) (*model.GTID, error)
- func GetSlaveGTIDC(db *sql.DB) (*model.GTID, error)
- func GetSlaveGTIDError(db *sql.DB) (*model.GTID, error)
- func GetSlaveGTIDX1(db *sql.DB) (*model.GTID, error)
- func GetSlaveGTIDX3(db *sql.DB) (*model.GTID, error)
- func GetSlaveGTIDX5(db *sql.DB) (*model.GTID, error)
- func MockGetClient(t *testing.T, svrConn string) (*xrpc.Client, func())
- func Query(db *sql.DB, query string, args ...interface{}) ([]map[string]string, error)
- func QueryWithTimeout(db *sql.DB, maxTime int, query string, args ...interface{}) ([]map[string]string, error)
- func SetReadOnlyError(db *sql.DB, readonly bool) error
- func SetSemiSyncMasterDefault(db *sql.DB) error
- func StartSlaveError(db *sql.DB) error
- func StartSlaveIOThreadError(db *sql.DB) error
- func StopSlaveError(db *sql.DB) error
- func StopSlaveIOThreadError(db *sql.DB) error
- func WaitUntilAfterGTIDError(db *sql.DB, targetGTID string) error
- type MockGTID
- func NewMockGTIDA() *MockGTID
- func NewMockGTIDB() *MockGTID
- func NewMockGTIDC() *MockGTID
- func NewMockGTIDD() *MockGTID
- func NewMockGTIDError() *MockGTID
- func NewMockGTIDPingError() *MockGTID
- func NewMockGTIDX1() *MockGTID
- func NewMockGTIDX3() *MockGTID
- func NewMockGTIDX5() *MockGTID
- func NewMockGTIDX5ChangeToMasterError() *MockGTID
- func NewMockGTIDX5WaitUntilAfterGTIDError() *MockGTID
- func (mogtid *MockGTID) ChangeMasterTo(db *sql.DB, gtid *model.Repl) error
- func (mogtid *MockGTID) ChangeToMaster(db *sql.DB) error
- func (mogtid *MockGTID) ChangeUserPasswd(db *sql.DB, user string, passwd string) error
- func (mogtid *MockGTID) CheckUserExists(db *sql.DB, query string) (bool, error)
- func (mogtid *MockGTID) CreateReplUserWithoutBinlog(db *sql.DB, user string, passwd string) error
- func (mogtid *MockGTID) CreateUser(db *sql.DB, user string, passwd string) error
- func (mogtid *MockGTID) CreateUserWithPrivileges(db *sql.DB, user, passwd, database, table, host, privs string, ssl string) error
- func (mogtid *MockGTID) DisableSemiSyncMaster(db *sql.DB) error
- func (mogtid *MockGTID) DropUser(db *sql.DB, user string, host string) error
- func (mogtid *MockGTID) EnableSemiSyncMaster(db *sql.DB) error
- func (mogtid *MockGTID) GetMasterGTID(db *sql.DB) (*model.GTID, error)
- func (mogtid *MockGTID) GetSlaveGTID(db *sql.DB) (*model.GTID, error)
- func (mogtid *MockGTID) GetUser(db *sql.DB) ([]model.MysqlUser, error)
- func (mogtid *MockGTID) GrantAllPrivileges(db *sql.DB, user string) error
- func (mogtid *MockGTID) GrantNormalPrivileges(db *sql.DB, user string) error
- func (mogtid *MockGTID) GrantReplicationPrivileges(db *sql.DB, user string) error
- func (mogtid *MockGTID) Ping(db *sql.DB) (*PingEntry, error)
- func (mogtid *MockGTID) PurgeBinlogsTo(db *sql.DB, binlog string) error
- func (mogtid *MockGTID) ResetMaster(db *sql.DB) error
- func (mogtid *MockGTID) ResetSlaveAll(db *sql.DB) error
- func (mogtid *MockGTID) SelectSysVar(db *sql.DB, query string) (string, error)
- func (mogtid *MockGTID) SetGlobalSysVar(db *sql.DB, varsql string) error
- func (mogtid *MockGTID) SetReadOnly(db *sql.DB, readonly bool) error
- func (mogtid *MockGTID) SetSemiSyncMasterDefault(db *sql.DB) error
- func (mogtid *MockGTID) SetSemiWaitSlaveCount(db *sql.DB, count int) error
- func (mogtid *MockGTID) StartSlave(db *sql.DB) error
- func (mogtid *MockGTID) StartSlaveIOThread(db *sql.DB) error
- func (mogtid *MockGTID) StopSlave(db *sql.DB) error
- func (mogtid *MockGTID) StopSlaveIOThread(db *sql.DB) error
- func (mogtid *MockGTID) WaitUntilAfterGTID(db *sql.DB, targetGTID string) error
- type Mysql
- func (m *Mysql) ChangeMasterTo(repl *model.Repl) error
- func (m *Mysql) ChangeToMaster() error
- func (m *Mysql) ChangeUserPasswd(user string, passwd string) error
- func (m *Mysql) CheckUserExists(user string) (bool, error)
- func (m *Mysql) CreateReplUserWithoutBinlog(user string, passwd string) error
- func (m *Mysql) CreateUser(user string, passwd string) error
- func (m *Mysql) CreateUserWithPrivileges(user, passwd, database, table, host, privs string, ssl string) error
- func (m *Mysql) DisableSemiSyncMaster() error
- func (m *Mysql) DropUser(user string, host string) error
- func (m *Mysql) EnableSemiSyncMaster() error
- func (m *Mysql) GTIDGreaterThan(gtid *model.GTID) (bool, model.GTID, error)
- func (m *Mysql) GetGTID() (model.GTID, error)
- func (m *Mysql) GetMasterGTID() (*model.GTID, error)
- func (m *Mysql) GetMysqlRPC() *MysqlRPC
- func (m *Mysql) GetOption() Option
- func (m *Mysql) GetRepl() model.Repl
- func (m *Mysql) GetSlaveGTID() (*model.GTID, error)
- func (m *Mysql) GetState() State
- func (m *Mysql) GetUser() ([]model.MysqlUser, error)
- func (m *Mysql) GrantAllPrivileges(user string) error
- func (m *Mysql) GrantNormalPrivileges(user string) error
- func (m *Mysql) GrantReplicationPrivileges(user string) error
- func (s *Mysql) IncMysqlDowns()
- func (m *Mysql) Ping()
- func (m *Mysql) PingStart()
- func (m *Mysql) PingStop()
- func (m *Mysql) Promotable() bool
- func (m *Mysql) PurgeBinlogsTo(binlog string) error
- func (m *Mysql) RelayMasterLogFile() string
- func (m *Mysql) ResetMaster() error
- func (m *Mysql) ResetSlaveAll() error
- func (m *Mysql) SetGlobalSysVar(varsql string) error
- func (m *Mysql) SetMasterGlobalSysVar() error
- func (m *Mysql) SetMysqlHandler(h MysqlHandler)
- func (m *Mysql) SetReadOnly() (err error)
- func (m *Mysql) SetReadWrite() (err error)
- func (m *Mysql) SetSemiSyncMasterDefault() error
- func (m *Mysql) SetSemiWaitSlaveCount(count int) error
- func (m *Mysql) SetSlaveGlobalSysVar() error
- func (m *Mysql) StartSlave() error
- func (m *Mysql) StartSlaveIOThread() error
- func (m *Mysql) StopSlave() error
- func (m *Mysql) StopSlaveIOThread() error
- func (m *Mysql) WaitMysqlWorks(timeout int) error
- func (m *Mysql) WaitUntilAfterGTID(targetGTID string) error
- type Mysql56
- type Mysql57
- type MysqlBase
- func (my *MysqlBase) Change56UserPasswd(db *sql.DB, user string, passwd string) error
- func (my *MysqlBase) ChangeMasterTo(db *sql.DB, master *model.Repl) error
- func (my *MysqlBase) ChangeToMaster(db *sql.DB) error
- func (my *MysqlBase) ChangeUserPasswd(db *sql.DB, user string, passwd string) error
- func (my *MysqlBase) CheckUserExists(db *sql.DB, user string) (bool, error)
- func (my *MysqlBase) CreateReplUserWithoutBinlog(db *sql.DB, user string, passwd string) error
- func (my *MysqlBase) CreateUser(db *sql.DB, user string, passwd string) error
- func (my *MysqlBase) CreateUserWithPrivileges(db *sql.DB, user, passwd, database, table, host, privs string, ssl string) error
- func (my *MysqlBase) DisableSemiSyncMaster(db *sql.DB) error
- func (my *MysqlBase) DropUser(db *sql.DB, user string, host string) error
- func (my *MysqlBase) EnableSemiSyncMaster(db *sql.DB) error
- func (my *MysqlBase) GetMasterGTID(db *sql.DB) (*model.GTID, error)
- func (my *MysqlBase) GetSlaveGTID(db *sql.DB) (*model.GTID, error)
- func (my *MysqlBase) GetUser(db *sql.DB) ([]model.MysqlUser, error)
- func (my *MysqlBase) GrantAllPrivileges(db *sql.DB, user string) error
- func (my *MysqlBase) GrantNormalPrivileges(db *sql.DB, user string) error
- func (my *MysqlBase) GrantReplicationPrivileges(db *sql.DB, user string) error
- func (my *MysqlBase) Ping(db *sql.DB) (*PingEntry, error)
- func (my *MysqlBase) PurgeBinlogsTo(db *sql.DB, binlog string) error
- func (my *MysqlBase) ResetMaster(db *sql.DB) error
- func (my *MysqlBase) ResetSlaveAll(db *sql.DB) error
- func (my *MysqlBase) SetGlobalSysVar(db *sql.DB, varsql string) error
- func (my *MysqlBase) SetReadOnly(db *sql.DB, readonly bool) error
- func (my *MysqlBase) SetSemiSyncMasterDefault(db *sql.DB) error
- func (my *MysqlBase) SetSemiWaitSlaveCount(db *sql.DB, count int) error
- func (my *MysqlBase) StartSlave(db *sql.DB) error
- func (my *MysqlBase) StartSlaveIOThread(db *sql.DB) error
- func (my *MysqlBase) StopSlave(db *sql.DB) error
- func (my *MysqlBase) StopSlaveIOThread(db *sql.DB) error
- func (my *MysqlBase) WaitUntilAfterGTID(db *sql.DB, targetGTID string) error
- type MysqlHandler
- type MysqlRPC
- func (m *MysqlRPC) ChangeToMaster(req *model.MysqlRPCRequest, rsp *model.MysqlRPCResponse) error
- func (m *MysqlRPC) IsWorking(req *model.MysqlRPCRequest, rsp *model.MysqlRPCResponse) error
- func (m *MysqlRPC) ResetMaster(req *model.MysqlRPCRequest, rsp *model.MysqlRPCResponse) error
- func (m *MysqlRPC) ResetSlaveAll(req *model.MysqlRPCRequest, rsp *model.MysqlRPCResponse) error
- func (m *MysqlRPC) SetGlobalSysVar(req *model.MysqlVarRPCRequest, rsp *model.MysqlVarRPCResponse) error
- func (m *MysqlRPC) StartSlave(req *model.MysqlRPCRequest, rsp *model.MysqlRPCResponse) error
- func (m *MysqlRPC) Status(req *model.MysqlStatusRPCRequest, rsp *model.MysqlStatusRPCResponse) error
- func (m *MysqlRPC) StopSlave(req *model.MysqlRPCRequest, rsp *model.MysqlRPCResponse) error
- type Option
- type PingEntry
- type State
Constants ¶
const ( // MysqlAlive enum. MysqlAlive State = "ALIVE" // MysqlDead enum. MysqlDead State = "DEAD" // MysqlReadonly enum. MysqlReadonly Option = "READONLY" // MysqlReadwrite enum. MysqlReadwrite Option = "READWRITE" )
Variables ¶
This section is empty.
Functions ¶
func ChangeMasterToError ¶
ChangeMasterToError mock.
func DefaultChangeMasterTo ¶
DefaultChangeMasterTo mock.
func DefaultChangeToMaster ¶
DefaultChangeToMaster mock.
func DefaultChangeUserPasswd ¶ added in v1.0.5
ChangeUserPasswd mock.
func DefaultCheckUserExists ¶ added in v1.0.5
CheckUserExists mock.
func DefaultCreateReplUserWithoutBinlog ¶ added in v1.0.5
CreateReplUserWithoutBinlog mock.
func DefaultCreateUser ¶ added in v1.0.5
CreateUser mock.
func DefaultCreateUserWithPrivileges ¶ added in v1.0.5
func DefaultCreateUserWithPrivileges(db *sql.DB, user, passwd, database, table, host, privs string, ssl string) error
CreateUserWithPrivileges mock.
func DefaultDisableSemiSyncMaster ¶
DefaultDisableSemiSyncMaster mock.
func DefaultDropUser ¶ added in v1.0.5
DropUser mock.
func DefaultEnableSemiSyncMaster ¶
DefaultEnableSemiSyncMaster mock.
func DefaultGetMasterGTID ¶
DefaultGetMasterGTID mock.
func DefaultGetSlaveGTID ¶
DefaultGetSlaveGTID returns the default slave gtid.
func DefaultGetUser ¶ added in v1.0.5
GetUser mock.
func DefaultGrantAllPrivileges ¶ added in v1.0.5
GrantAllPrivileges mock.
func DefaultGrantNormalPrivileges ¶ added in v1.0.5
GrantNormalPrivileges mock.
func DefaultGrantReplicationPrivileges ¶ added in v1.0.5
GrantReplicationPrivileges mock.
func DefaultPurgeBinlogsTo ¶
DefaultPurgeBinlogsTo mock.
func DefaultSelectSysVar ¶
DefaultSelectSysVar mock.
func DefaultSetGlobalSysVar ¶
DefaultSetGlobalSysVar mock.
func DefaultSetReadOnly ¶
DefaultSetReadOnly mock.
func DefaultSetSemiWaitSlaveCount ¶
DefaultSetSemiWaitSlaveCount mock.
func DefaultStartSlaveIOThread ¶
DefaultStartSlaveIOThread mock.
func DefaultStopSlaveIOThread ¶
DefaultStopSlaveIOThread mock.
func DefaultWaitUntilAfterGTID ¶
DefaultWaitUntilAfterGTID mock.
func ExecuteSuperQueryList ¶
ExecuteSuperQueryList alows the user to execute queries as a super user.
func ExecuteSuperQueryListWithTimeout ¶
ExecuteSuperQueryListWithTimeout alows the user to execute queries as a super user.
func ExecuteWithTimeout ¶
ExecuteWithTimeout executes a query without returning any rows.
func GetMasterGTIDError ¶
GetMasterGTIDError mock.
func GetMasterGTIDPingError ¶
GetMasterGTIDPingError mock.
func GetSlaveGTIDA ¶
GetSlaveGTIDA mock. with GTID{Master_Log_File = "", Read_Master_Log_Pos = 0} all functions return is OK
func GetSlaveGTIDError ¶
GetSlaveGTIDError mock.
func MockGetClient ¶
MockGetClient mock.
func QueryWithTimeout ¶
func QueryWithTimeout(db *sql.DB, maxTime int, query string, args ...interface{}) ([]map[string]string, error)
QueryWithTimeout used to execute the query with maxTime.
func SetReadOnlyError ¶
SetReadOnlyError mock.
func SetSemiSyncMasterDefault ¶ added in v1.0.4
SetSemiSyncMasterDefault mock
func StartSlaveIOThreadError ¶
StartSlaveIOThreadError mock.
func StopSlaveIOThreadError ¶
StopSlaveIOThreadError mock.
Types ¶
type MockGTID ¶
type MockGTID struct { PingFn func(*sql.DB) (*PingEntry, error) SetReadOnlyFn func(*sql.DB, bool) error GetMasterGTIDFn func(*sql.DB) (*model.GTID, error) GetSlaveGTIDFn func(*sql.DB) (*model.GTID, error) StartSlaveIOThreadFn func(*sql.DB) error StopSlaveIOThreadFn func(*sql.DB) error StartSlaveFn func(*sql.DB) error StopSlaveFn func(*sql.DB) error ChangeMasterToFn func(*sql.DB, *model.Repl) error ChangeToMasterFn func(*sql.DB) error WaitUntilAfterGTIDFn func(*sql.DB, string) error SetGlobalSysVarFn func(*sql.DB, string) error ResetMasterFn func(*sql.DB) error ResetSlaveAllFn func(*sql.DB) error PurgeBinlogsToFn func(*sql.DB, string) error EnableSemiSyncMasterFn func(*sql.DB) error DisableSemiSyncMasterFn func(*sql.DB) error SelectSysVarFn func(*sql.DB, string) (string, error) SetSemiWaitSlaveCountFn func(*sql.DB, int) error SetSemiSyncMasterDefaultFn func(*sql.DB) error // Users GetUserFn func(*sql.DB) ([]model.MysqlUser, error) CheckUserExistsFn func(*sql.DB, string) (bool, error) CreateUserFn func(*sql.DB, string, string) error DropUserFn func(*sql.DB, string, string) error ChangeUserPasswdFn func(*sql.DB, string, string) error CreateReplUserWithoutBinlogFn func(*sql.DB, string, string) error GrantAllPrivilegesFn func(*sql.DB, string) error GrantNormalPrivilegesFn func(*sql.DB, string) error CreateUserWithPrivilegesFn func(*sql.DB, string, string, string, string, string, string, string) error GrantReplicationPrivilegesFn func(*sql.DB, string) error }
MockGTID tuple.
func NewMockGTIDB ¶
func NewMockGTIDB() *MockGTID
NewMockGTIDB mock. with GTID{Master_Log_File = "mysql-bin.000001", Read_Master_Log_Pos = 123} all functions return is OK
func NewMockGTIDC ¶
func NewMockGTIDC() *MockGTID
NewMockGTIDC mock. with GTID{Master_Log_File = "mysql-bin.000001", Read_Master_Log_Pos = 124} all functions return is OK
func NewMockGTIDError ¶
func NewMockGTIDError() *MockGTID
NewMockGTIDError mock. mock GetSlaveGTID returns error mock GetMasterGTID returns error
func NewMockGTIDPingError ¶
func NewMockGTIDPingError() *MockGTID
NewMockGTIDPingError mock. mock Ping returns error
func NewMockGTIDX1 ¶
func NewMockGTIDX1() *MockGTID
NewMockGTIDX1 mock. with GTID{Master_Log_File = "mysql-bin.000001", Read_Master_Log_Pos = 123} all functions return is OK
func NewMockGTIDX3 ¶
func NewMockGTIDX3() *MockGTID
NewMockGTIDX3 mock. with GTID{Master_Log_File = "mysql-bin.000003", Read_Master_Log_Pos = 123} all functions return is OK
func NewMockGTIDX5 ¶
func NewMockGTIDX5() *MockGTID
NewMockGTIDX5 mock. with GTID{Master_Log_File = "mysql-bin.000005", Read_Master_Log_Pos = 123} all functions return is OK
func NewMockGTIDX5ChangeToMasterError ¶ added in v1.0.4
func NewMockGTIDX5ChangeToMasterError() *MockGTID
NewMockGTIDX5ChangeToMasterError mock. with GTID{Master_Log_File = "mysql-bin.000005", Read_Master_Log_Pos = 123} all functions return is OK except ChangeToMaster error.
func NewMockGTIDX5WaitUntilAfterGTIDError ¶ added in v1.0.4
func NewMockGTIDX5WaitUntilAfterGTIDError() *MockGTID
NewMockGTIDX5WaitUntilAfterGTIDError mock. with GTID{Master_Log_File = "mysql-bin.000005", Read_Master_Log_Pos = 123} all functions return is OK except WaitUntilAfterGTID
func (*MockGTID) ChangeMasterTo ¶
ChangeMasterTo mock.
func (*MockGTID) ChangeToMaster ¶
ChangeToMaster mock.
func (*MockGTID) ChangeUserPasswd ¶ added in v1.0.5
func (*MockGTID) CheckUserExists ¶ added in v1.0.5
func (*MockGTID) CreateReplUserWithoutBinlog ¶ added in v1.0.5
func (*MockGTID) CreateUser ¶ added in v1.0.5
func (*MockGTID) CreateUserWithPrivileges ¶ added in v1.0.5
func (*MockGTID) DisableSemiSyncMaster ¶
DisableSemiSyncMaster mock.
func (*MockGTID) EnableSemiSyncMaster ¶
EnableSemiSyncMaster mock.
func (*MockGTID) GetMasterGTID ¶
GetMasterGTID mock.
func (*MockGTID) GetSlaveGTID ¶
GetSlaveGTID mock.
func (*MockGTID) GrantAllPrivileges ¶ added in v1.0.5
func (*MockGTID) GrantNormalPrivileges ¶ added in v1.0.5
func (*MockGTID) GrantReplicationPrivileges ¶ added in v1.0.5
func (*MockGTID) PurgeBinlogsTo ¶
PurgeBinlogsTo mock.
func (*MockGTID) ResetMaster ¶
ResetMaster mock.
func (*MockGTID) ResetSlaveAll ¶
ResetSlaveAll mock.
func (*MockGTID) SelectSysVar ¶
SelectSysVar mock.
func (*MockGTID) SetGlobalSysVar ¶
SetGlobalSysVar mock.
func (*MockGTID) SetReadOnly ¶
SetReadOnly mock.
func (*MockGTID) SetSemiSyncMasterDefault ¶ added in v1.0.4
SetSemiSyncMasterDefault mock.
func (*MockGTID) SetSemiWaitSlaveCount ¶
SetSemiWaitSlaveCount mock
func (*MockGTID) StartSlaveIOThread ¶
StartSlaveIOThread mock.
func (*MockGTID) StopSlaveIOThread ¶
StopSlaveIOThread mock.
type Mysql ¶
type Mysql struct {
// contains filtered or unexported fields
}
Mysql tuple.
func MockMysqlReplUser ¶ added in v1.0.2
MockMysqlReplUser mock.
func NewMysql ¶
func NewMysql(conf *config.MysqlConfig, log *xlog.Log) *Mysql
NewMysql creates the new Mysql.
func (*Mysql) ChangeMasterTo ¶
ChangeMasterTo used to do the 'change master to' command.
func (*Mysql) ChangeToMaster ¶
ChangeToMaster used to do the 'reset slave all' command.
func (*Mysql) ChangeUserPasswd ¶
ChangeUserPasswd used to change the user's password.
func (*Mysql) CheckUserExists ¶
CheckUserExists used to check the user exists or not.
func (*Mysql) CreateReplUserWithoutBinlog ¶
CreateReplUserWithoutBinlog used to create a repl user without binlog.
func (*Mysql) CreateUser ¶
CreateUser used to create the new user.
func (*Mysql) CreateUserWithPrivileges ¶
func (m *Mysql) CreateUserWithPrivileges(user, passwd, database, table, host, privs string, ssl string) error
CreateUserWithPrivileges used to create a new user with grants.
func (*Mysql) DisableSemiSyncMaster ¶
DisableSemiSyncMaster used to disable the semi-sync from master.
func (*Mysql) EnableSemiSyncMaster ¶
EnableSemiSyncMaster used to enable the semi-sync on master.
func (*Mysql) GTIDGreaterThan ¶
GTIDGreaterThan used to compare the master_log_file and read_master_log_pos between from and this.
func (*Mysql) GetGTID ¶
GetGTID returns the mysql master_binlog and read_master_log_pos. 1. first try GetSlaveGTID 2. if STEP1) fails, try GetMasterGTID
func (*Mysql) GetMasterGTID ¶
GetMasterGTID used to get master binlog info.
func (*Mysql) GetMysqlRPC ¶
GetMysqlRPC returns the MysqlRPC.
func (*Mysql) GetSlaveGTID ¶
GetSlaveGTID used to get Relay_Master_Log_File and read_master_binlog_pos.
func (*Mysql) GrantAllPrivileges ¶
GrantAllPrivileges used to grants all privs for the user.
func (*Mysql) GrantNormalPrivileges ¶
GrantNormalPrivileges used grant normal privs.
func (*Mysql) GrantReplicationPrivileges ¶
GrantReplicationPrivileges used to grant replication privs.
func (*Mysql) IncMysqlDowns ¶
func (s *Mysql) IncMysqlDowns()
IncMysqlDowns used to increase the mysql down counter.
func (*Mysql) Promotable ¶
Promotable used to check whether we can promote to candidate. Promotable: 1. MySQL is MysqlAlive 2. Slave_SQL_Running
NOTES: we do not consider Slave_IO_Running to Promotable, because the MySQL of leader maybe down the slaves Slave_IO_Running is false, because it's in connecting state
func (*Mysql) PurgeBinlogsTo ¶
PurgeBinlogsTo used to purge binlog.
func (*Mysql) RelayMasterLogFile ¶
RelayMasterLogFile returns RelayMasterLogFile.
func (*Mysql) ResetSlaveAll ¶
ResetSlaveAll used to reset slave.
func (*Mysql) SetGlobalSysVar ¶
SetGlobalSysVar used to set global variables.
func (*Mysql) SetMasterGlobalSysVar ¶
SetMasterGlobalSysVar used to set master global variables.
func (*Mysql) SetMysqlHandler ¶ added in v1.0.5
func (m *Mysql) SetMysqlHandler(h MysqlHandler)
SetMysqlHandler used to set the repl handler.
func (*Mysql) SetReadOnly ¶
SetReadOnly used to set the mysql to readonly.
func (*Mysql) SetReadWrite ¶
SetReadWrite used to set the mysql to write.
func (*Mysql) SetSemiSyncMasterDefault ¶ added in v1.0.4
SetSemiSyncMasterDefault useed to set semi-sync master timeout = default.
func (*Mysql) SetSemiWaitSlaveCount ¶
SetSemiWaitSlaveCount used to set rpl_semi_sync_master_wait_for_slave_count
func (*Mysql) SetSlaveGlobalSysVar ¶
SetSlaveGlobalSysVar used to set slave global variables.
func (*Mysql) StartSlaveIOThread ¶
StartSlaveIOThread used to start the slave io thread.
func (*Mysql) StopSlaveIOThread ¶
StopSlaveIOThread used to stop the slave io thread.
func (*Mysql) WaitMysqlWorks ¶
WaitMysqlWorks used to wait for the mysqld to work.
func (*Mysql) WaitUntilAfterGTID ¶
WaitUntilAfterGTID used to do 'SELECT WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' command.
type Mysql56 ¶ added in v1.0.5
type Mysql56 struct {
MysqlBase
}
Mysql56 tuple.
func (*Mysql56) ChangeUserPasswd ¶ added in v1.0.5
ChangeUserPasswd used to change the user password.
type MysqlBase ¶ added in v1.0.5
type MysqlBase struct {
MysqlHandler
}
MysqlBase tuple.
func (*MysqlBase) Change56UserPasswd ¶ added in v1.0.5
Change56UserPasswd used to change the mysql56 user password.
func (*MysqlBase) ChangeMasterTo ¶ added in v1.0.5
ChangeMasterTo stop for all channels and reset all replication filter to null. In Xenon, we never set replication filter.
func (*MysqlBase) ChangeToMaster ¶ added in v1.0.5
ChangeToMaster changes a slave to be master.
func (*MysqlBase) ChangeUserPasswd ¶ added in v1.0.5
ChangeUserPasswd used to change the user password.
func (*MysqlBase) CheckUserExists ¶ added in v1.0.5
CheckUserExists used to check the user exists or not.
func (*MysqlBase) CreateReplUserWithoutBinlog ¶ added in v1.0.5
CreateReplUserWithoutBinlog create replication accounts without writing binlog.
func (*MysqlBase) CreateUser ¶ added in v1.0.5
CreateUser use to create new user. see http://dev.mysql.com/doc/refman/5.7/en/string-literals.html
func (*MysqlBase) CreateUserWithPrivileges ¶ added in v1.0.5
func (my *MysqlBase) CreateUserWithPrivileges(db *sql.DB, user, passwd, database, table, host, privs string, ssl string) error
CreateUserWithPrivileges for create normal user.
func (*MysqlBase) DisableSemiSyncMaster ¶ added in v1.0.5
DisableSemiSyncMaster used to disable the semi-sync from master.
func (*MysqlBase) EnableSemiSyncMaster ¶ added in v1.0.5
EnableSemiSyncMaster used to enable the semi-sync on master.
func (*MysqlBase) GetMasterGTID ¶ added in v1.0.5
GetMasterGTID used to get binlog info from master.
func (*MysqlBase) GetSlaveGTID ¶ added in v1.0.5
GetSlaveGTID gets the gtid from the default channel. Here, We just show the default slave channel.
func (*MysqlBase) GrantAllPrivileges ¶ added in v1.0.5
GrantAllPrivileges used to grant all privis.
func (*MysqlBase) GrantNormalPrivileges ¶ added in v1.0.5
GrantNormalPrivileges used to grants normal privileges.
func (*MysqlBase) GrantReplicationPrivileges ¶ added in v1.0.5
GrantReplicationPrivileges used to grant repli privis.
func (*MysqlBase) Ping ¶ added in v1.0.5
Ping has 2 affects: one for heath check other for get master_binglog the slave is syncing
func (*MysqlBase) PurgeBinlogsTo ¶ added in v1.0.5
PurgeBinlogsTo used to purge binlog.
func (*MysqlBase) ResetMaster ¶ added in v1.0.5
ResetMaster used to reset master.
func (*MysqlBase) ResetSlaveAll ¶ added in v1.0.5
ResetSlaveAll used to reset slave.
func (*MysqlBase) SetGlobalSysVar ¶ added in v1.0.5
SetGlobalSysVar used to set global variables.
func (*MysqlBase) SetReadOnly ¶ added in v1.0.5
SetReadOnly used to set mysql to readonly.
func (*MysqlBase) SetSemiSyncMasterDefault ¶ added in v1.0.5
SetSemiSyncMasterDefault useed to set semi-sync master timeout = default
func (*MysqlBase) SetSemiWaitSlaveCount ¶ added in v1.0.5
SetSemiWaitSlaveCount used set rpl_semi_sync_master_wait_for_slave_count
func (*MysqlBase) StartSlave ¶ added in v1.0.5
StartSlave used to start slave.
func (*MysqlBase) StartSlaveIOThread ¶ added in v1.0.5
StartSlaveIOThread used to start the io thread.
func (*MysqlBase) StopSlaveIOThread ¶ added in v1.0.5
StopSlaveIOThread used to stop the op thread.
func (*MysqlBase) WaitUntilAfterGTID ¶ added in v1.0.5
WaitUntilAfterGTID used to do 'SELECT WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' command. https://dev.mysql.com/doc/refman/5.7/en/gtid-functions.html
type MysqlHandler ¶ added in v1.0.5
type MysqlHandler interface { // check health and return log_bin_basename Ping(*sql.DB) (*PingEntry, error) // set mysql readonly variable SetReadOnly(*sql.DB, bool) error // get GTID from traversal binlog folder and find the newest one GetMasterGTID(*sql.DB) (*model.GTID, error) // get GTID from SHOW SLAVE STATUS GetSlaveGTID(*sql.DB) (*model.GTID, error) // start slave io_thread StartSlaveIOThread(*sql.DB) error // stop slave io_thread StopSlaveIOThread(*sql.DB) error // start slave StartSlave(*sql.DB) error // stop slave StopSlave(*sql.DB) error // use the provided master as the new master ChangeMasterTo(*sql.DB, *model.Repl) error // change a slave to master ChangeToMaster(*sql.DB) error // waits until slave replication reaches at least targetGTID WaitUntilAfterGTID(*sql.DB, string) error // set global variables SetGlobalSysVar(db *sql.DB, varsql string) error // reset master ResetMaster(db *sql.DB) error // reset slave all ResetSlaveAll(db *sql.DB) error // purge binglog to PurgeBinlogsTo(*sql.DB, string) error // enable master semi sync: wait slave ack EnableSemiSyncMaster(db *sql.DB) error // disable master semi sync: don't wait slave ack DisableSemiSyncMaster(db *sql.DB) error // set semi-sync master-timeout = default SetSemiSyncMasterDefault(db *sql.DB) error //set rpl_semi_master_wait_for_slave_count SetSemiWaitSlaveCount(db *sql.DB, count int) error // User handlers. GetUser(*sql.DB) ([]model.MysqlUser, error) CheckUserExists(*sql.DB, string) (bool, error) CreateUser(*sql.DB, string, string) error DropUser(*sql.DB, string, string) error ChangeUserPasswd(*sql.DB, string, string) error CreateReplUserWithoutBinlog(*sql.DB, string, string) error GrantAllPrivileges(*sql.DB, string) error GrantNormalPrivileges(*sql.DB, string) error CreateUserWithPrivileges(db *sql.DB, user, passwd, database, table, host, privs string, ssl string) error GrantReplicationPrivileges(*sql.DB, string) error }
MysqlHandler interface.
type MysqlRPC ¶
type MysqlRPC struct {
// contains filtered or unexported fields
}
MysqlRPC tuple.
func (*MysqlRPC) ChangeToMaster ¶
func (m *MysqlRPC) ChangeToMaster(req *model.MysqlRPCRequest, rsp *model.MysqlRPCResponse) error
ChangeToMaster used to do 'reset slave all' command.
func (*MysqlRPC) IsWorking ¶
func (m *MysqlRPC) IsWorking(req *model.MysqlRPCRequest, rsp *model.MysqlRPCResponse) error
IsWorking used to check the mysql works or not.
func (*MysqlRPC) ResetMaster ¶
func (m *MysqlRPC) ResetMaster(req *model.MysqlRPCRequest, rsp *model.MysqlRPCResponse) error
ResetMaster used to reset master.
func (*MysqlRPC) ResetSlaveAll ¶
func (m *MysqlRPC) ResetSlaveAll(req *model.MysqlRPCRequest, rsp *model.MysqlRPCResponse) error
ResetSlaveAll used to reset slave.
func (*MysqlRPC) SetGlobalSysVar ¶
func (m *MysqlRPC) SetGlobalSysVar(req *model.MysqlVarRPCRequest, rsp *model.MysqlVarRPCResponse) error
SetGlobalSysVar used to set global vars.
func (*MysqlRPC) StartSlave ¶
func (m *MysqlRPC) StartSlave(req *model.MysqlRPCRequest, rsp *model.MysqlRPCResponse) error
StartSlave used to start the slave.
func (*MysqlRPC) Status ¶
func (m *MysqlRPC) Status(req *model.MysqlStatusRPCRequest, rsp *model.MysqlStatusRPCResponse) error
Status returns the mysql GTID info.
func (*MysqlRPC) StopSlave ¶
func (m *MysqlRPC) StopSlave(req *model.MysqlRPCRequest, rsp *model.MysqlRPCResponse) error
StopSlave used to stop the slave.