mirror of
https://github.com/MariaDB/server.git
synced 2025-01-15 19:42:28 +01:00
Bug #15327: configure: --with-tcp-port option being partially ignored
make sure that if builder configured with a non-standard (!= 3306) default TCP port that value actually gets used throughout. if they didn't configure a value, assume "use a sensible default", which will be read from /etc/services or, failing that, from the factory default. That makes the order of preference - command-line option - my.cnf, where applicable - $MYSQL_TCP_PORT environment variable - /etc/services (unless configured --with-tcp-port) - default port (--with-tcp-port=... or factory default) client/mysql.cc: Bug #15327: configure: --with-tcp-port option being partially ignored make help on --port a little more clear client/mysql_upgrade.c: Bug #15327: configure: --with-tcp-port option being partially ignored make help on --port a little more clear client/mysqladmin.cc: Bug #15327: configure: --with-tcp-port option being partially ignored make help on --port a little more clear client/mysqlbinlog.cc: Bug #15327: configure: --with-tcp-port option being partially ignored make help on --port a little more clear client/mysqlcheck.c: Bug #15327: configure: --with-tcp-port option being partially ignored make help on --port a little more clear client/mysqldump.c: Bug #15327: configure: --with-tcp-port option being partially ignored make help on --port a little more clear client/mysqlimport.c: Bug #15327: configure: --with-tcp-port option being partially ignored make help on --port a little more clear client/mysqlmanagerc.c: Bug #15327: configure: --with-tcp-port option being partially ignored make help on --port a little more clear configure.in: Bug #15327: configure: --with-tcp-port option being partially ignored If MYSQL_TCP_PORT defaulted in configure (factory default 3306 at the time of this writing), set MYSQL_TCP_PORT to factory default, then clear factory default after. That way, we lose no information, and we can distinguish between "defaulted" and the pathological case "builder specifically configured a port that coincides with factory default." This can in theory happen if builder configures and builds several servers from a script (--with-tcp-port=3306, --with-tcp-port=3316, --with-tcp-port=3326). Not all that probable, but much preferable to having more "magic" happen in the server when we can solve this without any guesswork. client/mysqlshow.c: Bug #15327: configure: --with-tcp-port option being partially ignored make help on --port a little more clear client/mysqltest.c: Bug #15327: configure: --with-tcp-port option being partially ignored make help on --port a little more clear include/mysql_version.h.in: Bug #15327: configure: --with-tcp-port option being partially ignored make factory default for TCP port available as MYSQL_PORT_DEFAULT if build-time configured with a different default. (0 if unchanged) libmysql/libmysql.c: Bug #15327: configure: --with-tcp-port option being partially ignored initialize default tcp port for client, like so: - if user configured --with-tcp-port, use that value as default - otherwise assume "use a good default": search mysqld/tcp in /etc/services; if that doesn't exist, use factory default (3306) - environment variable MYSQL_TCP_PORT overrides this default - command-line option overrides all of the above mysql-test/Makefile.am: Bug #15327: configure: --with-tcp-port option being partially ignored make factory default for TCP port available as MYSQL_TCP_PORT_DEFAULT if build-time configured with a different default. (0 if unchanged) mysql-test/mysql-test-run-shell.sh: Bug #15327: configure: --with-tcp-port option being partially ignored set up MYSQL_TCP_PORT if not already set in environment: - if user configured --with-tcp-port, use that value as default - otherwise assume "use a good default": search mysqld/tcp in /etc/services; if that doesn't exist, use factory default (3306) netware/mysql_test_run.c: Bug #15327: configure: --with-tcp-port option being partially ignored account for non-standard default port-no. configured at build-time netware/mysqld_safe.c: Bug #15327: configure: --with-tcp-port option being partially ignored account for non-standard default port-no. configured at build-time scripts/Makefile.am: Bug #15327: configure: --with-tcp-port option being partially ignored make factory default for TCP port available as MYSQL_TCP_PORT_DEFAULT if build-time configured with a different default. (0 if unchanged) scripts/mysql_config.sh: Bug #15327: configure: --with-tcp-port option being partially ignored set up MYSQL_TCP_PORT if not already set in environment: - if user configured --with-tcp-port, use that value as default - otherwise assume "use a good default": search mysqld/tcp in /etc/services; if that doesn't exist, use factory default (3306) scripts/mysql_fix_privilege_tables.sh: Bug #15327: configure: --with-tcp-port option being partially ignored clarifying notice only scripts/mysqld_safe-watch.sh: Bug #15327: configure: --with-tcp-port option being partially ignored account for non-standard default port-no. configured at build-time server-tools/instance-manager/priv.h: Bug #15327: configure: --with-tcp-port option being partially ignored account for non-standard default port-no. configured at build-time sql/mysqld.cc: Bug #15327: configure: --with-tcp-port option being partially ignored if builder specifically requested a default port, use that (even if it coincides with our factory default). only if they didn't do we check /etc/services (and, failing on that, fall back to the factory default of 3306). either default can be overridden by the environment variable MYSQL_TCP_PORT, which in turn can be overridden with command line options. tests/mysql_client_test.c: Bug #15327: configure: --with-tcp-port option being partially ignored make help on --port a little more clear tests/ssl_test.c: Bug #15327: configure: --with-tcp-port option being partially ignored account for non-standard default port-no. configured at build-time tests/thread_test.c: Bug #15327: configure: --with-tcp-port option being partially ignored make help on --port a little more clear
This commit is contained in:
parent
28ec0efcb6
commit
ee7f125d5f
26 changed files with 176 additions and 30 deletions
|
@ -673,9 +673,14 @@ static struct my_option my_long_options[] =
|
|||
{"pipe", 'W', "Use named pipes to connect to server.", 0, 0, 0, GET_NO_ARG,
|
||||
NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
#endif
|
||||
{"port", 'P', "Port number to use for connection.", (gptr*) &opt_mysql_port,
|
||||
(gptr*) &opt_mysql_port, 0, GET_UINT, REQUIRED_ARG, 0, 0, 0, 0, 0,
|
||||
0},
|
||||
{"port", 'P', "Port number to use for connection or 0 for default to, in "
|
||||
"order of preference, my.cnf, $MYSQL_TCP_PORT, "
|
||||
#if MYSQL_PORT_DEFAULT == 0
|
||||
"/etc/services, "
|
||||
#endif
|
||||
"built-in default (" STRINGIFY_ARG(MYSQL_PORT) ").",
|
||||
(gptr*) &opt_mysql_port,
|
||||
(gptr*) &opt_mysql_port, 0, GET_UINT, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"prompt", OPT_PROMPT, "Set the mysql prompt to this value.",
|
||||
(gptr*) ¤t_prompt, (gptr*) ¤t_prompt, 0, GET_STR_ALLOC,
|
||||
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
|
|
|
@ -88,8 +88,13 @@ static struct my_option my_long_options[]=
|
|||
{"pipe", 'W', "Use named pipes to connect to server.", 0, 0, 0,
|
||||
GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
#endif
|
||||
{"port", 'P', "Port number to use for connection.", 0,
|
||||
0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"port", 'P', "Port number to use for connection or 0 for default to, in "
|
||||
"order of preference, my.cnf, $MYSQL_TCP_PORT, "
|
||||
#if MYSQL_PORT_DEFAULT == 0
|
||||
"/etc/services, "
|
||||
#endif
|
||||
"built-in default (" STRINGIFY_ARG(MYSQL_PORT) ").",
|
||||
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"protocol", OPT_MYSQL_PROTOCOL,
|
||||
"The protocol of connection (tcp,socket,pipe,memory).",
|
||||
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
|
|
|
@ -159,7 +159,13 @@ static struct my_option my_long_options[] =
|
|||
{"pipe", 'W', "Use named pipes to connect to server.", 0, 0, 0, GET_NO_ARG,
|
||||
NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
#endif
|
||||
{"port", 'P', "Port number to use for connection.", (gptr*) &tcp_port,
|
||||
{"port", 'P', "Port number to use for connection or 0 for default to, in "
|
||||
"order of preference, my.cnf, $MYSQL_TCP_PORT, "
|
||||
#if MYSQL_PORT_DEFAULT == 0
|
||||
"/etc/services, "
|
||||
#endif
|
||||
"built-in default (" STRINGIFY_ARG(MYSQL_PORT) ").",
|
||||
(gptr*) &tcp_port,
|
||||
(gptr*) &tcp_port, 0, GET_UINT, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"protocol", OPT_MYSQL_PROTOCOL, "The protocol of connection (tcp,socket,pipe,memory).",
|
||||
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
|
|
|
@ -687,9 +687,14 @@ static struct my_option my_long_options[] =
|
|||
0, GET_ULL, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"password", 'p', "Password to connect to remote server.",
|
||||
0, 0, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"port", 'P', "Use port to connect to the remote server.",
|
||||
(gptr*) &port, (gptr*) &port, 0, GET_INT, REQUIRED_ARG, 0, 0, 0,
|
||||
0, 0, 0},
|
||||
{"port", 'P', "Port number to use for connection or 0 for default to, in "
|
||||
"order of preference, my.cnf, $MYSQL_TCP_PORT, "
|
||||
#if MYSQL_PORT_DEFAULT == 0
|
||||
"/etc/services, "
|
||||
#endif
|
||||
"built-in default (" STRINGIFY_ARG(MYSQL_PORT) ").",
|
||||
(gptr*) &port, (gptr*) &port, 0, GET_INT, REQUIRED_ARG,
|
||||
0, 0, 0, 0, 0, 0},
|
||||
{"position", 'j', "Deprecated. Use --start-position instead.",
|
||||
(gptr*) &start_position, (gptr*) &start_position, 0, GET_ULL,
|
||||
REQUIRED_ARG, BIN_LOG_HEADER_SIZE, BIN_LOG_HEADER_SIZE,
|
||||
|
|
|
@ -123,7 +123,13 @@ static struct my_option my_long_options[] =
|
|||
{"pipe", 'W', "Use named pipes to connect to server.", 0, 0, 0, GET_NO_ARG,
|
||||
NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
#endif
|
||||
{"port", 'P', "Port number to use for connection.", (gptr*) &opt_mysql_port,
|
||||
{"port", 'P', "Port number to use for connection or 0 for default to, in "
|
||||
"order of preference, my.cnf, $MYSQL_TCP_PORT, "
|
||||
#if MYSQL_PORT_DEFAULT == 0
|
||||
"/etc/services, "
|
||||
#endif
|
||||
"built-in default (" STRINGIFY_ARG(MYSQL_PORT) ").",
|
||||
(gptr*) &opt_mysql_port,
|
||||
(gptr*) &opt_mysql_port, 0, GET_UINT, REQUIRED_ARG, 0, 0, 0, 0, 0,
|
||||
0},
|
||||
{"protocol", OPT_MYSQL_PROTOCOL, "The protocol of connection (tcp,socket,pipe,memory).",
|
||||
|
|
|
@ -361,7 +361,13 @@ static struct my_option my_long_options[] =
|
|||
{"pipe", 'W', "Use named pipes to connect to server.", 0, 0, 0, GET_NO_ARG,
|
||||
NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
#endif
|
||||
{"port", 'P', "Port number to use for connection.", (gptr*) &opt_mysql_port,
|
||||
{"port", 'P', "Port number to use for connection or 0 for default to, in "
|
||||
"order of preference, my.cnf, $MYSQL_TCP_PORT, "
|
||||
#if MYSQL_PORT_DEFAULT == 0
|
||||
"/etc/services, "
|
||||
#endif
|
||||
"built-in default (" STRINGIFY_ARG(MYSQL_PORT) ").",
|
||||
(gptr*) &opt_mysql_port,
|
||||
(gptr*) &opt_mysql_port, 0, GET_UINT, REQUIRED_ARG, 0, 0, 0, 0, 0,
|
||||
0},
|
||||
{"protocol", OPT_MYSQL_PROTOCOL, "The protocol of connection (tcp,socket,pipe,memory).",
|
||||
|
|
|
@ -119,7 +119,13 @@ static struct my_option my_long_options[] =
|
|||
{"pipe", 'W', "Use named pipes to connect to server.", 0, 0, 0, GET_NO_ARG,
|
||||
NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
#endif
|
||||
{"port", 'P', "Port number to use for connection.", (gptr*) &opt_mysql_port,
|
||||
{"port", 'P', "Port number to use for connection or 0 for default to, in "
|
||||
"order of preference, my.cnf, $MYSQL_TCP_PORT, "
|
||||
#if MYSQL_PORT_DEFAULT == 0
|
||||
"/etc/services, "
|
||||
#endif
|
||||
"built-in default (" STRINGIFY_ARG(MYSQL_PORT) ").",
|
||||
(gptr*) &opt_mysql_port,
|
||||
(gptr*) &opt_mysql_port, 0, GET_UINT, REQUIRED_ARG, 0, 0, 0, 0, 0,
|
||||
0},
|
||||
{"protocol", OPT_MYSQL_PROTOCOL, "The protocol of connection (tcp,socket,pipe,memory).",
|
||||
|
|
|
@ -49,7 +49,12 @@ static struct my_option my_long_options[] =
|
|||
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"password", 'p', "Password to use when connecting to server.",
|
||||
0, 0, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"port", 'P', "Port number to use for connection.", (gptr*) &port,
|
||||
{"port", 'P', "Port number to use for connection or 0 for default to, in "
|
||||
"order of preference, my.cnf, $MYSQL_TCP_PORT, "
|
||||
#if MYSQL_PORT_DEFAULT == 0
|
||||
"/etc/services, "
|
||||
#endif
|
||||
"built-in default (" STRINGIFY_ARG(MYSQL_PORT) ").", (gptr*) &port,
|
||||
(gptr*) &port, 0, GET_UINT, REQUIRED_ARG, MYSQL_MANAGER_PORT, 0, 0, 0, 0,
|
||||
0},
|
||||
{"help", '?', "Display this help and exit.", 0, 0, 0, GET_NO_ARG, NO_ARG,
|
||||
|
|
|
@ -188,7 +188,13 @@ static struct my_option my_long_options[] =
|
|||
{"password", 'p',
|
||||
"Password to use when connecting to server. If password is not given it's asked from the tty.",
|
||||
0, 0, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"port", 'P', "Port number to use for connection.", (gptr*) &opt_mysql_port,
|
||||
{"port", 'P', "Port number to use for connection or 0 for default to, in "
|
||||
"order of preference, my.cnf, $MYSQL_TCP_PORT, "
|
||||
#if MYSQL_PORT_DEFAULT == 0
|
||||
"/etc/services, "
|
||||
#endif
|
||||
"built-in default (" STRINGIFY_ARG(MYSQL_PORT) ").",
|
||||
(gptr*) &opt_mysql_port,
|
||||
(gptr*) &opt_mysql_port, 0, GET_UINT, REQUIRED_ARG, 0, 0, 0, 0, 0,
|
||||
0},
|
||||
#ifdef __WIN__
|
||||
|
|
|
@ -4512,7 +4512,13 @@ static struct my_option my_long_options[] =
|
|||
GET_INT, REQUIRED_ARG, 500, 1, 10000, 0, 0, 0},
|
||||
{"password", 'p', "Password to use when connecting to server.",
|
||||
0, 0, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"port", 'P', "Port number to use for connection.", (gptr*) &opt_port,
|
||||
{"port", 'P', "Port number to use for connection or 0 for default to, in "
|
||||
"order of preference, my.cnf, $MYSQL_TCP_PORT, "
|
||||
#if MYSQL_PORT_DEFAULT == 0
|
||||
"/etc/services, "
|
||||
#endif
|
||||
"built-in default (" STRINGIFY_ARG(MYSQL_PORT) ").",
|
||||
(gptr*) &opt_port,
|
||||
(gptr*) &opt_port, 0, GET_INT, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"ps-protocol", OPT_PS_PROTOCOL, "Use prepared statements protocol for communication",
|
||||
(gptr*) &ps_protocol, (gptr*) &ps_protocol, 0,
|
||||
|
|
29
configure.in
29
configure.in
|
@ -710,7 +710,34 @@ AC_ARG_WITH(tcp-port,
|
|||
[ --with-tcp-port=port-number
|
||||
Which port to use for MySQL services (default 3306)],
|
||||
[ MYSQL_TCP_PORT=$withval ],
|
||||
[ MYSQL_TCP_PORT=$MYSQL_TCP_PORT_DEFAULT ]
|
||||
[ MYSQL_TCP_PORT=$MYSQL_TCP_PORT_DEFAULT
|
||||
# if we actually defaulted (as opposed to the pathological case of
|
||||
# --with-tcp-port=<MYSQL_TCP_PORT_DEFAULT> which might in theory
|
||||
# happen if whole batch of servers was built from a script), set
|
||||
# the default to zero to indicate that; we don't lose information
|
||||
# that way, because 0 obviously indicates that we can get the
|
||||
# default value from MYSQL_TCP_PORT. this seems really evil, but
|
||||
# testing for MYSQL_TCP_PORT==MYSQL_TCP_PORT_DEFAULT would make a
|
||||
# a port of MYSQL_TCP_PORT_DEFAULT magic even if the builder did not
|
||||
# intend it to mean "use the default, in fact, look up a good default
|
||||
# from /etc/services if you can", but really, really meant 3306 when
|
||||
# they passed in 3306. When they pass in a specific value, let them
|
||||
# have it; don't second guess user and think we know better, this will
|
||||
# just make people cross. this makes the the logic work like this
|
||||
# (which is complicated enough):
|
||||
#
|
||||
# - if a port was set during build, use that as a default.
|
||||
#
|
||||
# - otherwise, try to look up a port in /etc/services; if that fails,
|
||||
# use MYSQL_TCP_PORT_DEFAULT (at the time of this writing 3306)
|
||||
#
|
||||
# - allow the MYSQL_TCP_PORT environment variable to override that.
|
||||
#
|
||||
# - allow command-line parameters to override all of the above.
|
||||
#
|
||||
# the top-most MYSQL_TCP_PORT_DEFAULT is read from win/configure.js,
|
||||
# so don't mess with that.
|
||||
MYSQL_TCP_PORT_DEFAULT=0 ]
|
||||
)
|
||||
AC_SUBST(MYSQL_TCP_PORT)
|
||||
# We might want to document the assigned port in the manual.
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
#define FRM_VER @DOT_FRM_VERSION@
|
||||
#define MYSQL_VERSION_ID @MYSQL_VERSION_ID@
|
||||
#define MYSQL_PORT @MYSQL_TCP_PORT@
|
||||
#define MYSQL_PORT_DEFAULT @MYSQL_TCP_PORT_DEFAULT@
|
||||
#define MYSQL_UNIX_ADDR "@MYSQL_UNIX_ADDR@"
|
||||
#define MYSQL_CONFIG_NAME "my"
|
||||
#define MYSQL_COMPILATION_COMMENT "@COMPILATION_COMMENT@"
|
||||
|
|
|
@ -133,10 +133,23 @@ int STDCALL mysql_server_init(int argc __attribute__((unused)),
|
|||
{
|
||||
struct servent *serv_ptr;
|
||||
char *env;
|
||||
if ((serv_ptr = getservbyname("mysql", "tcp")))
|
||||
mysql_port = (uint) ntohs((ushort) serv_ptr->s_port);
|
||||
if ((env = getenv("MYSQL_TCP_PORT")))
|
||||
mysql_port =(uint) atoi(env);
|
||||
|
||||
/*
|
||||
if builder specifically requested a default port, use that
|
||||
(even if it coincides with our factory default).
|
||||
only if they didn't do we check /etc/services (and, failing
|
||||
on that, fall back to the factory default of 3306).
|
||||
either default can be overridden by the environment variable
|
||||
MYSQL_TCP_PORT, which in turn can be overridden with command
|
||||
line options.
|
||||
*/
|
||||
|
||||
#if MYSQL_PORT_DEFAULT == 0
|
||||
if ((serv_ptr = getservbyname("mysql", "tcp")))
|
||||
mysql_port = (uint) ntohs((ushort) serv_ptr->s_port);
|
||||
#endif
|
||||
if ((env = getenv("MYSQL_TCP_PORT")))
|
||||
mysql_port =(uint) atoi(env);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
|
|
@ -147,6 +147,7 @@ SUFFIXES = .sh
|
|||
-e 's!@''PERL''@!@PERL@!' \
|
||||
-e 's!@''VERSION''@!@VERSION@!' \
|
||||
-e 's!@''MYSQL_TCP_PORT''@!@MYSQL_TCP_PORT@!' \
|
||||
-e 's!@''MYSQL_TCP_PORT_DEFAULT''@!@MYSQL_TCP_PORT_DEFAULT@!' \
|
||||
-e 's!@''MYSQL_BASE_VERSION''@!@MYSQL_BASE_VERSION@!' \
|
||||
-e 's!@''MYSQL_UNIX_ADDR''@!@MYSQL_UNIX_ADDR@!' \
|
||||
-e 's!@''MYSQL_TCP_PORT''@!@MYSQL_TCP_PORT@!' \
|
||||
|
|
|
@ -17,7 +17,16 @@ USE_MANAGER=0
|
|||
MY_TZ=GMT-3
|
||||
TZ=$MY_TZ; export TZ # for UNIX_TIMESTAMP tests to work
|
||||
LOCAL_SOCKET=@MYSQL_UNIX_ADDR@
|
||||
MYSQL_TCP_PORT=@MYSQL_TCP_PORT@
|
||||
|
||||
if [ -z "$MYSQL_TCP_PORT" ]; then
|
||||
MYSQL_TCP_PORT=@MYSQL_TCP_PORT@
|
||||
if [ @MYSQL_TCP_PORT_DEFAULT@ -eq 0 ]; then
|
||||
ESP=`getent services mysql/tcp`
|
||||
if [ $? -eq 0 ]; then
|
||||
MYSQL_TCP_PORT=`echo "$ESP"|sed -e's-^[a-z]*[ ]*\([0-9]*\)/[a-z]*$-\1-g'`
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
umask 022
|
||||
|
||||
|
|
|
@ -1170,7 +1170,8 @@ void setup(char *file)
|
|||
setenv("MYSQL_BINLOG", file_path, 1);
|
||||
setenv("MASTER_MYPORT", "9306", 1);
|
||||
setenv("SLAVE_MYPORT", "9307", 1);
|
||||
setenv("MYSQL_TCP_PORT", "3306", 1);
|
||||
snprintf(file_path, PATH_MAX*2, "%d", MYSQL_PORT);
|
||||
setenv("MYSQL_TCP_PORT", file_path, 1);
|
||||
snprintf(file_path, PATH_MAX*2, "%s/mysql_client_test --no-defaults --testcase--user=root --port=%u ", bin_dir, master_port);
|
||||
setenv("MYSQL_CLIENT_TEST",file_path,1);
|
||||
snprintf(file_path, PATH_MAX*2, "%s/mysql --no-defaults --user=root --port=%u ", bin_dir, master_port);
|
||||
|
|
|
@ -189,7 +189,7 @@ void start_defaults(int argc, char *argv[])
|
|||
snprintf(address, PATH_MAX, "0.0.0.0");
|
||||
|
||||
// port
|
||||
snprintf(port, PATH_MAX, "3306");
|
||||
snprintf(port, PATH_MAX, "%d", MYSQL_PORT);
|
||||
|
||||
// default option
|
||||
default_option[0]= NULL;
|
||||
|
|
|
@ -174,6 +174,7 @@ SUFFIXES = .sh
|
|||
-e 's!@''MYSQLD_DEFAULT_SWITCHES''@!@MYSQLD_DEFAULT_SWITCHES@!' \
|
||||
-e 's!@''MYSQL_UNIX_ADDR''@!@MYSQL_UNIX_ADDR@!' \
|
||||
-e 's!@''MYSQL_TCP_PORT''@!@MYSQL_TCP_PORT@!' \
|
||||
-e 's!@''MYSQL_TCP_PORT_DEFAULT''@!@MYSQL_TCP_PORT_DEFAULT@!' \
|
||||
-e 's!@''TARGET_LINUX''@!@TARGET_LINUX@!' \
|
||||
-e "s!@""CONF_COMMAND""@!@CONF_COMMAND@!" \
|
||||
-e 's!@''MYSQLD_USER''@!@MYSQLD_USER@!' \
|
||||
|
|
|
@ -92,9 +92,14 @@ fix_path pkgincludedir include/mysql include
|
|||
|
||||
version='@VERSION@'
|
||||
socket='@MYSQL_UNIX_ADDR@'
|
||||
port='@MYSQL_TCP_PORT@'
|
||||
ldflags='@LDFLAGS@'
|
||||
|
||||
if [ @MYSQL_TCP_PORT_DEFAULT@ -eq 0 ]; then
|
||||
port=0
|
||||
else
|
||||
port=@MYSQL_TCP_PORT@
|
||||
fi
|
||||
|
||||
# Create options
|
||||
# We intentionally add a space to the beginning and end of lib strings, simplifies replace later
|
||||
libs=" $ldflags -L$pkglibdir -lmysqlclient @ZLIB_DEPS@ @NON_THREADED_LIBS@"
|
||||
|
|
|
@ -25,6 +25,7 @@ sql_only=0
|
|||
basedir="@prefix@"
|
||||
verbose=0
|
||||
args=""
|
||||
# no elaborate fallback here; with no argument, it will happen in "mysql"
|
||||
port=""
|
||||
socket=""
|
||||
database="mysql"
|
||||
|
|
|
@ -66,7 +66,7 @@ fi
|
|||
echo "Starting mysqld demon with databases from $DATADIR"
|
||||
|
||||
#Default communication ports
|
||||
#MYSQL_TCP_PORT=3306
|
||||
#MYSQL_TCP_PORT=@MYSQL_TCP_PORT@
|
||||
if test -z "$MYSQL_UNIX_PORT"
|
||||
then
|
||||
MYSQL_UNIX_PORT="/tmp/mysql.sock"
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
#include "my_pthread.h"
|
||||
|
||||
/* IM-wide platform-independent defines */
|
||||
#define SERVER_DEFAULT_PORT 3306
|
||||
#define SERVER_DEFAULT_PORT MYSQL_PORT
|
||||
#define DEFAULT_MONITORING_INTERVAL 20
|
||||
#define DEFAULT_PORT 2273
|
||||
/* three-week timeout should be enough */
|
||||
|
|
|
@ -1300,8 +1300,21 @@ static void set_ports()
|
|||
{ // Get port if not from commandline
|
||||
struct servent *serv_ptr;
|
||||
mysqld_port= MYSQL_PORT;
|
||||
|
||||
/*
|
||||
if builder specifically requested a default port, use that
|
||||
(even if it coincides with our factory default).
|
||||
only if they didn't do we check /etc/services (and, failing
|
||||
on that, fall back to the factory default of 3306).
|
||||
either default can be overridden by the environment variable
|
||||
MYSQL_TCP_PORT, which in turn can be overridden with command
|
||||
line options.
|
||||
*/
|
||||
|
||||
#if MYSQL_PORT_DEFAULT == 0
|
||||
if ((serv_ptr= getservbyname("mysql", "tcp")))
|
||||
mysqld_port= ntohs((u_short) serv_ptr->s_port); /* purecov: inspected */
|
||||
#endif
|
||||
if ((env = getenv("MYSQL_TCP_PORT")))
|
||||
mysqld_port= (uint) atoi(env); /* purecov: inspected */
|
||||
}
|
||||
|
@ -5399,7 +5412,13 @@ Disable with --skip-ndbcluster (will save memory).",
|
|||
{"pid-file", OPT_PID_FILE, "Pid file used by safe_mysqld.",
|
||||
(gptr*) &pidfile_name_ptr, (gptr*) &pidfile_name_ptr, 0, GET_STR,
|
||||
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"port", 'P', "Port number to use for connection.", (gptr*) &mysqld_port,
|
||||
{"port", 'P', "Port number to use for connection or 0 for default to, in "
|
||||
"order of preference, my.cnf, $MYSQL_TCP_PORT, "
|
||||
#if MYSQL_PORT_DEFAULT == 0
|
||||
"/etc/services, "
|
||||
#endif
|
||||
"built-in default (" STRINGIFY_ARG(MYSQL_PORT) ").",
|
||||
(gptr*) &mysqld_port,
|
||||
(gptr*) &mysqld_port, 0, GET_UINT, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"port-open-timeout", OPT_PORT_OPEN_TIMEOUT,
|
||||
"Maximum time in seconds to wait for the port to become free. "
|
||||
|
|
|
@ -15759,7 +15759,13 @@ static struct my_option client_test_long_options[] =
|
|||
{"password", 'p',
|
||||
"Password to use when connecting to server. If password is not given it's asked from the tty.",
|
||||
0, 0, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"port", 'P', "Port number to use for connection", (char **) &opt_port,
|
||||
{"port", 'P', "Port number to use for connection or 0 for default to, in "
|
||||
"order of preference, my.cnf, $MYSQL_TCP_PORT, "
|
||||
#if MYSQL_PORT_DEFAULT == 0
|
||||
"/etc/services, "
|
||||
#endif
|
||||
"built-in default (" STRINGIFY_ARG(MYSQL_PORT) ").",
|
||||
(char **) &opt_port,
|
||||
(char **) &opt_port, 0, GET_UINT, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"server-arg", 'A', "Send embedded server this as a parameter.",
|
||||
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
|
|
|
@ -44,7 +44,7 @@ int main(int argc, char **argv)
|
|||
"../SSL/MySQL-client-cert.pem",
|
||||
"../SSL/MySQL-ca-cert.pem", 0, 0);
|
||||
#endif
|
||||
if (!(sock = mysql_real_connect(&mysql,"127.0.0.1",0,0,argv[1],3306,NULL,0)))
|
||||
if (!(sock = mysql_real_connect(&mysql,"127.0.0.1",0,0,argv[1],MYSQL_PORT,NULL,0)))
|
||||
{
|
||||
fprintf(stderr,"Couldn't connect to engine!\n%s\n\n",mysql_error(&mysql));
|
||||
perror("");
|
||||
|
|
|
@ -103,7 +103,13 @@ static struct my_option my_long_options[] =
|
|||
(gptr*) &verbose, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"query", 'Q', "Query to execute in each threads", (gptr*) &query,
|
||||
(gptr*) &query, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"port", 'P', "Port number to use for connection", (gptr*) &tcp_port,
|
||||
{"port", 'P', "Port number to use for connection or 0 for default to, in "
|
||||
"order of preference, my.cnf, $MYSQL_TCP_PORT, "
|
||||
#if MYSQL_PORT_DEFAULT == 0
|
||||
"/etc/services, "
|
||||
#endif
|
||||
"built-in default (" STRINGIFY_ARG(MYSQL_PORT) ").",
|
||||
(gptr*) &tcp_port,
|
||||
(gptr*) &tcp_port, 0, GET_UINT, REQUIRED_ARG, MYSQL_PORT, 0, 0, 0, 0, 0},
|
||||
{"socket", 'S', "Socket file to use for connection", (gptr*) &unix_socket,
|
||||
(gptr*) &unix_socket, 0, GET_STR_ALLOC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
|
|
Loading…
Reference in a new issue