Sha256: d9f7f8cc91d1843f91b306d535b709266a1ef32b46b05b09646396989d18f5d6

Contents?: true

Size: 1.52 KB

Versions: 3

Compression:

Stored size: 1.52 KB

Contents

#!/usr/bin/env ruby

require_relative "mysql_isolated_server"

threads = []
threads << Thread.new do
  $mysql_master = MysqlIsolatedServer.new(allow_output: false)
  $mysql_master.boot!
  $mysql_master.connection.query("set global server_id=1")

  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!
  $mysql_slave.connection.query("set global server_id=2")

  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!
  $mysql_slave_2.connection.query("set global server_id=3")

  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'")

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
ar_mysql_flexmaster-0.2.2 test/boot_mysql_env.rb
ar_mysql_flexmaster-0.2.1 test/boot_mysql_env.rb
ar_mysql_flexmaster-0.2.0 test/boot_mysql_env.rb