Class: Mysqlknife::Mysql::Replica

Inherits:
Object
  • Object
show all
Defined in:
lib/mysqlknife/mysql/replica.rb

Instance Method Summary collapse

Constructor Details

#initializeReplica

Returns a new instance of Replica.



6
7
8
9
10
11
12
# File 'lib/mysqlknife/mysql/replica.rb', line 6

def initialize
  @mysql     = MySQL.new
  @mysql_cmd = Mysql::Command.new
  @mysql_sql = Mysql::SQL.new

  @status    = slave_status
end

Instance Method Details

#rds?Boolean

Returns:

  • (Boolean)


18
19
20
# File 'lib/mysqlknife/mysql/replica.rb', line 18

def rds?
  ! @mysql.execute(@mysql_sql.show_procedure('mysql.rds_skip_repl_error')).first
end

#skipObject



26
27
28
29
30
31
32
33
34
35
36
# File 'lib/mysqlknife/mysql/replica.rb', line 26

def skip
  unless sql_running?
    Mysqlknife::Log.new.skip_repl_error(@status)

    if rds?
      @mysql.execute(@mysql_sql.rds_skip_repl_error)
    else
      @mysql.execute(@mysql_sql.mysql_skip_repl_error)
    end
  end
end

#slave_statusObject



22
23
24
# File 'lib/mysqlknife/mysql/replica.rb', line 22

def slave_status
  @mysql.execute(@mysql_sql.slave_status).first
end

#sql_running?Boolean

Returns:

  • (Boolean)


14
15
16
# File 'lib/mysqlknife/mysql/replica.rb', line 14

def sql_running?
  @status['Slave_SQL_Running'] == 'Yes'
end