3006
3088
OPT_ENABLE_LARGE_PAGES,
3007
3089
OPT_TIMED_MUTEXES,
3008
3090
OPT_OLD_STYLE_USER_LIMITS,
3091
OPT_LOG_SLOW_ADMIN_STATEMENTS,
3009
3092
OPT_TABLE_LOCK_WAIT_TIMEOUT,
3010
3093
OPT_PLUGIN_LOAD,
3011
3094
OPT_PLUGIN_DIR,
3012
3096
OPT_PORT_OPEN_TIMEOUT,
3014
3098
OPT_KEEP_FILES_ON_CREATE,
3015
3099
OPT_GENERAL_LOG,
3016
3101
OPT_THREAD_HANDLING,
3017
3102
OPT_INNODB_ROLLBACK_ON_TIMEOUT,
3018
3103
OPT_SECURE_FILE_PRIV,
3019
3104
OPT_MIN_EXAMINED_ROW_LIMIT,
3105
OPT_LOG_SLOW_SLAVE_STATEMENTS,
3021
3107
OPT_POOL_OF_THREADS,
3022
3108
OPT_SLAVE_EXEC_MODE
3026
#define LONG_TIMEOUT ((uint32_t) 3600L*24L*365L)
3112
#define LONG_TIMEOUT ((ulong) 3600L*24L*365L)
3028
3114
struct my_option my_long_options[] =
3030
{"help", '?', N_("Display this help and exit."),
3116
{"help", '?', "Display this help and exit.",
3031
3117
(char**) &opt_help, (char**) &opt_help, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0,
3033
3119
{"abort-slave-event-count", OPT_ABORT_SLAVE_EVENT_COUNT,
3034
N_("Option used by mysql-test for debugging and testing of replication."),
3120
"Option used by mysql-test for debugging and testing of replication.",
3035
3121
(char**) &abort_slave_event_count, (char**) &abort_slave_event_count,
3036
3122
0, GET_INT, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
3123
{"ansi", 'a', "Use ANSI SQL syntax instead of MySQL syntax. This mode will also set transaction isolation level 'serializable'.", 0, 0, 0,
3124
GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
3037
3125
{"auto-increment-increment", OPT_AUTO_INCREMENT,
3038
N_("Auto-increment columns are incremented by this"),
3126
"Auto-increment columns are incremented by this",
3039
3127
(char**) &global_system_variables.auto_increment_increment,
3040
3128
(char**) &max_system_variables.auto_increment_increment, 0, GET_ULONG,
3041
3129
OPT_ARG, 1, 1, 65535, 0, 1, 0 },
3042
3130
{"auto-increment-offset", OPT_AUTO_INCREMENT_OFFSET,
3043
N_("Offset added to Auto-increment columns. Used when "
3044
"auto-increment-increment != 1"),
3131
"Offset added to Auto-increment columns. Used when auto-increment-increment != 1",
3045
3132
(char**) &global_system_variables.auto_increment_offset,
3046
3133
(char**) &max_system_variables.auto_increment_offset, 0, GET_ULONG, OPT_ARG,
3047
3134
1, 1, 65535, 0, 1, 0 },
3048
3135
{"basedir", 'b',
3049
N_("Path to installation directory. All paths are usually resolved "
3050
"relative to this."),
3136
"Path to installation directory. All paths are usually resolved relative to this.",
3051
3137
(char**) &mysql_home_ptr, (char**) &mysql_home_ptr, 0, GET_STR, REQUIRED_ARG,
3052
3138
0, 0, 0, 0, 0, 0},
3053
{"bind-address", OPT_BIND_ADDRESS, N_("IP address to bind to."),
3139
{"big-tables", OPT_BIG_TABLES,
3140
"Allow big result sets by saving all temporary sets on file (Solves most 'table full' errors).",
3141
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
3142
{"bind-address", OPT_BIND_ADDRESS, "IP address to bind to.",
3054
3143
(char**) &my_bind_addr_str, (char**) &my_bind_addr_str, 0, GET_STR,
3055
3144
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
3056
3145
{"binlog_format", OPT_BINLOG_FORMAT,
3057
N_("Does not have any effect without '--log-bin'. "
3058
"Tell the master the form of binary logging to use: either 'row' for "
3059
"row-based binary logging, or 'statement' for statement-based binary "
3060
"logging, or 'mixed'. 'mixed' is statement-based binary logging except "
3061
"for those statements where only row-based is correct: those which "
3062
"involve user-defined functions (i.e. UDFs) or the UUID() function; for "
3063
"those, row-based binary logging is automatically used. ")
3146
"Does not have any effect without '--log-bin'. "
3147
"Tell the master the form of binary logging to use: either 'row' for "
3148
"row-based binary logging, or 'statement' for statement-based binary "
3149
"logging, or 'mixed'. 'mixed' is statement-based binary logging except "
3150
"for those statements where only row-based is correct: those which "
3151
"involve user-defined functions (i.e. UDFs) or the UUID() function; for "
3152
"those, row-based binary logging is automatically used. "
3064
3153
,(char**) &opt_binlog_format, (char**) &opt_binlog_format,
3065
3154
0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
3066
3155
{"binlog-do-db", OPT_BINLOG_DO_DB,
3067
N_("Tells the master it should log updates for the specified database, and "
3068
"exclude all others not explicitly mentioned."),
3156
"Tells the master it should log updates for the specified database, and exclude all others not explicitly mentioned.",
3069
3157
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
3070
3158
{"binlog-ignore-db", OPT_BINLOG_IGNORE_DB,
3071
N_("Tells the master that updates to the given database should not "
3072
"be logged tothe binary log."),
3159
"Tells the master that updates to the given database should not be logged tothe binary log.",
3073
3160
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
3074
3161
{"binlog-row-event-max-size", OPT_BINLOG_ROWS_EVENT_MAX_SIZE,
3075
N_("The maximum size of a row-based binary log event in bytes. Rows will "
3076
"be grouped into events smaller than this size if possible. "
3077
"The value has to be a multiple of 256."),
3078
(char**) &opt_binlog_rows_event_max_size,
3079
(char**) &opt_binlog_rows_event_max_size, 0,
3080
GET_ULONG, REQUIRED_ARG,
3081
/* def_value */ 1024, /* min_value */ 256, /* max_value */ ULONG_MAX,
3082
/* sub_size */ 0, /* block_size */ 256,
3162
"The maximum size of a row-based binary log event in bytes. Rows will be "
3163
"grouped into events smaller than this size if possible. "
3164
"The value has to be a multiple of 256.",
3165
(char**) &opt_binlog_rows_event_max_size,
3166
(char**) &opt_binlog_rows_event_max_size, 0,
3167
GET_ULONG, REQUIRED_ARG,
3168
/* def_value */ 1024, /* min_value */ 256, /* max_value */ ULONG_MAX,
3169
/* sub_size */ 0, /* block_size */ 256,
3083
3170
/* app_type */ 0
3172
#ifndef DISABLE_GRANT_OPTIONS
3173
{"bootstrap", OPT_BOOTSTRAP, "Used by mysql installation scripts.", 0, 0, 0,
3174
GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
3085
3176
{"character-set-client-handshake", OPT_CHARACTER_SET_CLIENT_HANDSHAKE,
3086
N_("Don't ignore client side character set value sent during handshake."),
3177
"Don't ignore client side character set value sent during handshake.",
3087
3178
(char**) &opt_character_set_client_handshake,
3088
3179
(char**) &opt_character_set_client_handshake,
3089
3180
0, GET_BOOL, NO_ARG, 1, 0, 0, 0, 0, 0},
3090
3181
{"character-set-filesystem", OPT_CHARACTER_SET_FILESYSTEM,
3091
N_("Set the filesystem character set."),
3182
"Set the filesystem character set.",
3092
3183
(char**) &character_set_filesystem_name,
3093
3184
(char**) &character_set_filesystem_name,
3094
3185
0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0 },
3095
{"character-set-server", 'C',
3096
N_("Set the default character set."),
3186
{"character-set-server", 'C', "Set the default character set.",
3097
3187
(char**) &default_character_set_name, (char**) &default_character_set_name,
3098
3188
0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0 },
3099
3189
{"character-sets-dir", OPT_CHARSETS_DIR,
3100
N_("Directory where character sets are."), (char**) &charsets_dir,
3190
"Directory where character sets are.", (char**) &charsets_dir,
3101
3191
(char**) &charsets_dir, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
3103
N_("Chroot mysqld daemon during startup."),
3192
{"chroot", 'r', "Chroot mysqld daemon during startup.",
3104
3193
(char**) &mysqld_chroot, (char**) &mysqld_chroot, 0, GET_STR, REQUIRED_ARG,
3105
3194
0, 0, 0, 0, 0, 0},
3106
{"collation-server", OPT_DEFAULT_COLLATION,
3107
N_("Set the default collation."),
3195
{"collation-server", OPT_DEFAULT_COLLATION, "Set the default collation.",
3108
3196
(char**) &default_collation_name, (char**) &default_collation_name,
3109
3197
0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0 },
3110
{"completion-type", OPT_COMPLETION_TYPE,
3111
N_("Default completion type."),
3198
{"completion-type", OPT_COMPLETION_TYPE, "Default completion type.",
3112
3199
(char**) &global_system_variables.completion_type,
3113
3200
(char**) &max_system_variables.completion_type, 0, GET_ULONG,
3114
3201
REQUIRED_ARG, 0, 0, 2, 0, 1, 0},
3115
{"console", OPT_CONSOLE,
3116
N_("Write error output on screen."),
3202
{"console", OPT_CONSOLE, "Write error output on screen; Don't remove the console window on windows.",
3117
3203
(char**) &opt_console, (char**) &opt_console, 0, GET_BOOL, NO_ARG, 0, 0, 0,
3119
{"core-file", OPT_WANT_CORE,
3120
N_("Write core on errors."),
3121
0, 0, 0, GET_NO_ARG,
3205
{"core-file", OPT_WANT_CORE, "Write core on errors.", 0, 0, 0, GET_NO_ARG,
3122
3206
NO_ARG, 0, 0, 0, 0, 0, 0},
3124
N_("Path to the database root."),
3125
(char**) &mysql_data_home,
3207
{"datadir", 'h', "Path to the database root.", (char**) &mysql_data_home,
3126
3208
(char**) &mysql_data_home, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
3209
{"default-character-set", 'C', "Set the default character set (deprecated option, use --character-set-server instead).",
3210
(char**) &default_character_set_name, (char**) &default_character_set_name,
3211
0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0 },
3212
{"default-collation", OPT_DEFAULT_COLLATION, "Set the default collation (deprecated option, use --collation-server instead).",
3213
(char**) &default_collation_name, (char**) &default_collation_name,
3214
0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0 },
3127
3215
{"default-storage-engine", OPT_STORAGE_ENGINE,
3128
N_("Set the default storage engine (table type) for tables."),
3216
"Set the default storage engine (table type) for tables.",
3129
3217
(char**)&default_storage_engine_str, (char**)&default_storage_engine_str,
3130
3218
0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
3131
{"default-time-zone", OPT_DEFAULT_TIME_ZONE,
3132
N_("Set the default time zone."),
3219
{"default-time-zone", OPT_DEFAULT_TIME_ZONE, "Set the default time zone.",
3133
3220
(char**) &default_tz_name, (char**) &default_tz_name,
3134
3221
0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0 },
3135
{"delay-key-write", OPT_DELAY_KEY_WRITE,
3136
N_("Type of DELAY_KEY_WRITE."),
3222
{"delay-key-write", OPT_DELAY_KEY_WRITE, "Type of DELAY_KEY_WRITE.",
3137
3223
0,0,0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
3224
{"delay-key-write-for-all-tables", OPT_DELAY_KEY_WRITE_ALL,
3225
"Don't flush key buffers between writes for any MyISAM table (Deprecated option, use --delay-key-write=all instead).",
3226
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
3138
3227
{"disconnect-slave-event-count", OPT_DISCONNECT_SLAVE_EVENT_COUNT,
3139
N_("Option used by mysql-test for debugging and testing of replication."),
3228
"Option used by mysql-test for debugging and testing of replication.",
3140
3229
(char**) &disconnect_slave_event_count,
3141
3230
(char**) &disconnect_slave_event_count, 0, GET_INT, REQUIRED_ARG, 0, 0, 0,
3143
3232
#ifdef HAVE_STACK_TRACE_ON_SEGV
3144
{"enable-pstack", OPT_DO_PSTACK,
3145
N_("Print a symbolic stack trace on failure."),
3233
{"enable-pstack", OPT_DO_PSTACK, "Print a symbolic stack trace on failure.",
3146
3234
(char**) &opt_do_pstack, (char**) &opt_do_pstack, 0, GET_BOOL, NO_ARG, 0, 0,
3148
3236
#endif /* HAVE_STACK_TRACE_ON_SEGV */
3149
3237
{"engine-condition-pushdown",
3150
3238
OPT_ENGINE_CONDITION_PUSHDOWN,
3151
N_("Push supported query conditions to the storage engine."),
3239
"Push supported query conditions to the storage engine.",
3152
3240
(char**) &global_system_variables.engine_condition_pushdown,
3153
3241
(char**) &global_system_variables.engine_condition_pushdown,
3154
3242
0, GET_BOOL, NO_ARG, 1, 0, 0, 0, 0, 0},
3155
3243
/* See how it's handled in get_one_option() */
3157
N_("Used for debugging; Use at your own risk!"),
3158
0, 0, 0, GET_LONG, OPT_ARG, 0, 0, 0, 0, 0, 0},
3159
{"flush", OPT_FLUSH,
3160
N_("Flush tables to disk between SQL commands."),
3161
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
3244
{"exit-info", 'T', "Used for debugging; Use at your own risk!", 0, 0, 0,
3245
GET_LONG, OPT_ARG, 0, 0, 0, 0, 0, 0},
3246
{"flush", OPT_FLUSH, "Flush tables to disk between SQL commands.", 0, 0, 0,
3247
GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
3162
3248
/* We must always support the next option to make scripts like mysqltest
3163
3249
easier to do */
3164
3250
{"gdb", OPT_DEBUGGING,
3165
N_("Set up signals usable for debugging"),
3251
"Set up signals usable for debugging",
3166
3252
(char**) &opt_debugging, (char**) &opt_debugging,
3167
3253
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
3168
{"init-connect", OPT_INIT_CONNECT,
3169
N_("Command(s) that are executed for each new connection"),
3254
{"general-log", OPT_GENERAL_LOG,
3255
"Enable|disable general log", (char**) &opt_log,
3256
(char**) &opt_log, 0, GET_BOOL, OPT_ARG, 0, 0, 0, 0, 0, 0},
3257
{"init-connect", OPT_INIT_CONNECT, "Command(s) that are executed for each new connection",
3170
3258
(char**) &opt_init_connect, (char**) &opt_init_connect, 0, GET_STR_ALLOC,
3171
3259
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
3172
{"init-file", OPT_INIT_FILE,
3173
N_("Read SQL commands from this file at startup."),
3260
{"init-file", OPT_INIT_FILE, "Read SQL commands from this file at startup.",
3174
3261
(char**) &opt_init_file, (char**) &opt_init_file, 0, GET_STR, REQUIRED_ARG,
3175
3262
0, 0, 0, 0, 0, 0},
3176
{"init-slave", OPT_INIT_SLAVE,
3177
N_("Command(s) that are executed when a slave connects to this master"),
3263
{"init-slave", OPT_INIT_SLAVE, "Command(s) that are executed when a slave connects to this master",
3178
3264
(char**) &opt_init_slave, (char**) &opt_init_slave, 0, GET_STR_ALLOC,
3179
3265
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
3180
3266
{"language", 'L',
3267
"Client error messages in given language. May be given as a full path.",
3182
3268
(char**) &language_ptr, (char**) &language_ptr, 0, GET_STR, REQUIRED_ARG,
3183
3269
0, 0, 0, 0, 0, 0},
3184
3270
{"lc-time-names", OPT_LC_TIME_NAMES,
3185
N_("Set the language used for the month names and the days of the week."),
3271
"Set the language used for the month names and the days of the week.",
3186
3272
(char**) &lc_time_names_name,
3187
3273
(char**) &lc_time_names_name,
3188
3274
0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0 },
3189
3275
{"local-infile", OPT_LOCAL_INFILE,
3190
N_("Enable/disable LOAD DATA LOCAL INFILE (takes values 1|0)."),
3276
"Enable/disable LOAD DATA LOCAL INFILE (takes values 1|0).",
3191
3277
(char**) &opt_local_infile,
3192
3278
(char**) &opt_local_infile, 0, GET_BOOL, OPT_ARG,
3193
3279
1, 0, 0, 0, 0, 0},
3195
N_("Log connections and queries to file."),
3196
(char**) &opt_logname,
3280
{"log", 'l', "Log connections and queries to file.", (char**) &opt_logname,
3197
3281
(char**) &opt_logname, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
3198
3282
{"log-bin", OPT_BIN_LOG,
3199
N_("Log update queries in binary format. Optional argument is the "
3200
"location for the binary log files.(Strongly "
3201
"recommended to avoid replication problems if server's hostname "
3283
"Log update queries in binary format. Optional (but strongly recommended "
3284
"to avoid replication problems if server's hostname changes) argument "
3285
"should be the chosen location for the binary log files.",
3203
3286
(char**) &opt_bin_logname, (char**) &opt_bin_logname, 0, GET_STR_ALLOC,
3204
3287
OPT_ARG, 0, 0, 0, 0, 0, 0},
3205
3288
{"log-bin-index", OPT_BIN_LOG_INDEX,
3206
N_("File that holds the names for last binary log files."),
3289
"File that holds the names for last binary log files.",
3207
3290
(char**) &opt_binlog_index_name, (char**) &opt_binlog_index_name, 0, GET_STR,
3208
3291
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
3209
{"log-error", OPT_ERROR_LOG_FILE,
3210
N_("Error log file."),
3293
This option starts with "log-bin" to emphasize that it is specific of
3296
{"log-bin-trust-function-creators", OPT_LOG_BIN_TRUST_FUNCTION_CREATORS,
3297
"If equal to 0 (the default), then when --log-bin is used, creation of "
3298
"a stored function (or trigger) is allowed only to users having the SUPER privilege "
3299
"and only if this stored function (trigger) may not break binary logging."
3300
"Note that if ALL connections to this server ALWAYS use row-based binary "
3301
"logging, the security issues do not exist and the binary logging cannot "
3302
"break, so you can safely set this to 1."
3303
,(char**) &trust_function_creators, (char**) &trust_function_creators, 0,
3304
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
3305
{"log-error", OPT_ERROR_LOG_FILE, "Error log file.",
3211
3306
(char**) &log_error_file_ptr, (char**) &log_error_file_ptr, 0, GET_STR,
3212
3307
OPT_ARG, 0, 0, 0, 0, 0, 0},
3213
{"log-isam", OPT_ISAM_LOG,
3214
N_("Log all MyISAM changes to file."),
3308
{"log-isam", OPT_ISAM_LOG, "Log all MyISAM changes to file.",
3215
3309
(char**) &myisam_log_filename, (char**) &myisam_log_filename, 0, GET_STR,
3216
3310
OPT_ARG, 0, 0, 0, 0, 0, 0},
3311
{"log-long-format", '0',
3312
"Log some extra information to update log. Please note that this option is deprecated; see --log-short-format option.",
3313
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
3314
#ifdef WITH_CSV_STORAGE_ENGINE
3315
{"log-output", OPT_LOG_OUTPUT,
3316
"Syntax: log-output[=value[,value...]], where \"value\" could be TABLE, "
3318
(char**) &log_output_str, (char**) &log_output_str, 0,
3319
GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
3321
{"log-queries-not-using-indexes", OPT_LOG_QUERIES_NOT_USING_INDEXES,
3322
"Log queries that are executed without benefit of any index to the slow log if it is open.",
3323
(char**) &opt_log_queries_not_using_indexes, (char**) &opt_log_queries_not_using_indexes,
3324
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
3325
{"log-short-format", OPT_SHORT_LOG_FORMAT,
3326
"Don't log extra information to update and slow-query logs.",
3327
(char**) &opt_short_log_format, (char**) &opt_short_log_format,
3328
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
3217
3329
{"log-slave-updates", OPT_LOG_SLAVE_UPDATES,
3218
N_("Tells the slave to log the updates from the slave thread to the binary "
3219
"log. You will need to turn it on if you plan to "
3220
"daisy-chain the slaves."),
3221
(char**) &opt_log_slave_updates, (char**) &opt_log_slave_updates,
3330
"Tells the slave to log the updates from the slave thread to the binary log. You will need to turn it on if you plan to daisy-chain the slaves.",
3331
(char**) &opt_log_slave_updates, (char**) &opt_log_slave_updates, 0, GET_BOOL,
3223
3332
NO_ARG, 0, 0, 0, 0, 0, 0},
3333
{"log-slow-admin-statements", OPT_LOG_SLOW_ADMIN_STATEMENTS,
3334
"Log slow OPTIMIZE, ANALYZE, ALTER and other administrative statements to the slow log if it is open.",
3335
(char**) &opt_log_slow_admin_statements,
3336
(char**) &opt_log_slow_admin_statements,
3337
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
3338
{"log-slow-slave-statements", OPT_LOG_SLOW_SLAVE_STATEMENTS,
3339
"Log slow statements executed by slave thread to the slow log if it is open.",
3340
(char**) &opt_log_slow_slave_statements,
3341
(char**) &opt_log_slow_slave_statements,
3342
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
3343
{"log-slow-queries", OPT_SLOW_QUERY_LOG,
3344
"Log slow queries to a table or log file. Defaults logging to table mysql.slow_log or hostname-slow.log if --log-output=file is used. Must be enabled to activate other slow log options.",
3345
(char**) &opt_slow_logname, (char**) &opt_slow_logname, 0, GET_STR, OPT_ARG,
3224
3347
{"log-tc", OPT_LOG_TC,
3225
N_("Path to transaction coordinator log (used for transactions that affect "
3226
"more than one storage engine, when binary log is disabled)"),
3348
"Path to transaction coordinator log (used for transactions that affect "
3349
"more than one storage engine, when binary log is disabled)",
3227
3350
(char**) &opt_tc_log_file, (char**) &opt_tc_log_file, 0, GET_STR,
3228
3351
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
3229
3352
#ifdef HAVE_MMAP
3230
{"log-tc-size", OPT_LOG_TC_SIZE,
3231
N_("Size of transaction coordinator log."),
3353
{"log-tc-size", OPT_LOG_TC_SIZE, "Size of transaction coordinator log.",
3232
3354
(char**) &opt_tc_log_size, (char**) &opt_tc_log_size, 0, GET_ULONG,
3233
3355
REQUIRED_ARG, TC_LOG_MIN_SIZE, TC_LOG_MIN_SIZE, ULONG_MAX, 0,
3234
3356
TC_LOG_PAGE_SIZE, 0},
3236
{"log-warnings", 'W',
3237
N_("Log some not critical warnings to the log file."),
3358
{"log-warnings", 'W', "Log some not critical warnings to the log file.",
3238
3359
(char**) &global_system_variables.log_warnings,
3239
3360
(char**) &max_system_variables.log_warnings, 0, GET_ULONG, OPT_ARG, 1, 0, 0,
3241
3362
{"low-priority-updates", OPT_LOW_PRIORITY_UPDATES,
3242
N_("INSERT/DELETE/UPDATE has lower priority than selects."),
3363
"INSERT/DELETE/UPDATE has lower priority than selects.",
3243
3364
(char**) &global_system_variables.low_priority_updates,
3244
3365
(char**) &max_system_variables.low_priority_updates,
3245
3366
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
3246
3367
{"master-info-file", OPT_MASTER_INFO_FILE,
3247
N_("The location and name of the file that remembers the master and "
3248
"where the I/O replication thread is in the master's binlogs."),
3368
"The location and name of the file that remembers the master and where the I/O replication \
3369
thread is in the master's binlogs.",
3249
3370
(char**) &master_info_file, (char**) &master_info_file, 0, GET_STR,
3250
3371
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
3251
3372
{"master-retry-count", OPT_MASTER_RETRY_COUNT,
3252
N_("The number of tries the slave will make to connect to the master "
3253
"before giving up."),
3373
"The number of tries the slave will make to connect to the master before giving up.",
3254
3374
(char**) &master_retry_count, (char**) &master_retry_count, 0, GET_ULONG,
3255
3375
REQUIRED_ARG, 3600*24, 0, 0, 0, 0, 0},
3256
3376
{"max-binlog-dump-events", OPT_MAX_BINLOG_DUMP_EVENTS,
3257
N_("Option used by mysql-test for debugging and testing of replication."),
3377
"Option used by mysql-test for debugging and testing of replication.",
3258
3378
(char**) &max_binlog_dump_events, (char**) &max_binlog_dump_events, 0,
3259
3379
GET_INT, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
3260
{"memlock", OPT_MEMLOCK,
3261
N_("Lock mysqld in memory."),
3262
(char**) &locked_in_memory,
3380
{"memlock", OPT_MEMLOCK, "Lock mysqld in memory.", (char**) &locked_in_memory,
3263
3381
(char**) &locked_in_memory, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
3264
3382
{"myisam-recover", OPT_MYISAM_RECOVER,
3265
N_("Syntax: myisam-recover[=option[,option...]], where option can be "
3266
"DEFAULT, BACKUP, FORCE or QUICK."),
3383
"Syntax: myisam-recover[=option[,option...]], where option can be DEFAULT, BACKUP, FORCE or QUICK.",
3267
3384
(char**) &myisam_recover_options_str, (char**) &myisam_recover_options_str, 0,
3268
3385
GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
3270
N_("Use very new possible 'unsafe' functions."),
3386
{"new", 'n', "Use very new possible 'unsafe' functions.",
3271
3387
(char**) &global_system_variables.new_mode,
3272
3388
(char**) &max_system_variables.new_mode,
3273
3389
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
3274
3390
{"old-alter-table", OPT_OLD_ALTER_TABLE,
3275
N_("Use old, non-optimized alter table."),
3391
"Use old, non-optimized alter table.",
3276
3392
(char**) &global_system_variables.old_alter_table,
3277
3393
(char**) &max_system_variables.old_alter_table, 0, GET_BOOL, NO_ARG,
3278
3394
0, 0, 0, 0, 0, 0},
3279
{"pid-file", OPT_PID_FILE,
3280
N_("Pid file used by safe_mysqld."),
3395
{"old-style-user-limits", OPT_OLD_STYLE_USER_LIMITS,
3396
"Enable old-style user limits (before 5.0.3 user resources were counted per each user+host vs. per account)",
3397
(char**) &opt_old_style_user_limits, (char**) &opt_old_style_user_limits,
3398
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
3399
{"pid-file", OPT_PID_FILE, "Pid file used by safe_mysqld.",
3281
3400
(char**) &pidfile_name_ptr, (char**) &pidfile_name_ptr, 0, GET_STR,
3282
3401
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
3284
N_("Port number to use for connection or 0 for default to, in "
3285
"order of preference, my.cnf, $DRIZZLE_TCP_PORT, "
3286
"built-in default (" STRINGIFY_ARG(DRIZZLE_PORT) ")."),
3402
{"port", 'P', "Port number to use for connection or 0 for default to, in "
3403
"order of preference, my.cnf, $MYSQL_TCP_PORT, "
3404
#if MYSQL_PORT_DEFAULT == 0
3407
"built-in default (" STRINGIFY_ARG(MYSQL_PORT) ").",
3287
3408
(char**) &mysqld_port,
3288
3409
(char**) &mysqld_port, 0, GET_UINT, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
3289
3410
{"port-open-timeout", OPT_PORT_OPEN_TIMEOUT,
3290
N_("Maximum time in seconds to wait for the port to become free. "
3291
"(Default: no wait)"),
3292
(char**) &mysqld_port_timeout,
3411
"Maximum time in seconds to wait for the port to become free. "
3412
"(Default: no wait)", (char**) &mysqld_port_timeout,
3293
3413
(char**) &mysqld_port_timeout, 0, GET_UINT, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
3294
3414
{"relay-log", OPT_RELAY_LOG,
3295
N_("The location and name to use for relay logs."),
3415
"The location and name to use for relay logs.",
3296
3416
(char**) &opt_relay_logname, (char**) &opt_relay_logname, 0,
3297
3417
GET_STR_ALLOC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
3298
3418
{"relay-log-index", OPT_RELAY_LOG_INDEX,
3299
N_("The location and name to use for the file that keeps a list of the "
3300
"last relay logs."),
3419
"The location and name to use for the file that keeps a list of the last \
3301
3421
(char**) &opt_relaylog_index_name, (char**) &opt_relaylog_index_name, 0,
3302
3422
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
3303
3423
{"relay-log-info-file", OPT_RELAY_LOG_INFO_FILE,
3304
N_("The location and name of the file that remembers where the SQL "
3305
"replication thread is in the relay logs."),
3424
"The location and name of the file that remembers where the SQL replication \
3425
thread is in the relay logs.",
3306
3426
(char**) &relay_log_info_file, (char**) &relay_log_info_file, 0, GET_STR,
3307
3427
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
3308
3428
{"replicate-do-db", OPT_REPLICATE_DO_DB,
3309
N_("Tells the slave thread to restrict replication to the specified "
3310
"database. To specify more than one database, use the directive "
3311
"multiple times, once for each database. Note that this will only work "
3312
"if you do not use cross-database queries such as UPDATE "
3313
"some_db.some_table SET foo='bar' while having selected a different or "
3314
"no database. If you need cross database updates to work, use "
3315
"replicate-wild-do-table=db_name.%."),
3429
"Tells the slave thread to restrict replication to the specified database. To specify more than one database, use the directive multiple times, once for each database. Note that this will only work if you do not use cross-database queries such as UPDATE some_db.some_table SET foo='bar' while having selected a different or no database. If you need cross database updates to work, make sure you have 3.23.28 or later, and use replicate-wild-do-table=db_name.%.",
3316
3430
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
3317
3431
{"replicate-do-table", OPT_REPLICATE_DO_TABLE,
3318
N_("Tells the slave thread to restrict replication to the specified table. "
3319
"To specify more than one table, use the directive multiple times, once "
3320
"for each table. This will work for cross-database updates, in contrast "
3321
"to replicate-do-db."),
3432
"Tells the slave thread to restrict replication to the specified table. To specify more than one table, use the directive multiple times, once for each table. This will work for cross-database updates, in contrast to replicate-do-db.",
3322
3433
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
3323
3434
{"replicate-ignore-db", OPT_REPLICATE_IGNORE_DB,
3324
N_("Tells the slave thread to not replicate to the specified database. To "
3325
"specify more than one database to ignore, use the directive multiple "
3326
"times, once for each database. This option will not work if you use "
3327
"cross database updates. If you need cross database updates to work, "
3328
"use replicate-wild-ignore-table=db_name.%. "),
3435
"Tells the slave thread to not replicate to the specified database. To specify more than one database to ignore, use the directive multiple times, once for each database. This option will not work if you use cross database updates. If you need cross database updates to work, make sure you have 3.23.28 or later, and use replicate-wild-ignore-table=db_name.%. ",
3329
3436
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
3330
3437
{"replicate-ignore-table", OPT_REPLICATE_IGNORE_TABLE,
3331
N_("Tells the slave thread to not replicate to the specified table. To "
3332
"specify more than one table to ignore, use the directive multiple "
3333
"times, once for each table. This will work for cross-datbase updates, "
3334
"in contrast to replicate-ignore-db."),
3438
"Tells the slave thread to not replicate to the specified table. To specify more than one table to ignore, use the directive multiple times, once for each table. This will work for cross-datbase updates, in contrast to replicate-ignore-db.",
3335
3439
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
3336
3440
{"replicate-rewrite-db", OPT_REPLICATE_REWRITE_DB,
3337
N_("Updates to a database with a different name than the original. "
3338
"Example: replicate-rewrite-db=master_db_name->slave_db_name."),
3441
"Updates to a database with a different name than the original. Example: replicate-rewrite-db=master_db_name->slave_db_name.",
3339
3442
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
3340
3443
{"replicate-same-server-id", OPT_REPLICATE_SAME_SERVER_ID,
3341
N_("In replication, if set to 1, do not skip events having our server id. "
3342
"Default value is 0 (to break infinite loops in circular replication). "
3343
"Can't be set to 1 if --log-slave-updates is used."),
3444
"In replication, if set to 1, do not skip events having our server id. \
3445
Default value is 0 (to break infinite loops in circular replication). \
3446
Can't be set to 1 if --log-slave-updates is used.",
3344
3447
(char**) &replicate_same_server_id,
3345
3448
(char**) &replicate_same_server_id,
3346
3449
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
3347
3450
{"replicate-wild-do-table", OPT_REPLICATE_WILD_DO_TABLE,
3348
N_("Tells the slave thread to restrict replication to the tables that "
3349
"match the specified wildcard pattern. To specify more than one table, "
3350
"use the directive multiple times, once for each table. This will work "
3351
"for cross-database updates. Example: replicate-wild-do-table=foo%.bar% "
3352
"will replicate only updates to tables in all databases that start with "
3353
"foo and whose table names start with bar."),
3451
"Tells the slave thread to restrict replication to the tables that match the specified wildcard pattern. To specify more than one table, use the directive multiple times, once for each table. This will work for cross-database updates. Example: replicate-wild-do-table=foo%.bar% will replicate only updates to tables in all databases that start with foo and whose table names start with bar.",
3354
3452
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
3355
3453
{"replicate-wild-ignore-table", OPT_REPLICATE_WILD_IGNORE_TABLE,
3356
N_("Tells the slave thread to not replicate to the tables that match the "
3357
"given wildcard pattern. To specify more than one table to ignore, use "
3358
"the directive multiple times, once for each table. This will work for "
3359
"cross-database updates. Example: replicate-wild-ignore-table=foo%.bar% "
3360
"will not do updates to tables in databases that start with foo and "
3361
"whose table names start with bar."),
3454
"Tells the slave thread to not replicate to the tables that match the given wildcard pattern. To specify more than one table to ignore, use the directive multiple times, once for each table. This will work for cross-database updates. Example: replicate-wild-ignore-table=foo%.bar% will not do updates to tables in databases that start with foo and whose table names start with bar.",
3362
3455
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
3363
3456
// In replication, we may need to tell the other servers how to connect
3364
3457
{"report-host", OPT_REPORT_HOST,
3365
N_("Hostname or IP of the slave to be reported to to the master during "
3366
"slave registration. Will appear in the output of SHOW SLAVE HOSTS. "
3367
"Leave unset if you do not want the slave to register itself with the "
3368
"master. Note that it is not sufficient for the master to simply read "
3369
"the IP of the slave off the socket once the slave connects. Due to NAT "
3370
"and other routing issues, that IP may not be valid for connecting to "
3371
"the slave from the master or other hosts."),
3458
"Hostname or IP of the slave to be reported to to the master during slave registration. Will appear in the output of SHOW SLAVE HOSTS. Leave unset if you do not want the slave to register itself with the master. Note that it is not sufficient for the master to simply read the IP of the slave off the socket once the slave connects. Due to NAT and other routing issues, that IP may not be valid for connecting to the slave from the master or other hosts.",
3372
3459
(char**) &report_host, (char**) &report_host, 0, GET_STR, REQUIRED_ARG, 0, 0,
3374
3461
{"report-password", OPT_REPORT_PASSWORD, "Undocumented.",
3375
3462
(char**) &report_password, (char**) &report_password, 0, GET_STR,
3376
3463
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
3377
3464
{"report-port", OPT_REPORT_PORT,
3378
N_("Port for connecting to slave reported to the master during slave "
3379
"registration. Set it only if the slave is listening on a non-default "
3380
"port or if you have a special tunnel from the master or other clients "
3381
"to the slave. If not sure, leave this option unset."),
3465
"Port for connecting to slave reported to the master during slave registration. Set it only if the slave is listening on a non-default port or if you have a special tunnel from the master or other clients to the slave. If not sure, leave this option unset.",
3382
3466
(char**) &report_port, (char**) &report_port, 0, GET_UINT, REQUIRED_ARG,
3383
DRIZZLE_PORT, 0, 0, 0, 0, 0},
3384
{"safe-mode", OPT_SAFE,
3385
N_("Skip some optimize stages (for testing)."),
3467
MYSQL_PORT, 0, 0, 0, 0, 0},
3468
{"safe-mode", OPT_SAFE, "Skip some optimize stages (for testing).",
3386
3469
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
3387
3470
{"secure-file-priv", OPT_SECURE_FILE_PRIV,
3388
N_("Limit LOAD DATA, SELECT ... OUTFILE, and LOAD_FILE() to files "
3389
"within specified directory"),
3471
"Limit LOAD DATA, SELECT ... OUTFILE, and LOAD_FILE() to files within specified directory",
3390
3472
(char**) &opt_secure_file_priv, (char**) &opt_secure_file_priv, 0,
3391
3473
GET_STR_ALLOC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
3392
3474
{"server-id", OPT_SERVER_ID,
3393
N_("Uniquely identifies the server instance in the community of "
3394
"replication partners."),
3475
"Uniquely identifies the server instance in the community of replication partners.",
3395
3476
(char**) &server_id, (char**) &server_id, 0, GET_ULONG, REQUIRED_ARG, 0, 0, 0,
3397
{"skip-new", OPT_SKIP_NEW,
3398
N_("Don't use new, possible wrong routines."),
3478
{"set-variable", 'O',
3479
"Change the value of a variable. Please note that this option is deprecated;you can set variables directly with --variable-name=value.",
3480
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
3481
{"skip-new", OPT_SKIP_NEW, "Don't use new, possible wrong routines.",
3399
3482
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
3400
3483
{"skip-slave-start", OPT_SKIP_SLAVE_START,
3401
N_("If set, slave is not autostarted."),
3402
(char**) &opt_skip_slave_start,
3484
"If set, slave is not autostarted.", (char**) &opt_skip_slave_start,
3403
3485
(char**) &opt_skip_slave_start, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
3404
3486
{"skip-stack-trace", OPT_SKIP_STACK_TRACE,
3405
N_("Don't print a stack trace on failure."),
3406
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0,
3487
"Don't print a stack trace on failure.", 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0,
3489
{"skip-symlink", OPT_SKIP_SYMLINKS, "Don't allow symlinking of tables. Deprecated option. Use --skip-symbolic-links instead.",
3490
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
3408
3491
{"skip-thread-priority", OPT_SKIP_PRIOR,
3409
N_("Don't give threads different priorities."),
3410
0, 0, 0, GET_NO_ARG, NO_ARG,
3492
"Don't give threads different priorities.", 0, 0, 0, GET_NO_ARG, NO_ARG,
3411
3493
DEFAULT_SKIP_THREAD_PRIORITY, 0, 0, 0, 0, 0},
3412
3494
{"slave-load-tmpdir", OPT_SLAVE_LOAD_TMPDIR,
3413
N_("The location where the slave should put its temporary files when "
3414
"replicating a LOAD DATA INFILE command."),
3495
"The location where the slave should put its temporary files when \
3496
replicating a LOAD DATA INFILE command.",
3415
3497
(char**) &slave_load_tmpdir, (char**) &slave_load_tmpdir, 0, GET_STR_ALLOC,
3416
3498
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
3417
3499
{"slave-skip-errors", OPT_SLAVE_SKIP_ERRORS,
3418
N_("Tells the slave thread to continue replication when a query event "
3419
"returns an error from the provided list."),
3500
"Tells the slave thread to continue replication when a query event returns an error from the provided list.",
3420
3501
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
3421
3502
{"slave-exec-mode", OPT_SLAVE_EXEC_MODE,
3422
N_("Modes for how replication events should be executed. Legal values are "
3423
"STRICT (default) and IDEMPOTENT. In IDEMPOTENT mode, replication will "
3424
"not stop for operations that are idempotent. In STRICT mode, "
3425
"replication will stop on any unexpected difference between the master "
3427
(char**) &slave_exec_mode_str, (char**) &slave_exec_mode_str,
3428
0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
3503
"Modes for how replication events should be executed. Legal values are STRICT (default) and IDEMPOTENT. In IDEMPOTENT mode, replication will not stop for operations that are idempotent. In STRICT mode, replication will stop on any unexpected difference between the master and the slave.",
3504
(char**) &slave_exec_mode_str, (char**) &slave_exec_mode_str, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
3505
{"slow-query-log", OPT_SLOW_LOG,
3506
"Enable|disable slow query log", (char**) &opt_slow_log,
3507
(char**) &opt_slow_log, 0, GET_BOOL, OPT_ARG, 0, 0, 0, 0, 0, 0},
3429
3508
{"sql-bin-update-same", OPT_SQL_BIN_UPDATE_SAME,
3509
"The update log is deprecated since version 5.0, is replaced by the binary \
3510
log and this option does nothing anymore.",
3431
3511
0, 0, 0, GET_DISABLED, NO_ARG, 0, 0, 0, 0, 0, 0},
3432
{"symbolic-links", 's',
3433
N_("Enable symbolic link support."),
3512
{"symbolic-links", 's', "Enable symbolic link support.",
3434
3513
(char**) &my_use_symdir, (char**) &my_use_symdir, 0, GET_BOOL, NO_ARG,
3436
3515
The system call realpath() produces warnings under valgrind and
3440
3519
IF_PURIFY(0,1), 0, 0, 0, 0, 0},
3441
3520
{"sysdate-is-now", OPT_SYSDATE_IS_NOW,
3442
N_("Non-default option to alias SYSDATE() to NOW() to make it "
3443
"safe-replicable."),
3521
"Non-default option to alias SYSDATE() to NOW() to make it safe-replicable. Since 5.0, SYSDATE() returns a `dynamic' value different for different invocations, even within the same statement.",
3444
3522
(char**) &global_system_variables.sysdate_is_now,
3445
3523
0, 0, GET_BOOL, NO_ARG, 0, 0, 1, 0, 1, 0},
3446
3524
{"tc-heuristic-recover", OPT_TC_HEURISTIC_RECOVER,
3447
N_("Decision to use in heuristic recover process. Possible values are "
3448
"COMMIT or ROLLBACK."),
3525
"Decision to use in heuristic recover process. Possible values are COMMIT or ROLLBACK.",
3449
3526
(char**) &opt_tc_heuristic_recover, (char**) &opt_tc_heuristic_recover,
3450
3527
0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
3451
3528
{"temp-pool", OPT_TEMP_POOL,
3452
N_("Using this option will cause most temporary files created to use a "
3453
"small set of names, rather than a unique name for each new file."),
3529
"Using this option will cause most temporary files created to use a small set of names, rather than a unique name for each new file.",
3454
3530
(char**) &use_temp_pool, (char**) &use_temp_pool, 0, GET_BOOL, NO_ARG, 1,
3455
3531
0, 0, 0, 0, 0},
3456
3532
{"timed_mutexes", OPT_TIMED_MUTEXES,
3457
N_("Specify whether to time mutexes (only InnoDB mutexes are currently "
3459
(char**) &timed_mutexes, (char**) &timed_mutexes, 0, GET_BOOL, NO_ARG, 0,
3533
"Specify whether to time mutexes (only InnoDB mutexes are currently supported)",
3534
(char**) &timed_mutexes, (char**) &timed_mutexes, 0, GET_BOOL, NO_ARG, 0,
3460
3535
0, 0, 0, 0, 0},
3461
3536
{"tmpdir", 't',
3462
N_("Path for temporary files. Several paths may be specified, separated "
3464
", in this case they are used in a round-robin fashion."),
3537
"Path for temporary files. Several paths may be specified, separated by a "
3539
", in this case they are used in a round-robin fashion.",
3465
3540
(char**) &opt_mysql_tmpdir,
3466
3541
(char**) &opt_mysql_tmpdir, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
3467
3542
{"transaction-isolation", OPT_TX_ISOLATION,
3468
N_("Default transaction isolation level."),
3469
0, 0, 0, GET_STR, REQUIRED_ARG, 0,
3543
"Default transaction isolation level.", 0, 0, 0, GET_STR, REQUIRED_ARG, 0,
3470
3544
0, 0, 0, 0, 0},
3472
N_("Run mysqld daemon as user."),
3473
0, 0, 0, GET_STR, REQUIRED_ARG,
3545
{"use-symbolic-links", 's', "Enable symbolic link support. Deprecated option; use --symbolic-links instead.",
3546
(char**) &my_use_symdir, (char**) &my_use_symdir, 0, GET_BOOL, NO_ARG,
3547
IF_PURIFY(0,1), 0, 0, 0, 0, 0},
3548
{"user", 'u', "Run mysqld daemon as user.", 0, 0, 0, GET_STR, REQUIRED_ARG,
3474
3549
0, 0, 0, 0, 0, 0},
3476
N_("Output version information and exit."),
3477
0, 0, 0, GET_NO_ARG,
3550
{"verbose", 'v', "Used with --help option for detailed help",
3551
(char**) &opt_verbose, (char**) &opt_verbose, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0,
3553
{"version", 'V', "Output version information and exit.", 0, 0, 0, GET_NO_ARG,
3478
3554
NO_ARG, 0, 0, 0, 0, 0, 0},
3479
{"back_log", OPT_BACK_LOG,
3480
N_("The number of outstanding connection requests MySQL can have. This "
3481
"comes into play when the main MySQL thread gets very many connection "
3482
"requests in a very short time."),
3555
{"warnings", 'W', "Deprecated; use --log-warnings instead.",
3556
(char**) &global_system_variables.log_warnings,
3557
(char**) &max_system_variables.log_warnings, 0, GET_ULONG, OPT_ARG,
3558
1, 0, ULONG_MAX, 0, 0, 0},
3559
{ "back_log", OPT_BACK_LOG,
3560
"The number of outstanding connection requests MySQL can have. This comes into play when the main MySQL thread gets very many connection requests in a very short time.",
3483
3561
(char**) &back_log, (char**) &back_log, 0, GET_ULONG,
3484
3562
REQUIRED_ARG, 50, 1, 65535, 0, 1, 0 },
3485
{ "binlog_cache_size", OPT_BINLOG_CACHE_SIZE,
3486
N_("The size of the cache to hold the SQL statements for the binary log "
3487
"during a transaction. If you often use big, multi-statement "
3488
"transactions you can increase this to get more performance."),
3489
(char**) &binlog_cache_size, (char**) &binlog_cache_size, 0, GET_ULONG,
3490
REQUIRED_ARG, 32*1024L, IO_SIZE, ULONG_MAX, 0, IO_SIZE, 0},
3491
{ "bulk_insert_buffer_size", OPT_BULK_INSERT_BUFFER_SIZE,
3492
N_("Size of tree cache used in bulk insert optimisation. Note that this is "
3493
"a limit per thread!"),
3494
(char**) &global_system_variables.bulk_insert_buff_size,
3495
(char**) &max_system_variables.bulk_insert_buff_size,
3496
0, GET_ULONG, REQUIRED_ARG, 8192*1024, 0, ULONG_MAX, 0, 1, 0},
3497
{ "connect_timeout", OPT_CONNECT_TIMEOUT,
3498
N_("The number of seconds the mysqld server is waiting for a connect "
3499
"packet before responding with 'Bad handshake'."),
3563
{"binlog_cache_size", OPT_BINLOG_CACHE_SIZE,
3564
"The size of the cache to hold the SQL statements for the binary log during a transaction. If you often use big, multi-statement transactions you can increase this to get more performance.",
3565
(char**) &binlog_cache_size, (char**) &binlog_cache_size, 0, GET_ULONG,
3566
REQUIRED_ARG, 32*1024L, IO_SIZE, ULONG_MAX, 0, IO_SIZE, 0},
3567
{"bulk_insert_buffer_size", OPT_BULK_INSERT_BUFFER_SIZE,
3568
"Size of tree cache used in bulk insert optimisation. Note that this is a limit per thread!",
3569
(char**) &global_system_variables.bulk_insert_buff_size,
3570
(char**) &max_system_variables.bulk_insert_buff_size,
3571
0, GET_ULONG, REQUIRED_ARG, 8192*1024, 0, ULONG_MAX, 0, 1, 0},
3572
{"connect_timeout", OPT_CONNECT_TIMEOUT,
3573
"The number of seconds the mysqld server is waiting for a connect packet before responding with 'Bad handshake'.",
3500
3574
(char**) &connect_timeout, (char**) &connect_timeout,
3501
0, GET_ULONG, REQUIRED_ARG, CONNECT_TIMEOUT, 2, LONG_TIMEOUT, 0, 1, 0 },
3575
0, GET_ULONG, REQUIRED_ARG, CONNECT_TIMEOUT, 2, LONG_TIMEOUT, 0, 1, 0 },
3502
3576
{ "date_format", OPT_DATE_FORMAT,
3503
N_("The DATE format (For future)."),
3504
(char**) &opt_date_time_formats[DRIZZLE_TIMESTAMP_DATE],
3505
(char**) &opt_date_time_formats[DRIZZLE_TIMESTAMP_DATE],
3577
"The DATE format (For future).",
3578
(char**) &opt_date_time_formats[MYSQL_TIMESTAMP_DATE],
3579
(char**) &opt_date_time_formats[MYSQL_TIMESTAMP_DATE],
3506
3580
0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
3507
3581
{ "datetime_format", OPT_DATETIME_FORMAT,
3508
N_("The DATETIME/TIMESTAMP format (for future)."),
3509
(char**) &opt_date_time_formats[DRIZZLE_TIMESTAMP_DATETIME],
3510
(char**) &opt_date_time_formats[DRIZZLE_TIMESTAMP_DATETIME],
3582
"The DATETIME/TIMESTAMP format (for future).",
3583
(char**) &opt_date_time_formats[MYSQL_TIMESTAMP_DATETIME],
3584
(char**) &opt_date_time_formats[MYSQL_TIMESTAMP_DATETIME],
3511
3585
0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
3512
3586
{ "default_week_format", OPT_DEFAULT_WEEK_FORMAT,
3513
N_("The default week format used by WEEK() functions."),
3587
"The default week format used by WEEK() functions.",
3514
3588
(char**) &global_system_variables.default_week_format,
3515
3589
(char**) &max_system_variables.default_week_format,
3516
3590
0, GET_ULONG, REQUIRED_ARG, 0, 0, 7L, 0, 1, 0},
3517
{ "div_precision_increment", OPT_DIV_PRECINCREMENT,
3518
N_("Precision of the result of '/' operator will be increased on that "
3591
{"div_precision_increment", OPT_DIV_PRECINCREMENT,
3592
"Precision of the result of '/' operator will be increased on that value.",
3520
3593
(char**) &global_system_variables.div_precincrement,
3521
3594
(char**) &max_system_variables.div_precincrement, 0, GET_ULONG,
3522
3595
REQUIRED_ARG, 4, 0, DECIMAL_MAX_SCALE, 0, 0, 0},
3523
{ "expire_logs_days", OPT_EXPIRE_LOGS_DAYS,
3524
N_("If non-zero, binary logs will be purged after expire_logs_days "
3525
"days; possible purges happen at startup and at binary log rotation."),
3526
(char**) &expire_logs_days,
3527
(char**) &expire_logs_days, 0, GET_ULONG,
3528
REQUIRED_ARG, 0, 0, 99, 0, 1, 0},
3596
{"expire_logs_days", OPT_EXPIRE_LOGS_DAYS,
3597
"If non-zero, binary logs will be purged after expire_logs_days "
3598
"days; possible purges happen at startup and at binary log rotation.",
3599
(char**) &expire_logs_days,
3600
(char**) &expire_logs_days, 0, GET_ULONG,
3601
REQUIRED_ARG, 0, 0, 99, 0, 1, 0},
3529
3602
{ "group_concat_max_len", OPT_GROUP_CONCAT_MAX_LEN,
3530
N_("The maximum length of the result of function group_concat."),
3603
"The maximum length of the result of function group_concat.",
3531
3604
(char**) &global_system_variables.group_concat_max_len,
3532
3605
(char**) &max_system_variables.group_concat_max_len, 0, GET_ULONG,
3533
3606
REQUIRED_ARG, 1024, 4, ULONG_MAX, 0, 1, 0},
3534
{ "interactive_timeout", OPT_INTERACTIVE_TIMEOUT,
3535
N_("The number of seconds the server waits for activity on an interactive "
3536
"connection before closing it."),
3607
{"interactive_timeout", OPT_INTERACTIVE_TIMEOUT,
3608
"The number of seconds the server waits for activity on an interactive connection before closing it.",
3537
3609
(char**) &global_system_variables.net_interactive_timeout,
3538
3610
(char**) &max_system_variables.net_interactive_timeout, 0,
3539
3611
GET_ULONG, REQUIRED_ARG, NET_WAIT_TIMEOUT, 1, LONG_TIMEOUT, 0, 1, 0},
3540
{ "join_buffer_size", OPT_JOIN_BUFF_SIZE,
3541
N_("The size of the buffer that is used for full joins."),
3612
{"join_buffer_size", OPT_JOIN_BUFF_SIZE,
3613
"The size of the buffer that is used for full joins.",
3542
3614
(char**) &global_system_variables.join_buff_size,
3543
3615
(char**) &max_system_variables.join_buff_size, 0, GET_ULONG,
3544
3616
REQUIRED_ARG, 128*1024L, IO_SIZE*2+MALLOC_OVERHEAD, ULONG_MAX,
3545
3617
MALLOC_OVERHEAD, IO_SIZE, 0},
3546
3618
{"keep_files_on_create", OPT_KEEP_FILES_ON_CREATE,
3547
N_("Don't overwrite stale .MYD and .MYI even if no directory is specified."),
3619
"Don't overwrite stale .MYD and .MYI even if no directory is specified.",
3548
3620
(char**) &global_system_variables.keep_files_on_create,
3549
3621
(char**) &max_system_variables.keep_files_on_create,
3550
3622
0, GET_BOOL, OPT_ARG, 0, 0, 0, 0, 0, 0},
3551
3623
{"key_buffer_size", OPT_KEY_BUFFER_SIZE,
3552
N_("The size of the buffer used for index blocks for MyISAM tables. "
3553
"Increase this to get better index handling (for all reads and multiple "
3554
"writes) to as much as you can afford;"),
3624
"The size of the buffer used for index blocks for MyISAM tables. Increase this to get better index handling (for all reads and multiple writes) to as much as you can afford; 64M on a 256M machine that mainly runs MySQL is quite common.",
3555
3625
(char**) &dflt_key_cache_var.param_buff_size,
3557
3627
0, (GET_ULL | GET_ASK_ADDR),
3558
3628
REQUIRED_ARG, KEY_CACHE_SIZE, MALLOC_OVERHEAD, SIZE_T_MAX, MALLOC_OVERHEAD,
3560
3630
{"key_cache_age_threshold", OPT_KEY_CACHE_AGE_THRESHOLD,
3561
N_("This characterizes the number of hits a hot block has to be untouched "
3562
"until it is considered aged enough to be downgraded to a warm block. "
3563
"This specifies the percentage ratio of that number of hits to the "
3564
"total number of blocks in key cache"),
3631
"This characterizes the number of hits a hot block has to be untouched until it is considered aged enough to be downgraded to a warm block. This specifies the percentage ratio of that number of hits to the total number of blocks in key cache",
3565
3632
(char**) &dflt_key_cache_var.param_age_threshold,
3567
0, (GET_ULONG | GET_ASK_ADDR), REQUIRED_ARG,
3634
0, (GET_ULONG | GET_ASK_ADDR), REQUIRED_ARG,
3568
3635
300, 100, ULONG_MAX, 0, 100, 0},
3569
3636
{"key_cache_block_size", OPT_KEY_CACHE_BLOCK_SIZE,
3570
N_("The default size of key cache blocks"),
3637
"The default size of key cache blocks",
3571
3638
(char**) &dflt_key_cache_var.param_block_size,
3573
3640
0, (GET_ULONG | GET_ASK_ADDR), REQUIRED_ARG,
3574
3641
KEY_CACHE_BLOCK_SIZE, 512, 1024 * 16, 0, 512, 0},
3575
3642
{"key_cache_division_limit", OPT_KEY_CACHE_DIVISION_LIMIT,
3576
N_("The minimum percentage of warm blocks in key cache"),
3643
"The minimum percentage of warm blocks in key cache",
3577
3644
(char**) &dflt_key_cache_var.param_division_limit,
3579
3646
0, (GET_ULONG | GET_ASK_ADDR) , REQUIRED_ARG, 100,
3580
3647
1, 100, 0, 1, 0},
3581
3648
{"long_query_time", OPT_LONG_QUERY_TIME,
3582
N_("Log all queries that have taken more than long_query_time seconds to "
3583
"execute to file. The argument will be treated as a decimal value with "
3584
"microsecond precission."),
3649
"Log all queries that have taken more than long_query_time seconds to execute to file. "
3650
"The argument will be treated as a decimal value with microsecond precission.",
3585
3651
(char**) &long_query_time, (char**) &long_query_time, 0, GET_DOUBLE,
3586
3652
REQUIRED_ARG, 10, 0, LONG_TIMEOUT, 0, 0, 0},
3653
{"lower_case_table_names", OPT_LOWER_CASE_TABLE_NAMES,
3654
"If set to 1 table names are stored in lowercase on disk and table names will be case-insensitive. Should be set to 2 if you are using a case insensitive file system",
3655
(char**) &lower_case_table_names,
3656
(char**) &lower_case_table_names, 0, GET_UINT, OPT_ARG,
3657
#ifdef FN_NO_CASE_SENCE
3587
3663
{"max_allowed_packet", OPT_MAX_ALLOWED_PACKET,
3588
N_("Max packetlength to send/receive from to server."),
3664
"Max packetlength to send/receive from to server.",
3589
3665
(char**) &global_system_variables.max_allowed_packet,
3590
3666
(char**) &max_system_variables.max_allowed_packet, 0, GET_ULONG,
3591
3667
REQUIRED_ARG, 1024*1024L, 1024, 1024L*1024L*1024L, MALLOC_OVERHEAD, 1024, 0},
3592
3668
{"max_binlog_cache_size", OPT_MAX_BINLOG_CACHE_SIZE,
3593
N_("Can be used to restrict the total size used to cache a "
3594
"multi-transaction query."),
3669
"Can be used to restrict the total size used to cache a multi-transaction query.",
3595
3670
(char**) &max_binlog_cache_size, (char**) &max_binlog_cache_size, 0,
3596
3671
GET_ULONG, REQUIRED_ARG, ULONG_MAX, IO_SIZE, ULONG_MAX, 0, IO_SIZE, 0},
3597
3672
{"max_binlog_size", OPT_MAX_BINLOG_SIZE,
3598
N_("Binary log will be rotated automatically when the size exceeds this "
3599
"value. Will also apply to relay logs if max_relay_log_size is 0. "
3600
"The minimum value for this variable is 4096."),
3673
"Binary log will be rotated automatically when the size exceeds this \
3674
value. Will also apply to relay logs if max_relay_log_size is 0. \
3675
The minimum value for this variable is 4096.",
3601
3676
(char**) &max_binlog_size, (char**) &max_binlog_size, 0, GET_ULONG,
3602
3677
REQUIRED_ARG, 1024*1024L*1024L, IO_SIZE, 1024*1024L*1024L, 0, IO_SIZE, 0},
3603
3678
{"max_connect_errors", OPT_MAX_CONNECT_ERRORS,
3604
N_("If there is more than this number of interrupted connections from a "
3605
"host this host will be blocked from further connections."),
3679
"If there is more than this number of interrupted connections from a host this host will be blocked from further connections.",
3606
3680
(char**) &max_connect_errors, (char**) &max_connect_errors, 0, GET_ULONG,
3607
REQUIRED_ARG, MAX_CONNECT_ERRORS, 1, ULONG_MAX, 0, 1, 0},
3681
REQUIRED_ARG, MAX_CONNECT_ERRORS, 1, ULONG_MAX, 0, 1, 0},
3608
3682
// Default max_connections of 151 is larger than Apache's default max
3609
3683
// children, to avoid "too many connections" error in a common setup
3610
3684
{"max_connections", OPT_MAX_CONNECTIONS,
3611
N_("The number of simultaneous clients allowed."),
3612
(char**) &max_connections,
3685
"The number of simultaneous clients allowed.", (char**) &max_connections,
3613
3686
(char**) &max_connections, 0, GET_ULONG, REQUIRED_ARG, 151, 1, 100000, 0, 1,
3615
3688
{"max_error_count", OPT_MAX_ERROR_COUNT,
3616
N_("Max number of errors/warnings to store for a statement."),
3689
"Max number of errors/warnings to store for a statement.",
3617
3690
(char**) &global_system_variables.max_error_count,
3618
3691
(char**) &max_system_variables.max_error_count,
3619
3692
0, GET_ULONG, REQUIRED_ARG, DEFAULT_ERROR_COUNT, 0, 65535, 0, 1, 0},
3620
3693
{"max_heap_table_size", OPT_MAX_HEP_TABLE_SIZE,
3621
N_("Don't allow creation of heap tables bigger than this."),
3694
"Don't allow creation of heap tables bigger than this.",
3622
3695
(char**) &global_system_variables.max_heap_table_size,
3623
3696
(char**) &max_system_variables.max_heap_table_size, 0, GET_ULL,
3624
3697
REQUIRED_ARG, 16*1024*1024L, 16384, MAX_MEM_TABLE_SIZE,
3625
3698
MALLOC_OVERHEAD, 1024, 0},
3626
3699
{"max_join_size", OPT_MAX_JOIN_SIZE,
3627
N_("Joins that are probably going to read more than max_join_size records "
3628
"return an error."),
3700
"Joins that are probably going to read more than max_join_size records return an error.",
3629
3701
(char**) &global_system_variables.max_join_size,
3630
3702
(char**) &max_system_variables.max_join_size, 0, GET_HA_ROWS, REQUIRED_ARG,
3631
INT32_MAX, 1, INT32_MAX, 0, 1, 0},
3632
{"max_length_for_sort_data", OPT_MAX_LENGTH_FOR_SORT_DATA,
3633
N_("Max number of bytes in sorted records."),
3634
(char**) &global_system_variables.max_length_for_sort_data,
3635
(char**) &max_system_variables.max_length_for_sort_data, 0, GET_ULONG,
3636
REQUIRED_ARG, 1024, 4, 8192*1024L, 0, 1, 0},
3703
~0L, 1, ~0L, 0, 1, 0},
3704
{"max_length_for_sort_data", OPT_MAX_LENGTH_FOR_SORT_DATA,
3705
"Max number of bytes in sorted records.",
3706
(char**) &global_system_variables.max_length_for_sort_data,
3707
(char**) &max_system_variables.max_length_for_sort_data, 0, GET_ULONG,
3708
REQUIRED_ARG, 1024, 4, 8192*1024L, 0, 1, 0},
3637
3709
{"max_relay_log_size", OPT_MAX_RELAY_LOG_SIZE,
3638
N_("If non-zero: relay log will be rotated automatically when the size "
3639
"exceeds this value; if zero (the default): when the size exceeds "
3640
"max_binlog_size. 0 excepted, the minimum value for this variable "
3710
"If non-zero: relay log will be rotated automatically when the size exceeds this value; if zero (the default): when the size exceeds max_binlog_size. 0 excepted, the minimum value for this variable is 4096.",
3642
3711
(char**) &max_relay_log_size, (char**) &max_relay_log_size, 0, GET_ULONG,
3643
3712
REQUIRED_ARG, 0L, 0L, 1024*1024L*1024L, 0, IO_SIZE, 0},
3644
3713
{ "max_seeks_for_key", OPT_MAX_SEEKS_FOR_KEY,
3645
N_("Limit assumed max number of seeks when looking up rows based on a key"),
3714
"Limit assumed max number of seeks when looking up rows based on a key",
3646
3715
(char**) &global_system_variables.max_seeks_for_key,
3647
3716
(char**) &max_system_variables.max_seeks_for_key, 0, GET_ULONG,
3648
3717
REQUIRED_ARG, ULONG_MAX, 1, ULONG_MAX, 0, 1, 0 },
3649
3718
{"max_sort_length", OPT_MAX_SORT_LENGTH,
3650
N_("The number of bytes to use when sorting BLOB or TEXT values "
3651
"(only the first max_sort_length bytes of each value are used; the "
3652
"rest are ignored)."),
3719
"The number of bytes to use when sorting BLOB or TEXT values (only the first max_sort_length bytes of each value are used; the rest are ignored).",
3653
3720
(char**) &global_system_variables.max_sort_length,
3654
3721
(char**) &max_system_variables.max_sort_length, 0, GET_ULONG,
3655
3722
REQUIRED_ARG, 1024, 4, 8192*1024L, 0, 1, 0},
3656
3723
{"max_tmp_tables", OPT_MAX_TMP_TABLES,
3657
N_("Maximum number of temporary tables a client can keep open at a time."),
3724
"Maximum number of temporary tables a client can keep open at a time.",
3658
3725
(char**) &global_system_variables.max_tmp_tables,
3659
3726
(char**) &max_system_variables.max_tmp_tables, 0, GET_ULONG,
3660
3727
REQUIRED_ARG, 32, 1, ULONG_MAX, 0, 1, 0},
3661
3728
{"max_write_lock_count", OPT_MAX_WRITE_LOCK_COUNT,
3662
N_("After this many write locks, allow some read locks to run in between."),
3729
"After this many write locks, allow some read locks to run in between.",
3663
3730
(char**) &max_write_lock_count, (char**) &max_write_lock_count, 0, GET_ULONG,
3664
3731
REQUIRED_ARG, ULONG_MAX, 1, ULONG_MAX, 0, 1, 0},
3665
3732
{"min_examined_row_limit", OPT_MIN_EXAMINED_ROW_LIMIT,
3666
N_("Don't log queries which examine less than min_examined_row_limit "
3733
"Don't log queries which examine less than min_examined_row_limit rows to file.",
3668
3734
(char**) &global_system_variables.min_examined_row_limit,
3669
3735
(char**) &max_system_variables.min_examined_row_limit, 0, GET_ULONG,
3670
REQUIRED_ARG, 0, 0, ULONG_MAX, 0, 1L, 0},
3736
REQUIRED_ARG, 0, 0, ULONG_MAX, 0, 1L, 0},
3671
3737
{"myisam_block_size", OPT_MYISAM_BLOCK_SIZE,
3672
N_("Block size to be used for MyISAM index pages."),
3738
"Block size to be used for MyISAM index pages.",
3673
3739
(char**) &opt_myisam_block_size,
3674
3740
(char**) &opt_myisam_block_size, 0, GET_ULONG, REQUIRED_ARG,
3675
3741
MI_KEY_BLOCK_LENGTH, MI_MIN_KEY_BLOCK_LENGTH, MI_MAX_KEY_BLOCK_LENGTH,
3676
3742
0, MI_MIN_KEY_BLOCK_LENGTH, 0},
3677
3743
{"myisam_data_pointer_size", OPT_MYISAM_DATA_POINTER_SIZE,
3678
N_("Default pointer size to be used for MyISAM tables."),
3744
"Default pointer size to be used for MyISAM tables.",
3679
3745
(char**) &myisam_data_pointer_size,
3680
3746
(char**) &myisam_data_pointer_size, 0, GET_ULONG, REQUIRED_ARG,
3681
3747
6, 2, 7, 0, 1, 0},
3748
{"myisam_max_extra_sort_file_size", OPT_MYISAM_MAX_EXTRA_SORT_FILE_SIZE,
3749
"Deprecated option",
3750
(char**) &global_system_variables.myisam_max_extra_sort_file_size,
3751
(char**) &max_system_variables.myisam_max_extra_sort_file_size,
3752
0, GET_ULL, REQUIRED_ARG, (uint64_t) MI_MAX_TEMP_LENGTH,
3753
0, (uint64_t) MAX_FILE_SIZE, 0, 1, 0},
3682
3754
{"myisam_max_sort_file_size", OPT_MYISAM_MAX_SORT_FILE_SIZE,
3683
N_("Don't use the fast sort index method to created index if the "
3684
"temporary file would get bigger than this."),
3755
"Don't use the fast sort index method to created index if the temporary file would get bigger than this.",
3685
3756
(char**) &global_system_variables.myisam_max_sort_file_size,
3686
3757
(char**) &max_system_variables.myisam_max_sort_file_size, 0,
3687
3758
GET_ULL, REQUIRED_ARG, (int64_t) LONG_MAX, 0, (uint64_t) MAX_FILE_SIZE,
3688
3759
0, 1024*1024, 0},
3689
3760
{"myisam_repair_threads", OPT_MYISAM_REPAIR_THREADS,
3690
N_("Number of threads to use when repairing MyISAM tables. The value of "
3691
"1 disables parallel repair."),
3761
"Number of threads to use when repairing MyISAM tables. The value of 1 disables parallel repair.",
3692
3762
(char**) &global_system_variables.myisam_repair_threads,
3693
3763
(char**) &max_system_variables.myisam_repair_threads, 0,
3694
3764
GET_ULONG, REQUIRED_ARG, 1, 1, ULONG_MAX, 0, 1, 0},
3695
3765
{"myisam_sort_buffer_size", OPT_MYISAM_SORT_BUFFER_SIZE,
3696
N_("The buffer that is allocated when sorting the index when doing a "
3697
"REPAIR or when creating indexes with CREATE INDEX or ALTER TABLE."),
3766
"The buffer that is allocated when sorting the index when doing a REPAIR or when creating indexes with CREATE INDEX or ALTER TABLE.",
3698
3767
(char**) &global_system_variables.myisam_sort_buff_size,
3699
3768
(char**) &max_system_variables.myisam_sort_buff_size, 0,
3700
GET_ULONG, REQUIRED_ARG, 8192*1024, 4, INT32_MAX, 0, 1, 0},
3769
GET_ULONG, REQUIRED_ARG, 8192*1024, 4, ~0L, 0, 1, 0},
3701
3770
{"myisam_stats_method", OPT_MYISAM_STATS_METHOD,
3702
N_("Specifies how MyISAM index statistics collection code should threat "
3703
"NULLs. Possible values of name are 'nulls_unequal' "
3704
"(default behavior), "
3705
"'nulls_equal' (emulate MySQL 4.0 behavior), and 'nulls_ignored'."),
3771
"Specifies how MyISAM index statistics collection code should threat NULLs. "
3772
"Possible values of name are \"nulls_unequal\" (default behavior for 4.1/5.0), "
3773
"\"nulls_equal\" (emulate 4.0 behavior), and \"nulls_ignored\".",
3706
3774
(char**) &myisam_stats_method_str, (char**) &myisam_stats_method_str, 0,
3707
3775
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
3708
3776
{"net_buffer_length", OPT_NET_BUFFER_LENGTH,
3709
N_("Buffer length for TCP/IP and socket communication."),
3777
"Buffer length for TCP/IP and socket communication.",
3710
3778
(char**) &global_system_variables.net_buffer_length,
3711
3779
(char**) &max_system_variables.net_buffer_length, 0, GET_ULONG,
3712
3780
REQUIRED_ARG, 16384, 1024, 1024*1024L, 0, 1024, 0},
3713
3781
{"net_read_timeout", OPT_NET_READ_TIMEOUT,
3714
N_("Number of seconds to wait for more data from a connection before "
3715
"aborting the read."),
3782
"Number of seconds to wait for more data from a connection before aborting the read.",
3716
3783
(char**) &global_system_variables.net_read_timeout,
3717
3784
(char**) &max_system_variables.net_read_timeout, 0, GET_ULONG,
3718
3785
REQUIRED_ARG, NET_READ_TIMEOUT, 1, LONG_TIMEOUT, 0, 1, 0},
3719
3786
{"net_retry_count", OPT_NET_RETRY_COUNT,
3720
N_("If a read on a communication port is interrupted, retry this many "
3721
"times before giving up."),
3787
"If a read on a communication port is interrupted, retry this many times before giving up.",
3722
3788
(char**) &global_system_variables.net_retry_count,
3723
3789
(char**) &max_system_variables.net_retry_count,0,
3724
3790
GET_ULONG, REQUIRED_ARG, MYSQLD_NET_RETRY_COUNT, 1, ULONG_MAX, 0, 1, 0},
3725
3791
{"net_write_timeout", OPT_NET_WRITE_TIMEOUT,
3726
N_("Number of seconds to wait for a block to be written to a connection "
3727
"before aborting the write."),
3792
"Number of seconds to wait for a block to be written to a connection before aborting the write.",
3728
3793
(char**) &global_system_variables.net_write_timeout,
3729
3794
(char**) &max_system_variables.net_write_timeout, 0, GET_ULONG,
3730
3795
REQUIRED_ARG, NET_WRITE_TIMEOUT, 1, LONG_TIMEOUT, 0, 1, 0},
3731
{ "old", OPT_OLD_MODE,
3732
N_("Use compatible behavior."),
3796
{ "old", OPT_OLD_MODE, "Use compatible behavior.",
3733
3797
(char**) &global_system_variables.old_mode,
3734
(char**) &max_system_variables.old_mode, 0, GET_BOOL, NO_ARG,
3798
(char**) &max_system_variables.old_mode, 0, GET_BOOL, NO_ARG,
3735
3799
0, 0, 0, 0, 0, 0},
3736
3800
{"open_files_limit", OPT_OPEN_FILES_LIMIT,
3737
N_("If this is not 0, then mysqld will use this value to reserve file "
3738
"descriptors to use with setrlimit(). If this value is 0 then mysqld "
3739
"will reserve max_connections*5 or max_connections + table_cache*2 "
3740
"(whichever is larger) number of files."),
3801
"If this is not 0, then mysqld will use this value to reserve file descriptors to use with setrlimit(). If this value is 0 then mysqld will reserve max_connections*5 or max_connections + table_cache*2 (whichever is larger) number of files.",
3741
3802
(char**) &open_files_limit, (char**) &open_files_limit, 0, GET_ULONG,
3742
3803
REQUIRED_ARG, 0, 0, OS_FILE_LIMIT, 0, 1, 0},
3743
3804
{"optimizer_prune_level", OPT_OPTIMIZER_PRUNE_LEVEL,
3744
N_("Controls the heuristic(s) applied during query optimization to prune "
3745
"less-promising partial plans from the optimizer search space. Meaning: "
3746
"0 - do not apply any heuristic, thus perform exhaustive search; "
3747
"1 - prune plans based on number of retrieved rows."),
3805
"Controls the heuristic(s) applied during query optimization to prune less-promising partial plans from the optimizer search space. Meaning: 0 - do not apply any heuristic, thus perform exhaustive search; 1 - prune plans based on number of retrieved rows.",
3748
3806
(char**) &global_system_variables.optimizer_prune_level,
3749
3807
(char**) &max_system_variables.optimizer_prune_level,
3750
3808
0, GET_ULONG, OPT_ARG, 1, 0, 1, 0, 1, 0},
3751
3809
{"optimizer_search_depth", OPT_OPTIMIZER_SEARCH_DEPTH,
3752
N_("Maximum depth of search performed by the query optimizer. Values "
3753
"larger than the number of relations in a query result in better query "
3754
"plans, but take longer to compile a query. Smaller values than the "
3755
"number of tables in a relation result in faster optimization, but may "
3756
"produce very bad query plans. If set to 0, the system will "
3757
"automatically pick a reasonable value; if set to MAX_TABLES+2, the "
3758
"optimizer will switch to the original find_best (used for "
3759
"testing/comparison)."),
3810
"Maximum depth of search performed by the query optimizer. Values larger than the number of relations in a query result in better query plans, but take longer to compile a query. Smaller values than the number of tables in a relation result in faster optimization, but may produce very bad query plans. If set to 0, the system will automatically pick a reasonable value; if set to MAX_TABLES+2, the optimizer will switch to the original find_best (used for testing/comparison).",
3760
3811
(char**) &global_system_variables.optimizer_search_depth,
3761
3812
(char**) &max_system_variables.optimizer_search_depth,
3762
3813
0, GET_ULONG, OPT_ARG, MAX_TABLES+1, 0, MAX_TABLES+2, 0, 1, 0},
3763
3814
{"plugin_dir", OPT_PLUGIN_DIR,
3764
N_("Directory for plugins."),
3815
"Directory for plugins.",
3765
3816
(char**) &opt_plugin_dir_ptr, (char**) &opt_plugin_dir_ptr, 0,
3766
3817
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
3767
3818
{"plugin_load", OPT_PLUGIN_LOAD,
3768
N_("Optional comma separated list of plugins to load, where each plugin is "
3769
"identified by the name of the shared library. "
3770
"[for example: --plugin_load=libmd5udf.so]"),
3819
"Optional colon separated list of plugins to load, where each plugin is "
3820
"identified by name and path to library seperated by an equals.",
3771
3821
(char**) &opt_plugin_load, (char**) &opt_plugin_load, 0,
3772
3822
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
3773
3823
{"preload_buffer_size", OPT_PRELOAD_BUFFER_SIZE,
3774
N_("The size of the buffer that is allocated when preloading indexes"),
3824
"The size of the buffer that is allocated when preloading indexes",
3775
3825
(char**) &global_system_variables.preload_buff_size,
3776
3826
(char**) &max_system_variables.preload_buff_size, 0, GET_ULONG,
3777
3827
REQUIRED_ARG, 32*1024L, 1024, 1024*1024*1024L, 0, 1, 0},
3778
3828
{"query_alloc_block_size", OPT_QUERY_ALLOC_BLOCK_SIZE,
3779
N_("Allocation block size for query parsing and execution"),
3829
"Allocation block size for query parsing and execution",
3780
3830
(char**) &global_system_variables.query_alloc_block_size,
3781
3831
(char**) &max_system_variables.query_alloc_block_size, 0, GET_ULONG,
3782
3832
REQUIRED_ARG, QUERY_ALLOC_BLOCK_SIZE, 1024, ULONG_MAX, 0, 1024, 0},
3783
3833
{"query_prealloc_size", OPT_QUERY_PREALLOC_SIZE,
3784
N_("Persistent buffer for query parsing and execution"),
3834
"Persistent buffer for query parsing and execution",
3785
3835
(char**) &global_system_variables.query_prealloc_size,
3786
3836
(char**) &max_system_variables.query_prealloc_size, 0, GET_ULONG,
3787
3837
REQUIRED_ARG, QUERY_ALLOC_PREALLOC_SIZE, QUERY_ALLOC_PREALLOC_SIZE,
3788
3838
ULONG_MAX, 0, 1024, 0},
3789
3839
{"range_alloc_block_size", OPT_RANGE_ALLOC_BLOCK_SIZE,
3790
N_("Allocation block size for storing ranges during optimization"),
3840
"Allocation block size for storing ranges during optimization",
3791
3841
(char**) &global_system_variables.range_alloc_block_size,
3792
3842
(char**) &max_system_variables.range_alloc_block_size, 0, GET_ULONG,
3793
3843
REQUIRED_ARG, RANGE_ALLOC_BLOCK_SIZE, RANGE_ALLOC_BLOCK_SIZE, ULONG_MAX,
3795
3845
{"read_buffer_size", OPT_RECORD_BUFFER,
3796
N_("Each thread that does a sequential scan allocates a buffer of this "
3797
"size for each table it scans. If you do many sequential scans, you may "
3798
"want to increase this value."),
3846
"Each thread that does a sequential scan allocates a buffer of this size for each table it scans. If you do many sequential scans, you may want to increase this value.",
3799
3847
(char**) &global_system_variables.read_buff_size,
3800
3848
(char**) &max_system_variables.read_buff_size,0, GET_ULONG, REQUIRED_ARG,
3801
3849
128*1024L, IO_SIZE*2+MALLOC_OVERHEAD, INT32_MAX, MALLOC_OVERHEAD, IO_SIZE,
3803
3851
{"read_only", OPT_READONLY,
3804
N_("Make all non-temporary tables read-only, with the exception for "
3805
"replication (slave) threads and users with the SUPER privilege"),
3852
"Make all non-temporary tables read-only, with the exception for replication (slave) threads and users with the SUPER privilege",
3806
3853
(char**) &opt_readonly,
3807
3854
(char**) &opt_readonly,
3808
3855
0, GET_BOOL, NO_ARG, 0, 0, 1, 0, 1, 0},
3809
3856
{"read_rnd_buffer_size", OPT_RECORD_RND_BUFFER,
3810
N_("When reading rows in sorted order after a sort, the rows are read "
3811
"through this buffer to avoid a disk seeks. If not set, then it's set "
3812
"to the value of record_buffer."),
3857
"When reading rows in sorted order after a sort, the rows are read through this buffer to avoid a disk seeks. If not set, then it's set to the value of record_buffer.",
3813
3858
(char**) &global_system_variables.read_rnd_buff_size,
3814
3859
(char**) &max_system_variables.read_rnd_buff_size, 0,
3815
3860
GET_ULONG, REQUIRED_ARG, 256*1024L, 64 /*IO_SIZE*2+MALLOC_OVERHEAD*/ ,
3818
3863
"Alias for read_buffer_size",
3819
3864
(char**) &global_system_variables.read_buff_size,
3820
3865
(char**) &max_system_variables.read_buff_size,0, GET_ULONG, REQUIRED_ARG,
3821
128*1024L, IO_SIZE*2+MALLOC_OVERHEAD,
3822
INT32_MAX, MALLOC_OVERHEAD, IO_SIZE, 0},
3866
128*1024L, IO_SIZE*2+MALLOC_OVERHEAD, INT32_MAX, MALLOC_OVERHEAD, IO_SIZE, 0},
3823
3867
{"relay_log_purge", OPT_RELAY_LOG_PURGE,
3824
N_("0 = do not purge relay logs. "
3825
"1 = purge them as soon as they are no more needed."),
3868
"0 = do not purge relay logs. 1 = purge them as soon as they are no more needed.",
3826
3869
(char**) &relay_log_purge,
3827
3870
(char**) &relay_log_purge, 0, GET_BOOL, NO_ARG,
3828
3871
1, 0, 1, 0, 1, 0},
3829
3872
{"relay_log_space_limit", OPT_RELAY_LOG_SPACE_LIMIT,
3830
N_("Maximum space to use for all relay logs."),
3873
"Maximum space to use for all relay logs.",
3831
3874
(char**) &relay_log_space_limit,
3832
3875
(char**) &relay_log_space_limit, 0, GET_ULL, REQUIRED_ARG, 0L, 0L,
3833
3876
(int64_t) ULONG_MAX, 0, 1, 0},
3834
3877
{"slave_compressed_protocol", OPT_SLAVE_COMPRESSED_PROTOCOL,
3835
N_("Use compression on master/slave protocol."),
3878
"Use compression on master/slave protocol.",
3836
3879
(char**) &opt_slave_compressed_protocol,
3837
3880
(char**) &opt_slave_compressed_protocol,
3838
3881
0, GET_BOOL, NO_ARG, 0, 0, 1, 0, 1, 0},
3839
3882
{"slave_net_timeout", OPT_SLAVE_NET_TIMEOUT,
3840
N_("Number of seconds to wait for more data from a master/slave connection "
3841
"before aborting the read."),
3883
"Number of seconds to wait for more data from a master/slave connection before aborting the read.",
3842
3884
(char**) &slave_net_timeout, (char**) &slave_net_timeout, 0,
3843
3885
GET_ULONG, REQUIRED_ARG, SLAVE_NET_TIMEOUT, 1, LONG_TIMEOUT, 0, 1, 0},
3844
3886
{"slave_transaction_retries", OPT_SLAVE_TRANS_RETRIES,
3845
N_("Number of times the slave SQL thread will retry a transaction in case "
3846
"it failed with a deadlock or elapsed lock wait timeout, "
3847
"before giving up and stopping."),
3887
"Number of times the slave SQL thread will retry a transaction in case "
3888
"it failed with a deadlock or elapsed lock wait timeout, "
3889
"before giving up and stopping.",
3848
3890
(char**) &slave_trans_retries, (char**) &slave_trans_retries, 0,
3849
3891
GET_ULONG, REQUIRED_ARG, 10L, 0L, (int64_t) ULONG_MAX, 0, 1, 0},
3850
3892
{"slave-allow-batching", OPT_SLAVE_ALLOW_BATCHING,
3851
N_("Allow slave to batch requests."),
3893
"Allow slave to batch requests.",
3852
3894
(char**) &slave_allow_batching, (char**) &slave_allow_batching,
3853
3895
0, GET_BOOL, NO_ARG, 0, 0, 1, 0, 1, 0},
3854
3896
{"slow_launch_time", OPT_SLOW_LAUNCH_TIME,
3855
N_("If creating the thread takes longer than this value (in seconds), the "
3856
"Slow_launch_threads counter will be incremented."),
3897
"If creating the thread takes longer than this value (in seconds), the Slow_launch_threads counter will be incremented.",
3857
3898
(char**) &slow_launch_time, (char**) &slow_launch_time, 0, GET_ULONG,
3858
3899
REQUIRED_ARG, 2L, 0L, LONG_TIMEOUT, 0, 1, 0},
3859
3900
{"sort_buffer_size", OPT_SORT_BUFFER,
3860
N_("Each thread that needs to do a sort allocates a buffer of this size."),
3901
"Each thread that needs to do a sort allocates a buffer of this size.",
3861
3902
(char**) &global_system_variables.sortbuff_size,
3862
3903
(char**) &max_system_variables.sortbuff_size, 0, GET_ULONG, REQUIRED_ARG,
3863
3904
MAX_SORT_MEMORY, MIN_SORT_MEMORY+MALLOC_OVERHEAD*2, ULONG_MAX,
3864
3905
MALLOC_OVERHEAD, 1, 0},
3865
3906
{"sync-binlog", OPT_SYNC_BINLOG,
3866
N_("Synchronously flush binary log to disk after every #th event. "
3867
"Use 0 (default) to disable synchronous flushing."),
3907
"Synchronously flush binary log to disk after every #th event. "
3908
"Use 0 (default) to disable synchronous flushing.",
3868
3909
(char**) &sync_binlog_period, (char**) &sync_binlog_period, 0, GET_ULONG,
3869
3910
REQUIRED_ARG, 0, 0, ULONG_MAX, 0, 1, 0},
3911
{"sync-frm", OPT_SYNC_FRM, "Sync .frm to disk on create. Enabled by default.",
3912
(char**) &opt_sync_frm, (char**) &opt_sync_frm, 0, GET_BOOL, NO_ARG, 1, 0,
3914
{"table_cache", OPT_TABLE_OPEN_CACHE,
3915
"Deprecated; use --table_open_cache instead.",
3916
(char**) &table_cache_size, (char**) &table_cache_size, 0, GET_ULONG,
3917
REQUIRED_ARG, TABLE_OPEN_CACHE_DEFAULT, 1, 512*1024L, 0, 1, 0},
3870
3918
{"table_definition_cache", OPT_TABLE_DEF_CACHE,
3871
N_("The number of cached table definitions."),
3919
"The number of cached table definitions.",
3872
3920
(char**) &table_def_size, (char**) &table_def_size,
3873
3921
0, GET_ULONG, REQUIRED_ARG, 128, 1, 512*1024L, 0, 1, 0},
3874
3922
{"table_open_cache", OPT_TABLE_OPEN_CACHE,
3875
N_("The number of cached open tables."),
3923
"The number of cached open tables.",
3876
3924
(char**) &table_cache_size, (char**) &table_cache_size, 0, GET_ULONG,
3877
3925
REQUIRED_ARG, TABLE_OPEN_CACHE_DEFAULT, 1, 512*1024L, 0, 1, 0},
3878
3926
{"table_lock_wait_timeout", OPT_TABLE_LOCK_WAIT_TIMEOUT,
3879
N_("Timeout in seconds to wait for a table level lock before returning an "
3880
"error. Used only if the connection has active cursors."),
3927
"Timeout in seconds to wait for a table level lock before returning an "
3928
"error. Used only if the connection has active cursors.",
3881
3929
(char**) &table_lock_wait_timeout, (char**) &table_lock_wait_timeout,
3882
3930
0, GET_ULONG, REQUIRED_ARG, 50, 1, 1024 * 1024 * 1024, 0, 1, 0},
3883
3931
{"thread_cache_size", OPT_THREAD_CACHE_SIZE,
3884
N_("How many threads we should keep in a cache for reuse."),
3932
"How many threads we should keep in a cache for reuse.",
3885
3933
(char**) &thread_cache_size, (char**) &thread_cache_size, 0, GET_ULONG,
3886
3934
REQUIRED_ARG, 0, 0, 16384, 0, 1, 0},
3887
3935
{"thread_pool_size", OPT_THREAD_CACHE_SIZE,
3888
N_("How many threads we should create to handle query requests in case of "
3889
"'thread_handling=pool-of-threads'"),
3936
"How many threads we should create to handle query requests in case of 'thread_handling=pool-of-threads'",
3890
3937
(char**) &thread_pool_size, (char**) &thread_pool_size, 0, GET_ULONG,
3891
3938
REQUIRED_ARG, 20, 1, 16384, 0, 1, 0},
3892
3939
{"thread_stack", OPT_THREAD_STACK,
3893
N_("The stack size for each thread."),
3894
(char**) &my_thread_stack_size,
3895
(char**) &my_thread_stack_size, 0, GET_ULONG,
3896
REQUIRED_ARG,DEFAULT_THREAD_STACK,
3940
"The stack size for each thread.", (char**) &my_thread_stack_size,
3941
(char**) &my_thread_stack_size, 0, GET_ULONG, REQUIRED_ARG,DEFAULT_THREAD_STACK,
3897
3942
1024L*128L, ULONG_MAX, 0, 1024, 0},
3898
3943
{ "time_format", OPT_TIME_FORMAT,
3899
N_("The TIME format (for future)."),
3900
(char**) &opt_date_time_formats[DRIZZLE_TIMESTAMP_TIME],
3901
(char**) &opt_date_time_formats[DRIZZLE_TIMESTAMP_TIME],
3944
"The TIME format (for future).",
3945
(char**) &opt_date_time_formats[MYSQL_TIMESTAMP_TIME],
3946
(char**) &opt_date_time_formats[MYSQL_TIMESTAMP_TIME],
3902
3947
0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
3903
3948
{"tmp_table_size", OPT_TMP_TABLE_SIZE,
3904
N_("If an internal in-memory temporary table exceeds this size, MySQL will"
3905
" automatically convert it to an on-disk MyISAM table."),
3949
"If an internal in-memory temporary table exceeds this size, MySQL will"
3950
" automatically convert it to an on-disk MyISAM table.",
3906
3951
(char**) &global_system_variables.tmp_table_size,
3907
3952
(char**) &max_system_variables.tmp_table_size, 0, GET_ULL,
3908
3953
REQUIRED_ARG, 16*1024*1024L, 1024, MAX_MEM_TABLE_SIZE, 0, 1, 0},
3909
3954
{"transaction_alloc_block_size", OPT_TRANS_ALLOC_BLOCK_SIZE,
3910
N_("Allocation block size for transactions to be stored in binary log"),
3955
"Allocation block size for transactions to be stored in binary log",
3911
3956
(char**) &global_system_variables.trans_alloc_block_size,
3912
3957
(char**) &max_system_variables.trans_alloc_block_size, 0, GET_ULONG,
3913
3958
REQUIRED_ARG, QUERY_ALLOC_BLOCK_SIZE, 1024, ULONG_MAX, 0, 1024, 0},
3914
3959
{"transaction_prealloc_size", OPT_TRANS_PREALLOC_SIZE,
3915
N_("Persistent buffer for transactions to be stored in binary log"),
3960
"Persistent buffer for transactions to be stored in binary log",
3916
3961
(char**) &global_system_variables.trans_prealloc_size,
3917
3962
(char**) &max_system_variables.trans_prealloc_size, 0, GET_ULONG,
3918
3963
REQUIRED_ARG, TRANS_ALLOC_PREALLOC_SIZE, 1024, ULONG_MAX, 0, 1024, 0},
3919
3964
{"wait_timeout", OPT_WAIT_TIMEOUT,
3920
N_("The number of seconds the server waits for activity on a connection "
3921
"before closing it."),
3965
"The number of seconds the server waits for activity on a connection before closing it.",
3922
3966
(char**) &global_system_variables.net_wait_timeout,
3923
3967
(char**) &max_system_variables.net_wait_timeout, 0, GET_ULONG,
3924
REQUIRED_ARG, NET_WAIT_TIMEOUT, 1, LONG_TIMEOUT,
3968
REQUIRED_ARG, NET_WAIT_TIMEOUT, 1, IF_WIN(INT32_MAX/1000, LONG_TIMEOUT),
3926
3970
{0, 0, 0, 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}
3929
static int show_net_compression(THD *thd __attribute__((unused)),
3973
static int show_net_compression(THD *thd __attribute__((__unused__)),
3931
char *buff __attribute__((unused)))
3975
char *buff __attribute__((__unused__)))
3933
3977
var->type= SHOW_MY_BOOL;
3934
3978
var->value= (char *)&thd->net.compress;