Commit 4deb135b authored by guilhem@mysql.com's avatar guilhem@mysql.com

Changed change_master() to use ER_MASTER_INFO (better display).

parent 0a0ca199
...@@ -5,7 +5,7 @@ Could not initialize master info structure, check permisions on master.info ...@@ -5,7 +5,7 @@ Could not initialize master info structure, check permisions on master.info
slave start; slave start;
Could not initialize master info structure, check permisions on master.info Could not initialize master info structure, check permisions on master.info
change master to master_host='127.0.0.1',master_port=MASTER_PORT, master_user='root'; change master to master_host='127.0.0.1',master_port=MASTER_PORT, master_user='root';
Could not initialize master info Could not initialize master info structure, check permisions on master.info
reset slave; reset slave;
change master to master_host='127.0.0.1',master_port=MASTER_PORT, master_user='root'; change master to master_host='127.0.0.1',master_port=MASTER_PORT, master_user='root';
reset master; reset master;
......
...@@ -16,14 +16,20 @@ system cat /dev/null > var/slave-data/master.info; ...@@ -16,14 +16,20 @@ system cat /dev/null > var/slave-data/master.info;
system chmod 000 var/slave-data/master.info; system chmod 000 var/slave-data/master.info;
connection slave; connection slave;
drop table if exists t1, t2, t3, t4; drop table if exists t1, t2, t3, t4;
# START SLAVE will fail because it can't read the file (mode 000) (system error 13)
--error 1201 --error 1201
slave start; slave start;
system chmod 600 var/slave-data/master.info; system chmod 600 var/slave-data/master.info;
# It will fail again because the file is empty so the slave cannot get valuable
# info about how to connect to the master from it (failure in
# init_strvar_from_file() in init_master_info()).
--error 1201 --error 1201
slave start; slave start;
--replace_result 3306 MASTER_PORT 9306 MASTER_PORT 3334 MASTER_PORT 3336 MASTER_PORT --replace_result 3306 MASTER_PORT 9306 MASTER_PORT 3334 MASTER_PORT 3336 MASTER_PORT
# Will get error 13 on Unix systems becasue file is not readable # CHANGE MASTER will fail because it first parses master.info before changing it
!eval change master to master_host='127.0.0.1',master_port=$MASTER_MYPORT, master_user='root'; # (so when master.info is bad, people have to use RESET SLAVE first).
--error 1201
eval change master to master_host='127.0.0.1',master_port=$MASTER_MYPORT, master_user='root';
reset slave; reset slave;
--replace_result 3306 MASTER_PORT 9306 MASTER_PORT 3334 MASTER_PORT 3336 MASTER_PORT --replace_result 3306 MASTER_PORT 9306 MASTER_PORT 3334 MASTER_PORT 3336 MASTER_PORT
eval change master to master_host='127.0.0.1',master_port=$MASTER_MYPORT, master_user='root'; eval change master to master_host='127.0.0.1',master_port=$MASTER_MYPORT, master_user='root';
......
...@@ -1644,6 +1644,7 @@ int show_master_info(THD* thd, MASTER_INFO* mi) ...@@ -1644,6 +1644,7 @@ int show_master_info(THD* thd, MASTER_INFO* mi)
if (mi->host[0]) if (mi->host[0])
{ {
DBUG_PRINT("info",("host is set: '%s'", mi->host));
String *packet= &thd->packet; String *packet= &thd->packet;
packet->length(0); packet->length(0);
......
...@@ -828,7 +828,7 @@ int change_master(THD* thd, MASTER_INFO* mi) ...@@ -828,7 +828,7 @@ int change_master(THD* thd, MASTER_INFO* mi)
// TODO: see if needs re-write // TODO: see if needs re-write
if (init_master_info(mi, master_info_file, relay_log_info_file, 0)) if (init_master_info(mi, master_info_file, relay_log_info_file, 0))
{ {
send_error(&thd->net, 0, "Could not initialize master info"); send_error(&thd->net, ER_MASTER_INFO);
unlock_slave_threads(mi); unlock_slave_threads(mi);
DBUG_RETURN(1); DBUG_RETURN(1);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment