Created
January 29, 2021 00:20
-
-
Save osamu/4c654852173b77f5c8a5648d40ee062d to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'mysql2' | |
begin | |
client = Mysql2::Client.new(:host => "db1-proxy.proxy-hogehoge.amazonaws.com", :username => "root", :password => '') | |
while true | |
query = "SHOW GLOBAL VARIABLES WHERE Variable_Name IN ('innodb_read_only', 'server_uuid', 'aurora_server_id');" | |
client.query(query).each do |row| | |
puts row | |
end | |
sleep(0.2) | |
end | |
rescue => e | |
puts e | |
retry | |
end |
もっと速度を落としてqueryしている場合、切り替わり時にRDS Proxyとの接続が維持される。
{"Variable_name"=>"server_uuid", "Value"=>"d9a929b1-9d76-3cfc-8b7c-7f87a871eee0"}
{"Variable_name"=>"aurora_server_id", "Value"=>"database-1-writer"}
{"Variable_name"=>"innodb_read_only", "Value"=>"OFF"}
{"Variable_name"=>"server_uuid", "Value"=>"d9a929b1-9d76-3cfc-8b7c-7f87a871eee0"}
{"Variable_name"=>"aurora_server_id", "Value"=>"database-1-writer"}
{"Variable_name"=>"innodb_read_only", "Value"=>"OFF"}
{"Variable_name"=>"server_uuid", "Value"=>"d9a929b1-9d76-3cfc-8b7c-7f87a871eee0"}
{"Variable_name"=>"aurora_server_id", "Value"=>"database-1-instance-1"}
{"Variable_name"=>"innodb_read_only", "Value"=>"OFF"}
{"Variable_name"=>"server_uuid", "Value"=>"d9a929b1-9d76-3cfc-8b7c-7f87a871eee0"}
{"Variable_name"=>"aurora_server_id", "Value"=>"database-1-instance-1"}
{"Variable_name"=>"innodb_read_only", "Value"=>"OFF"}
{"Variable_name"=>"server_uuid", "Value"=>"d9a929b1-9d76-3cfc-8b7c-7f87a871eee0"}
{"Variable_name"=>"aurora_server_id", "Value"=>"database-1-instance-1"}
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
0.2秒単位でクエリしながら、Failoverさせると、clientがエラーを起こしWriterへの接続が切れて再接続する必要が出てくる。
際接続すると新しいwriterへ繋がる。繋がったままread_onlyにはならない。