Replication database postgres แบบ master to master ด้วย rubyrep บน centos 7

ที่มา: http://www.rubyrep.org/installation.html

เข้าไปอ่านได้ หากมีข้อสงสัยเพิ่มเติม

ในส่วนของการติดตั้ง postgres จะไม่ได้อธิบาย อาจจะต้องหาอ่านเอง หรือที่นี้ http://kmzohan.com/2019/03/04/%e0%b8%95%e0%b8%b4%e0%b8%94%e0%b8%95%e0%b8%b1%e0%b9%89%e0%b8%87-postgres-%e0%b8%9a%e0%b8%99-centos/

เริ่มแรกให้ติดตั้ง  ruby ก่อน (เราทำงานติดตัั้ง ruby  ที่ server เดียว ที่ server นั้นจะเช็ค ทั้ง 2 server เอง)

yum install ruby

yum install ruby-devel

จากนั้น ติดตั้งตัว เสริมของ ruby

อันแรกจะเป็นตัวเชื่อม postgres (คาดว่าน่าจะมีมากับตอน yum ruby แล้ว แต่ เพื่อให้แน่ใจ)

gem install pg

จากนั้นเป็น rubyrep

gem install rubyrep

จากนัั้น โหลด ตัว Installing the JRuby version ตาม ลิ้งบนเว็บหรือ https://github.com/rubyrep/rubyrep

Pre-condition: Java is installed (tested with version 1.8).

นำไปวางที่ๆต้องการ โดยผมไปวางที่ /root/rubyrep/rubyrep-2.0.1/

จากนั้นสร้างไฟล์ testrubyrep.conf ดังนี้

RR::Initializer::run do |config|
config.left = {
:adapter => ‘postgresql’, # or ‘mysql’
:database => ‘db_rep’,
:username => ‘postgres’,
:password => ‘pass’,
:host => ‘192.168.213.131’
}

config.right = {
:adapter => ‘postgresql’,
:database => ‘db_rep’,
:username => ‘postgres’,
:password => ‘pass’,
:host => ‘192.168.213.139’
}

# config.include_tables ‘dept’
# config.include_tables /^e/ # regexp matches all tables starting with e
config.options[:sync_conflict_handling] = :right_wins
config.options[:replication_conflict_handling] = :right_wins
config.add_table_options ’emp’,
:sync_conflict_handling => :left_wins,
:replication_conflict_handling => :left_wins
config.include_tables /./ # regexp matches all tables
end

 

จากนั้นใช้คำสั่ง กับโฟเดอร์ที่มาวาง

/root/rubyrep/rubyrep-2.0.1/rubyrep replicate  -c /root/rubyrep/rubyrep-2.0.1/testrubyrep.conf

 

จากนั้นทดสอบดูครับ ส่วนตัว table ต้อง มี primary key ทุกอัน

 

 

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องที่ต้องการถูกทำเครื่องหมาย *