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