mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 21:12:26 +01:00
4ffd997a8e
On the windows platform, if an instance object failed to initialize during program start, the instance manager would crash. This could happen if an incorrect mysqld path was supplied in the defaults configuration file. The patch prevents the program from crashing and makes it show an error message instead. mysql-test/r/im_options.result: - Options have changed names. server-tools/instance-manager/instance.cc: - Added code to verify that the instance object was initialized before any attempt is made to start the associated process. - Instance::complete_initialization method will now return TRUE on an error during instance initialization. server-tools/instance-manager/instance_options.cc: - Parsed result byte sequence from executed process doesn't contain a new line character anymore. server-tools/instance-manager/parse_output.cc: - 'popen' didn't behave as intended on the windows platform. - The function parse_output_and_get_value was completly rewritten to correct the error in the windows built and to be more easily maintained across platforms. server-tools/instance-manager/parse_output.h: - 'popen' didn't behave as intended on the windows platform. - The function parse_output_and_get_value was completly rewritten to correct the error in the windows built and to be more easily maintained across platforms. server-tools/instance-manager/portability.h: - Add more portability constants for convenience.
151 lines
5.5 KiB
Text
151 lines
5.5 KiB
Text
SHOW VARIABLES LIKE 'server_id';
|
|
Variable_name Value
|
|
server_id 1
|
|
SHOW INSTANCES;
|
|
instance_name state
|
|
mysqld1 XXXXX
|
|
mysqld2 offline
|
|
UNSET mysqld1.server_id;
|
|
ERROR HY000: The instance is active. Stop the instance first
|
|
SET mysqld1.server_id = 11;
|
|
ERROR HY000: The instance is active. Stop the instance first
|
|
CREATE INSTANCE mysqld3
|
|
datadir = '/',
|
|
server_id = 3,
|
|
socket = "$MYSQL_TMP_DIR/mysqld_3.sock";
|
|
START INSTANCE mysqld3;
|
|
UNSET mysqld3.server_id;
|
|
ERROR HY000: The instance is active. Stop the instance first
|
|
SET mysqld3.server_id = 11;
|
|
ERROR HY000: The instance is active. Stop the instance first
|
|
STOP INSTANCE mysqld3;
|
|
SHOW INSTANCE STATUS mysqld3;
|
|
instance_name state version_number version mysqld_compatible
|
|
mysqld3 offline VERSION_NUMBER VERSION no
|
|
UNSET mysqld2.server_id;
|
|
UNSET mysqld2.server_id;
|
|
SHOW INSTANCE OPTIONS mysqld2;
|
|
option_name value
|
|
instance_name option_value
|
|
socket option_value
|
|
pid-file option_value
|
|
port option_value
|
|
datadir option_value
|
|
log option_value
|
|
log-error option_value
|
|
log-slow-queries option_value
|
|
language option_value
|
|
character-sets-dir option_value
|
|
basedir option_value
|
|
shutdown-delay option_value
|
|
skip-stack-trace option_value
|
|
loose-skip-innodb option_value
|
|
loose-skip-ndbcluster option_value
|
|
nonguarded option_value
|
|
log-output option_value
|
|
SET mysqld2.server_id = 2;
|
|
SET mysqld2.server_id = 2;
|
|
SHOW INSTANCE OPTIONS mysqld2;
|
|
option_name value
|
|
instance_name option_value
|
|
socket option_value
|
|
pid-file option_value
|
|
port option_value
|
|
datadir option_value
|
|
log option_value
|
|
log-error option_value
|
|
log-slow-queries option_value
|
|
language option_value
|
|
character-sets-dir option_value
|
|
basedir option_value
|
|
shutdown-delay option_value
|
|
skip-stack-trace option_value
|
|
loose-skip-innodb option_value
|
|
loose-skip-ndbcluster option_value
|
|
nonguarded option_value
|
|
log-output option_value
|
|
server_id option_value
|
|
UNSET mysqld2.server_id = 11;
|
|
ERROR 42000: You have an error in your command syntax. Check the manual that corresponds to your MySQL Instance Manager version for the right syntax to use
|
|
SET mysqld2.aaa, mysqld3.bbb, mysqld2.ccc = 0010, mysqld3.ddd = 0020;
|
|
--------------------------------------------------------------------
|
|
aaa
|
|
--------------------------------------------------------------------
|
|
bbb
|
|
--------------------------------------------------------------------
|
|
ccc=0010
|
|
--------------------------------------------------------------------
|
|
ddd=0020
|
|
--------------------------------------------------------------------
|
|
UNSET mysqld2.aaa, mysqld3.bbb, mysqld2.ccc, mysqld3.ddd;
|
|
--------------------------------------------------------------------
|
|
--------------------------------------------------------------------
|
|
--------------------------------------------------------------------
|
|
--------------------------------------------------------------------
|
|
--------------------------------------------------------------------
|
|
SET mysqld2.aaa, mysqld3.bbb, mysqld.ccc = 0010;
|
|
ERROR HY000: Unknown instance name
|
|
--------------------------------------------------------------------
|
|
--------------------------------------------------------------------
|
|
--------------------------------------------------------------------
|
|
--------------------------------------------------------------------
|
|
SET mysqld2.aaa, mysqld3.bbb, mysqld1.ccc = 0010;
|
|
ERROR HY000: The instance is active. Stop the instance first
|
|
--------------------------------------------------------------------
|
|
--------------------------------------------------------------------
|
|
--------------------------------------------------------------------
|
|
--------------------------------------------------------------------
|
|
UNSET mysqld2.server_id, mysqld3.server_id, mysqld.ccc;
|
|
ERROR HY000: Unknown instance name
|
|
--------------------------------------------------------------------
|
|
server_id = 1
|
|
server_id=2
|
|
server_id=3
|
|
--------------------------------------------------------------------
|
|
UNSET mysqld2.server_id, mysqld3.server_id, mysqld1.ccc;
|
|
ERROR HY000: The instance is active. Stop the instance first
|
|
--------------------------------------------------------------------
|
|
server_id = 1
|
|
server_id=2
|
|
server_id=3
|
|
--------------------------------------------------------------------
|
|
DROP INSTANCE mysqld3;
|
|
SET mysqld2.server_id=222;
|
|
SET mysqld2.server_id = 222;
|
|
SET mysqld2.server_id = 222 ;
|
|
SET mysqld2 . server_id = 222 ;
|
|
SET mysqld2 . server_id = 222 , mysqld2 . aaa , mysqld2 . bbb ;
|
|
--------------------------------------------------------------------
|
|
server_id = 1
|
|
server_id=222
|
|
--------------------------------------------------------------------
|
|
aaa
|
|
--------------------------------------------------------------------
|
|
bbb
|
|
--------------------------------------------------------------------
|
|
UNSET mysqld2 . aaa , mysqld2 . bbb ;
|
|
--------------------------------------------------------------------
|
|
server_id = 1
|
|
server_id=222
|
|
--------------------------------------------------------------------
|
|
--------------------------------------------------------------------
|
|
--------------------------------------------------------------------
|
|
--------------------------------------------------------------------
|
|
server_id = 1
|
|
server_id=222
|
|
--------------------------------------------------------------------
|
|
SHOW VARIABLES LIKE 'server_id';
|
|
Variable_name Value
|
|
server_id 1
|
|
SHOW INSTANCES;
|
|
instance_name state
|
|
mysqld1 online
|
|
mysqld2 offline
|
|
FLUSH INSTANCES;
|
|
ERROR HY000: At least one instance is active. Stop all instances first
|
|
STOP INSTANCE mysqld1;
|
|
SHOW INSTANCES;
|
|
instance_name state
|
|
mysqld1 offline
|
|
mysqld2 offline
|
|
FLUSH INSTANCES;
|