Fix change_master function
The change_master function did not stop slaves on all servers before reconfiguring them.
This commit is contained in:
parent
548c51c50d
commit
dc48b8af4e
@ -257,36 +257,29 @@ int Mariadb_nodes::find_master()
|
|||||||
|
|
||||||
int Mariadb_nodes::change_master(int NewMaster, int OldMaster)
|
int Mariadb_nodes::change_master(int NewMaster, int OldMaster)
|
||||||
{
|
{
|
||||||
int i;
|
for (int i = 0; i < N; i++)
|
||||||
//int OldMaster = FindMaster();
|
{
|
||||||
char log_file[256];
|
execute_query(nodes[i], "STOP SLAVE");
|
||||||
char log_pos[256];
|
}
|
||||||
char str[1024];
|
|
||||||
|
|
||||||
for (i = 0; i < N; i++)
|
|
||||||
{
|
|
||||||
if (i != OldMaster)
|
|
||||||
{
|
|
||||||
execute_query(nodes[i], (char *) "stop slave;");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
execute_query(nodes[NewMaster], "STOP SLAVE");
|
|
||||||
execute_query(nodes[NewMaster], "RESET SLAVE ALL");
|
execute_query(nodes[NewMaster], "RESET SLAVE ALL");
|
||||||
execute_query(nodes[NewMaster], create_repl_user);
|
execute_query(nodes[NewMaster], create_repl_user);
|
||||||
|
execute_query(nodes[OldMaster], "RESET MASTER");
|
||||||
|
|
||||||
execute_query(nodes[OldMaster], "reset master;");
|
char log_file[256];
|
||||||
|
char log_pos[256];
|
||||||
find_field(nodes[NewMaster], "show master status", "File", &log_file[0]);
|
find_field(nodes[NewMaster], "show master status", "File", &log_file[0]);
|
||||||
find_field(nodes[NewMaster], "show master status", "Position", &log_pos[0]);
|
find_field(nodes[NewMaster], "show master status", "Position", &log_pos[0]);
|
||||||
|
|
||||||
for (i = 0; i < N; i++)
|
for (int i = 0; i < N; i++)
|
||||||
{
|
{
|
||||||
if (i != NewMaster)
|
if (i != NewMaster)
|
||||||
{
|
{
|
||||||
|
char str[1024];
|
||||||
sprintf(str, setup_slave, IP[NewMaster], log_file, log_pos, port[NewMaster]);
|
sprintf(str, setup_slave, IP[NewMaster], log_file, log_pos, port[NewMaster]);
|
||||||
execute_query(nodes[i], str);
|
execute_query(nodes[i], str);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//for (i = 0; i < N; i++) {if (i != NewMaster) {execute_query(nodes[i], (char *) "start slave;"); }}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int Mariadb_nodes::stop_node(int node)
|
int Mariadb_nodes::stop_node(int node)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user