Sha256: 17186c7865ed3d7a6b28fb49daa7b025660910e106407755a5eee1e4b2f4e453

Contents?: true

Size: 1.39 KB

Versions: 6

Compression:

Stored size: 1.39 KB

Contents

#!/usr/bin/env ruby

require "mysql_isolated_server"

threads = []
threads << Thread.new do
  $mysql_master = MysqlIsolatedServer.new(allow_output: false)
  $mysql_master.boot!

  puts "mysql master booted on port #{$mysql_master.port} -- access with mysql -uroot -h127.0.0.1 --port=#{$mysql_master.port} mysql"
end

threads << Thread.new do
  $mysql_slave = MysqlIsolatedServer.new
  $mysql_slave.boot!

  puts "mysql slave booted on port #{$mysql_slave.port} -- access with mysql -uroot -h127.0.0.1 --port=#{$mysql_slave.port} mysql"
end

threads << Thread.new do
  $mysql_slave_2 = MysqlIsolatedServer.new
  $mysql_slave_2.boot!

  puts "mysql chained slave booted on port #{$mysql_slave_2.port} -- access with mysql -uroot -h127.0.0.1 --port=#{$mysql_slave_2.port} mysql"
end

threads.each(&:join)

$mysql_master.connection.query("CHANGE MASTER TO master_host='127.0.0.1', master_user='root', master_password=''")
$mysql_slave.make_slave_of($mysql_master)
$mysql_slave_2.make_slave_of($mysql_slave)

$mysql_master.connection.query("GRANT ALL ON flexmaster_test.* to flex@localhost")
$mysql_master.connection.query("CREATE DATABASE flexmaster_test")
$mysql_master.connection.query("CREATE TABLE flexmaster_test.users (id INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY, name varchar(20))")
$mysql_master.connection.query("INSERT INTO flexmaster_test.users set name='foo'")

$mysql_slave.set_rw(false)
sleep if __FILE__ == $0

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
ar_mysql_flexmaster-0.4.4 test/boot_mysql_env.rb
ar_mysql_flexmaster-0.4.3 test/boot_mysql_env.rb
ar_mysql_flexmaster-0.4.2 test/boot_mysql_env.rb
ar_mysql_flexmaster-0.4.1 test/boot_mysql_env.rb
ar_mysql_flexmaster-0.4.0 test/boot_mysql_env.rb
ar_mysql_flexmaster-0.3.1 test/boot_mysql_env.rb