Thirty five seconds is entirely too short of a period to wait for a server
to exit. Instead, make a valliant effort to make sure it exits, and only
give up after a very long period (arbitrarily chosen as 15 minutes).
In addition, if we're being asked to restart the server, then don't try
to start again if trying to stop the server failed.
---
Return zero by default, when the script exits.
---
Set return-/exit-value based on whether we successfully dealt with the
PID-file.
---
Don't wait that long if the program we're waiting on exits. It
should only exit if the server is not going to be started.
support-files/mysql.server.sh:
Raise timeout to a pessimistic value, 15 minutes. We should only be willing
to give up and exit after an extraordinary effort.
---
Return zero by default, when the script exits.
---
Set return-/exit-value based on whether we successfully dealt with the
PID-file.
---
Don't wait that long if the program we're waiting on exits. It
should only exit if the server is not going to be started.
Thirty five seconds is entirely too short of a period to wait for a server
to exit. Instead, make a valliant effort to make sure it exits, and only
give up after a very long period (arbitrarily chosen as 15 minutes).
In addition, if we're being asked to restart the server, then don't try
to start again if trying to stop the server failed.
---
Return zero by default, when the script exits.
---
Set return-/exit-value based on whether we successfully dealt with the
PID-file.
---
Don't wait that long if the program we're waiting on exits. It
should only exit if the server is not going to be started.
into neptunus.(none):/home/msvensson/mysql/mysql-5.1-new-maint
mysql-test/lib/mtr_cases.pl:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_table.cc:
Auto merged
support-files/mysql.server.sh:
Auto merged
mysql-test/mysql-test-run.pl:
Use remote
storage/ndb/src/mgmapi/mgmapi.cpp:
Auto merged
storage/ndb/src/mgmsrv/ConfigInfo.cpp:
Auto merged
storage/ndb/src/mgmsrv/MgmtSrvr.cpp:
Auto merged
support-files/mysql.server.sh:
Auto merged
support-files/mysql.spec.sh:
Auto merged
In addition to include "mysql_upgrade" in a RPM, it should also be called
when the RPM is upgraded.
support-files/mysql.server.sh:
Support getting additional arguments, which need to be passed on to the server.
This works only if the server is started through "mysqld_safe", as the IM will not pass such arguments.
So if the IM would be used, additional arguments cause the start to fail (voluntarily).
This feature is needed so that tools like RPM can start the server in an "isolated" way,
see the patch to the RPM spec file (also in this changeset) to call "mysql_upgrade".
support-files/mysql.spec.sh:
Call "mysql_upgrade" during an RPM upgrade.
"mysql_upgrade" needs a server to run, as it issues SQL commands.
(This had been neglected previously.)
It also needs to connect as "root", but in an RPM upgrade the password is unknown.
To allow this, the server is started "--skip-grant-tables".
Normally, this would open big security holes, so it is also started "--skip-networking",
and access to the socket is limited to "mysql" + "root" by temporarily setting mode 700.
support-files/mysql.server.sh:
Ensure that some necessary / useful system services have been started already,
when the MySQL server is started.
This fixes bug#18810 and bug#20118
- WL#3158: IM: Instance configuration extensions;
- WL#3159: IM: --bootstrap and --start-default-instance modes
The following new statements have been added:
- CREATE INSTANCE;
- DROP INSTANCE;
The behaviour of the following statements have been changed:
- SET;
- UNSET;
- FLUSH INSTANCES;
- SHOW INSTANCES;
- SHOW INSTANCE OPTIONS;
BitKeeper/deleted/.del-im_options_set.imtest~b53d9d60e5684833:
Delete: mysql-test/t/im_options_set.imtest
BitKeeper/deleted/.del-im_options_set.result~59278f56be61d921:
Delete: mysql-test/r/im_options_set.result
BitKeeper/deleted/.del-im_options_unset.imtest~768eb186b51d0048:
Delete: mysql-test/t/im_options_unset.imtest
BitKeeper/deleted/.del-im_options_unset.result~20a4790cd3c70a4f:
Delete: mysql-test/r/im_options_unset.result
client/get_password.c:
Change prototype to avoid casting when using C-strings (char *).
include/m_string.h:
Moved LEX_STRING to global header from sql/ to be accessible
from all components (IM for one).
include/my_sys.h:
Added constants for modify_defaults_file().
include/mysql_com.h:
Removed duplicated declarations. my_sys.h should be used instead.
libmysql/get_password.c:
Change prototype to avoid casting when using C-strings (char *).
mysql-test/mysql-test-run.pl:
Added environment variables to be used from tests.
mysql-test/r/im_daemon_life_cycle.result:
Column name has been changed in SHOW INSTANCES.
mysql-test/r/im_life_cycle.result:
1. Column name has been changed in SHOW INSTANCES.
2. Removed redundant SHOW INSTANCE STATUS statements.
mysql-test/r/im_utils.result:
Updated the result file.
mysql-test/t/im_daemon_life_cycle-im.opt:
Set minimal monitoring interval for Instance Manager to speed up testing.
mysql-test/t/im_daemon_life_cycle.imtest:
Get Instance Manager and managed mysqld-instances enough time to start.
mysql-test/t/im_life_cycle.imtest:
1. Polishing;
2. Fixed a test error in 1.1.2.
mysql-test/t/im_utils.imtest:
Get Instance Manager and managed mysqld-instances enough time to start.
mysys/default.c:
Pass the name of the section to the handler function as well.
mysys/default_modify.c:
Added REMOVE_SECTION functionality.
server-tools/instance-manager/IMService.cpp:
Polishing: be more verbose.
server-tools/instance-manager/IMService.h:
Polishing: added copyright.
server-tools/instance-manager/Makefile.am:
Added new files.
server-tools/instance-manager/WindowsService.cpp:
Polishing: according to The Coding Style, TRUE/FALSE must be
used instead of true/false.
server-tools/instance-manager/WindowsService.h:
Polishing: added copyright.
server-tools/instance-manager/command.h:
Polishing: provide a comment for the main operation of "Command" class.
server-tools/instance-manager/commands.cc:
1. Added support for CREATE INSTANCE, DROP INSTANCE statements;
2. Added "deprecated" column in output of SHOW INSTANCE OPTIONS;
3. Modified the behaviour of SET/UNSET, FLUSH INSTANCES statements;
server-tools/instance-manager/commands.h:
1. Added support for CREATE INSTANCE, DROP INSTANCE statements;
2. Added "deprecated" column in output of SHOW INSTANCE OPTIONS;
3. Modified the behaviour of SET/UNSET, FLUSH INSTANCES statements;
server-tools/instance-manager/guardian.cc:
Added operations to retrieve state of managed instances.
server-tools/instance-manager/guardian.h:
Added operations to retrieve state of managed instances.
server-tools/instance-manager/instance.cc:
1. Provided an operation to check validity of instance name.
2. Added an attribute to distiguish mysqld-instances,
whose configuration should be kept backward-compatible.
server-tools/instance-manager/instance.h:
1. Provided an operation to check validity of instance name.
2. Added an attribute to distiguish mysqld-instances,
whose configuration should be kept backward-compatible.
server-tools/instance-manager/instance_map.cc:
1. Used the operation to check validity of instance name;
2. Added operations to manage instances.
server-tools/instance-manager/instance_map.h:
Added operations to manage instances.
server-tools/instance-manager/instance_options.cc:
Changed Instance_options so that it will be possible to manage
options on the fly.
server-tools/instance-manager/instance_options.h:
Changed Instance_options so that it will be possible to manage
options on the fly.
server-tools/instance-manager/listener.cc:
1. Remove reference to the instance of Options;
2. Use new Options naming scheme.
server-tools/instance-manager/listener.h:
Remove reference to the instance of Options;
server-tools/instance-manager/log.cc:
Polishing: use TRUE/FALSE instead of true/false.
server-tools/instance-manager/manager.cc:
Added a common for IM operation to work with configuration file.
server-tools/instance-manager/manager.h:
Added a common for IM operation to work with configuration file.
server-tools/instance-manager/messages.cc:
Added messages for new errors.
server-tools/instance-manager/mysql_connection.cc:
1. Move a constant to common place.
2. Polishing.
server-tools/instance-manager/mysql_manager_error.h:
Added new errors.
server-tools/instance-manager/mysqlmanager.cc:
1. Use error code from Options::load();
2. Eliminate type-casting warning on Windows.
server-tools/instance-manager/options.cc:
Added support for user-management command-line options.
server-tools/instance-manager/options.h:
Added support for user-management command-line options.
server-tools/instance-manager/parse.cc:
1. Added support of new statements:
- CREATE INSTANCE;
- DROP INSTANCE.
2. Modified SET/UNSET.
server-tools/instance-manager/parse.h:
1. Added support of new statements:
- CREATE INSTANCE;
- DROP INSTANCE.
2. Modified SET/UNSET.
server-tools/instance-manager/parse_output.cc:
Sorted out header files.
server-tools/instance-manager/parse_output.h:
Sorted out header files.
server-tools/instance-manager/portability.h:
1. Added constants for Windows.
2. Moved system-dependent defines from instance_options.cc.
server-tools/instance-manager/priv.cc:
Updated version.
server-tools/instance-manager/priv.h:
Added some global constants.
server-tools/instance-manager/protocol.cc:
Replaced NAME_WITH_LENGTH by LEX_STRING.
server-tools/instance-manager/protocol.h:
Replaced NAME_WITH_LENGTH by LEX_STRING.
server-tools/instance-manager/thread_registry.cc:
Polishing: use TRUE/FALSE instead of true/false.
server-tools/instance-manager/user_map.cc:
Added support for managing password database.
server-tools/instance-manager/user_map.h:
Added support for managing password database.
sql/sp.cc:
Replaced LEX_STRING_WITH_INIT by LEX_STRING + struct initialization.
sql/sp_head.cc:
Replaced LEX_STRING_WITH_INIT by LEX_STRING + struct initialization.
sql/spatial.cc:
Removed LEX_STRING_WITH_INIT.
sql/spatial.h:
Removed LEX_STRING_WITH_INIT.
sql/sql_string.h:
Moved STRING_WITH_LEN() macro out from sql (to m_string.h).
sql/sql_trigger.cc:
Moved STRING_WITH_LEN() macro out from sql (to m_string.h).
sql/structs.h:
Removed LEX_STRING_WITH_INIT.
support-files/mysql.server.sh:
Instruct Instance Manager to work in mysqld-safe compatible mode
for backward compatibility.
mysql-test/r/im_cmd_line.result:
Added result file.
mysql-test/r/im_instance_conf.result:
Added result file.
mysql-test/r/im_options.result:
Added result file.
mysql-test/t/im_cmd_line.imtest:
IM command-line options test.
mysql-test/t/im_instance_conf-im.opt:
Set minimal monitoring interval for Instance Manager to speed up testing.
mysql-test/t/im_instance_conf.imtest:
Added a new test case for checking instance-management.
mysql-test/t/im_life_cycle-im.opt:
Set minimal monitoring interval for Instance Manager to speed up testing.
mysql-test/t/im_options.imtest:
Join im_options_set and im_options_unset and add new tests.
mysql-test/t/im_utils-im.opt:
Set minimal monitoring interval for Instance Manager to speed up testing.
server-tools/instance-manager/exit_codes.h:
New file for defining exit codes for user-management mode.
server-tools/instance-manager/user_management_commands.cc:
User-management commands implementation.
server-tools/instance-manager/user_management_commands.h:
User-management command declarations.
- WL#3158: IM: Instance configuration extensions;
- WL#3159: IM: --bootstrap and --start-default-instance modes
The following new statements have been added:
- CREATE INSTANCE;
- DROP INSTANCE;
The behaviour of the following statements have been changed:
- SET;
- UNSET;
- FLUSH INSTANCES;
- SHOW INSTANCES;
- SHOW INSTANCE OPTIONS;
basedir and datadir settings in script may be overwritten by settings
in configuration files. (Bug #12550)
support-files/mysql.server.sh:
Note that basedir, datadir settings can be overwritten by configuration,
and make sbindir and libexecdir distinct from bindir when setting it
based on basedir.
Red Hat Linux (BUG#9444) - we now match the levels used by the MySQL as shipped with Red Hat Linux
(e.g. RHEL3/RHEL4)
support-files/mysql.server.sh:
- adjusted the start and stop priority level for chkconfig on Red Hat Linux (BUG#9444) - we now match
the levels used by the MySQL as shipped with Red Hat Linux (RHEL3/RHEL4)
Use for now safe_mysqld by default. (unless use-manager is set in the [mysql.server] option in my.cnf)
Search first for defaults files in basedir and then in datadir (like mysqld_safe)
support-files/mysql.server.sh:
Set bindir, datadir & others if --basedir is given. This ensures that one only has to set basedir in [mysqld] group when moving a binary installation to a not default polace
Use for now safe_mysqld by default. (unless use-manager is set in the [mysql.server] option in my.cnf)
Search first for defaults files in basedir and then in datadir (like mysqld_safe)
I removed the test for localstatedir as default.c doesn't anymore read defaults files from localstatedir
Use for now safe_mysqld by default. (unless use-manager is set in the [mysql.server] option in my.cnf)
Search first for defaults files in basedir and then in datadir (like mysqld_safe)
mysql-test/t/range.test:
Added more rows to test to get predictable results
(if it still fails, we need to add even more rows)
scripts/make_binary_distribution.sh:
Apply Jims patch for mysql.server
support-files/mysql.server.sh:
Apply Jims patch to support mysqld_safe
scripts/mysql_create_system_tables.sh:
Auto merged
scripts/mysql_fix_privilege_tables.sql:
Auto merged
sql/set_var.cc:
Auto merged
support-files/mysql.server.sh:
Auto merged
sql/ha_ndbcluster.cc:
Merge
sql/handler.cc:
Merge
sql/handler.h:
Merge
sql/mysqld.cc:
Merge
for LSB init functions when they aren't available. (Bug #9852)
support-files/mysql.server.sh:
Use shell function instead of less portable alias command
to create replacements for LSB functions, and also use
argument in our replacements.
mysql-test/r/group_by.result:
Auto merged
ndb/src/kernel/blocks/dbacc/DbaccMain.cpp:
Auto merged
scripts/make_win_src_distribution.sh:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_subselect.h:
Auto merged
sql/sql_select.cc:
Auto merged
ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
merge
sql/item_cmpfunc.cc:
merge
support-files/mysql.server.sh:
merge
wait_for_pid function is fixed to wait for pid removal in "stop".
recomitted with post-review fix
support-files/mysql.server.sh:
wait_for_pid function corrected to work properly with start/stop
mysql-test/r/group_by.result:
Auto merged
mysql-test/r/metadata.result:
Auto merged
mysql-test/r/union.result:
Auto merged
mysql-test/t/union.test:
Auto merged
sql/item.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
support-files/mysql.server.sh:
Auto merged
support-files/mysql.server.sh:
Replace a non-portable "for" loop (bash style, fails on BSD) by an equivalent "while" loop.
Note that the "stop" method is still wrong, as it does not wait for file removal.
Alter RPM to include mysqlmanger binary and config files.
support-files/mysql.server.sh:
mysql start/stop script altered to use mysqlmanager instead of mysqld_safe, novel 'reload' option
was temporarily removed
support-files/mysql.spec.sh:
correct RPM to include mysqlmanager
in the 4.1.10a RPMs for SLES9/RHEL3:
- small improvement: use LSB functions to display startup success and failure, if available.
Fall back to more primitive builtin functions otherwise.
- joined two pieces of code performing the same functionality into one "wait_for_pid" function
- added a "reload" function (LSB requirement)
support-files/mysql.server.sh:
- small improvement: use LSB functions to display startup success and failure, if available.
Fall back to builtin functions otherwise.
- joined two pieces of code performing the same functionality into one "wait_for_pid" function
- added a "reload" function (LSB requirement)
in the 4.1.10a RPMs for SLES9/RHEL3:
- small improvement: use LSB functions to display startup success and failure, if available.
Fall back to more primitive builtin functions otherwise.
- joined two pieces of code performing the same functionality into one "wait_for_pid" function
- added a "reload" function (LSB requirement)