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