1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-05 12:42:17 +03:00
Commit Graph

186 Commits

Author SHA1 Message Date
f50bf87281 Bug#25341: "init.d/mysql stop" may timeout too quickly
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.
2007-01-31 15:39:41 -05:00
24e3508b0e Bug#25341: "init.d/mysql stop" may timeout too quickly
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.
2007-01-31 15:39:41 -05:00
0aad12d99e Merge neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
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
2006-11-17 14:45:08 +01:00
dc9c3b5ad6 Merge neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
into  neptunus.(none):/home/msvensson/mysql/mysql-5.1-new-maint
2006-11-17 14:45:08 +01:00
ca70077736 This command is not portable, as POSIX does not require it; use . instead.
(Bug #24294)
2006-11-16 23:39:02 +01:00
f4e097420a This command is not portable, as POSIX does not require it; use . instead.
(Bug #24294)
2006-11-16 23:39:02 +01:00
54b38dd6b5 Merge mysql.com:/M50/bug19353-5.0 into mysql.com:/M51/bug19353-5.1
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
2006-06-22 12:22:52 +02:00
5eea972046 Merge mysql.com:/M50/bug19353-5.0 into mysql.com:/M51/bug19353-5.1 2006-06-22 12:22:52 +02:00
99740b3fb0 Fix for bug#18516 (also #19353, reported for 5.1):
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.
2006-06-20 22:40:46 +02:00
27df8b07b7 Fix for bug#18516 (also #19353, reported for 5.1):
In addition to include "mysql_upgrade" in a RPM, it should also be called
when the RPM is upgraded.
2006-06-20 22:40:46 +02:00
c7c3f42362 Merge mysql.com:/M50/bug18810-5.0 into mysql.com:/M51/bug18810-5.1
support-files/mysql.server.sh:
  Auto merged
2006-06-14 18:16:35 +02:00
075bb7faf2 Merge mysql.com:/M50/bug18810-5.0 into mysql.com:/M51/bug18810-5.1 2006-06-14 18:16:35 +02:00
82787a39c5 Merge mysql.com:/M41/bug18810-4.1 into mysql.com:/M50/bug18810-5.0
support-files/mysql.server.sh:
  Auto merged
2006-06-14 18:13:36 +02:00
6448fca67a Merge mysql.com:/M41/bug18810-4.1 into mysql.com:/M50/bug18810-5.0 2006-06-14 18:13:36 +02:00
f10fa9711b support-files/mysql.server.sh : Fix the startup sequence. bug#18810 + bug#20118
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
2006-06-14 16:54:54 +02:00
054cc44ede support-files/mysql.server.sh : Fix the startup sequence. bug#18810 + bug#20118 2006-06-14 16:54:54 +02:00
8b4fcf6e3b This is an implementation of two WL items:
- 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.
2006-05-18 18:57:50 +04:00
c1113af15c This is an implementation of two WL items:
- 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;
2006-05-18 18:57:50 +04:00
caa16cbfe7 Fix for Bug #16240
support-files/mysql.server.sh:
  Fixed so that if the datadir has been set via the command line,
  it won't be reset by specifing the basedir after.
2006-04-06 10:13:46 -07:00
84bfed689d Fix for Bug #16240 2006-04-06 10:13:46 -07:00
910052c18f Datadir variable should not be reset, if it was
set in this script.
2005-12-14 02:01:54 +02:00
3069276592 Datadir variable should not be reset, if it was
set in this script.
2005-12-14 02:01:54 +02:00
7ac71fe4c2 Fix handling of libexecdir and sbindir in mysql.server, and note that
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.
2005-08-26 12:02:06 -07:00
e2643c2942 Fix handling of libexecdir and sbindir in mysql.server, and note that
basedir and datadir settings in script may be overwritten by settings
in configuration files. (Bug #12550)
2005-08-26 12:02:06 -07:00
e6a66a6afd Merge mysql.com:/space/my/mysql-4.1-bug9444
into mysql.com:/space/my/mysql-5.0


support-files/mysql.server.sh:
  Auto merged
2005-05-04 15:00:18 +02:00
e4907dcdb7 Merge mysql.com:/space/my/mysql-4.1-bug9444
into mysql.com:/space/my/mysql-5.0
2005-05-04 15:00:18 +02:00
40042ccc6b - adjusted the start and stop priority level in the mysql.server init script for chkconfig on
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)
2005-05-04 14:58:43 +02:00
59930b6e84 - adjusted the start and stop priority level in the mysql.server init script for chkconfig on
Red Hat Linux (BUG#9444) - we now match the levels used by the MySQL as shipped with Red Hat Linux
  (e.g. RHEL3/RHEL4)
2005-05-04 14:58:43 +02:00
ca66271141 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)


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
2005-04-16 11:40:41 +03:00
0c03aea1aa 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)
2005-04-16 11:40:41 +03:00
48faa137af Added more rows to test to get predictable results
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
2005-04-16 10:53:30 +03:00
de1b1fe54d Added more rows to test to get predictable results 2005-04-16 10:53:30 +03:00
2be63528bc Merge with 4.1
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
2005-04-16 04:35:54 +03:00
c8170b349f Merge with 4.1 2005-04-16 04:35:54 +03:00
65e4b8ff3b Fix mysql.server.sh to use shell functions as replacement
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.
2005-04-14 17:22:18 -07:00
5e581186a4 Fix mysql.server.sh to use shell functions as replacement
for LSB init functions when they aren't available. (Bug #9852)
2005-04-14 17:22:18 -07:00
cb1bdf4d84 Merge
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
2005-04-01 10:13:37 +02:00
5b9bd8c0c8 Merge 2005-04-01 10:13:37 +02:00
dbbe069019 Bug #9507 /etc/init.d/mysql script does not stop mysqld correctly
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
2005-03-31 14:25:03 +04:00
8f5029b42c Bug #9507 /etc/init.d/mysql script does not stop mysqld correctly
wait_for_pid function is fixed to wait for pid removal in "stop".
recomitted with post-review fix
2005-03-31 14:25:03 +04:00
8a898a0b72 merge 4.1->5.0
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
2005-03-31 10:39:48 +03:00
05d4ed14e4 merge 4.1->5.0 2005-03-31 10:39:48 +03:00
890aa5b258 Portability fix (avoid bash-ism).
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.
2005-03-30 18:38:54 +02:00
1314c4aaee Portability fix (avoid bash-ism). 2005-03-30 18:38:54 +02:00
21c8383440 IM setup patch. Enable IM instead of mysqld_safe in start/stop script.
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
2005-03-15 22:51:13 +03:00
28bf536411 IM setup patch. Enable IM instead of mysqld_safe in start/stop script.
Alter RPM to include mysqlmanger binary and config files.
2005-03-15 22:51:13 +03:00
7031cea471 Merge mysql.com:/space/my/mysql-4.1-build
into mysql.com:/space/my/mysql-5.0


support-files/mysql.server.sh:
  Auto merged
2005-03-15 12:28:43 +01:00
945aad6b49 Merge mysql.com:/space/my/mysql-4.1-build
into mysql.com:/space/my/mysql-5.0
2005-03-15 12:28:43 +01:00
39005884b5 Applied some changes to the mysql.server init script that are already shipped as an additional patch
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)
2005-03-15 12:23:14 +01:00
2714f176fb Applied some changes to the mysql.server init script that are already shipped as an additional patch
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)
2005-03-15 12:23:14 +01:00