MySQL  8.0.15
Source Code Documentation
mysqld.cc File Reference

MySQL server daemon. More...

#include "sql/mysqld.h"
#include "my_config.h"
#include "binlog_event.h"
#include "control_events.h"
#include "errmsg.h"
#include "ft_global.h"
#include "keycache.h"
#include "m_string.h"
#include "migrate_keyring.h"
#include "my_alloc.h"
#include "my_base.h"
#include "my_bitmap.h"
#include "my_command.h"
#include "my_dbug.h"
#include "my_default.h"
#include "my_dir.h"
#include "my_loglevel.h"
#include "my_macros.h"
#include "my_shm_defaults.h"
#include "my_stacktrace.h"
#include "my_thread_local.h"
#include "my_time.h"
#include "my_timer.h"
#include "myisam.h"
#include "mysql/components/services/log_builtins.h"
#include "mysql/components/services/log_shared.h"
#include "mysql/plugin.h"
#include "mysql/plugin_audit.h"
#include "mysql/psi/mysql_cond.h"
#include "mysql/psi/mysql_file.h"
#include "mysql/psi/mysql_memory.h"
#include "mysql/psi/mysql_mutex.h"
#include "mysql/psi/mysql_rwlock.h"
#include "mysql/psi/mysql_socket.h"
#include "mysql/psi/mysql_stage.h"
#include "mysql/psi/mysql_statement.h"
#include "mysql/psi/mysql_thread.h"
#include "mysql/psi/psi_base.h"
#include "mysql/psi/psi_cond.h"
#include "mysql/psi/psi_data_lock.h"
#include "mysql/psi/psi_error.h"
#include "mysql/psi/psi_file.h"
#include "mysql/psi/psi_idle.h"
#include "mysql/psi/psi_mdl.h"
#include "mysql/psi/psi_memory.h"
#include "mysql/psi/psi_mutex.h"
#include "mysql/psi/psi_rwlock.h"
#include "mysql/psi/psi_socket.h"
#include "mysql/psi/psi_stage.h"
#include "mysql/psi/psi_statement.h"
#include "mysql/psi/psi_system.h"
#include "mysql/psi/psi_table.h"
#include "mysql/psi/psi_thread.h"
#include "mysql/psi/psi_transaction.h"
#include "mysql/service_mysql_alloc.h"
#include "mysql/thread_type.h"
#include "mysql_com.h"
#include "mysql_time.h"
#include "mysql_version.h"
#include "mysqld_error.h"
#include "mysys_err.h"
#include "pfs_thread_provider.h"
#include "print_version.h"
#include "sql/auth/auth_common.h"
#include "sql/auth/sql_authentication.h"
#include "sql/auth/sql_security_ctx.h"
#include "sql/auto_thd.h"
#include "sql/binlog.h"
#include "sql/bootstrap.h"
#include "sql/check_stack.h"
#include "sql/conn_handler/connection_acceptor.h"
#include "sql/conn_handler/connection_handler_impl.h"
#include "sql/conn_handler/connection_handler_manager.h"
#include "sql/conn_handler/socket_connection.h"
#include "sql/current_thd.h"
#include "sql/dd/cache/dictionary_client.h"
#include "sql/debug_sync.h"
#include "sql/derror.h"
#include "sql/event_data_objects.h"
#include "sql/events.h"
#include "sql/handler.h"
#include "sql/hostname.h"
#include "sql/init.h"
#include "sql/item.h"
#include "sql/item_cmpfunc.h"
#include "sql/item_create.h"
#include "sql/item_func.h"
#include "sql/item_strfunc.h"
#include "sql/keycaches.h"
#include "sql/log.h"
#include "sql/log_event.h"
#include "sql/log_resource.h"
#include "sql/mdl.h"
#include "sql/mdl_context_backup.h"
#include "sql/my_decimal.h"
#include "sql/mysqld_daemon.h"
#include "sql/mysqld_thd_manager.h"
#include "sql/opt_costconstantcache.h"
#include "sql/opt_range.h"
#include "sql/options_mysqld.h"
#include "sql/partitioning/partition_handler.h"
#include "sql/persisted_variable.h"
#include "sql/plugin_table.h"
#include "sql/protocol.h"
#include "sql/psi_memory_key.h"
#include "sql/query_options.h"
#include "sql/replication.h"
#include "sql/resourcegroups/resource_group_mgr.h"
#include "sql/rpl_filter.h"
#include "sql/rpl_gtid.h"
#include "sql/rpl_gtid_persist.h"
#include "sql/rpl_handler.h"
#include "sql/rpl_info_factory.h"
#include "sql/rpl_info_handler.h"
#include "sql/rpl_injector.h"
#include "sql/rpl_log_encryption.h"
#include "sql/rpl_master.h"
#include "sql/rpl_mi.h"
#include "sql/rpl_msr.h"
#include "sql/rpl_rli.h"
#include "sql/rpl_slave.h"
#include "sql/rpl_trx_tracking.h"
#include "sql/sd_notify.h"
#include "sql/session_tracker.h"
#include "sql/set_var.h"
#include "sql/sp_head.h"
#include "sql/sql_audit.h"
#include "sql/sql_base.h"
#include "sql/sql_callback.h"
#include "sql/sql_class.h"
#include "sql/sql_connect.h"
#include "sql/sql_error.h"
#include "sql/sql_initialize.h"
#include "sql/sql_lex.h"
#include "sql/sql_list.h"
#include "sql/sql_locale.h"
#include "sql/sql_manager.h"
#include "sql/sql_parse.h"
#include "sql/sql_plugin.h"
#include "sql/sql_plugin_ref.h"
#include "sql/sql_reload.h"
#include "sql/sql_restart_server.h"
#include "sql/sql_servers.h"
#include "sql/sql_show.h"
#include "sql/sql_table.h"
#include "sql/sql_test.h"
#include "sql/sql_udf.h"
#include "sql/sys_vars.h"
#include "sql/sys_vars_shared.h"
#include "sql/table_cache.h"
#include "sql/tc_log.h"
#include "sql/thd_raii.h"
#include "sql/thr_malloc.h"
#include "sql/transaction.h"
#include "sql/tztime.h"
#include "sql/xa.h"
#include "sql_common.h"
#include "sql_string.h"
#include "storage/myisam/ha_myisam.h"
#include "storage/perfschema/pfs_services.h"
#include "thr_lock.h"
#include "thr_mutex.h"
#include "typelib.h"
#include "violite.h"
#include "storage/perfschema/pfs_server.h"
#include <errno.h>
#include <fcntl.h>
#include <fenv.h>
#include <limits.h>
#include <netdb.h>
#include <signal.h>
#include <stdarg.h>
#include <stddef.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/stat.h>
#include "unicode/uclean.h"
#include <algorithm>
#include <atomic>
#include <functional>
#include <new>
#include <string>
#include <vector>
#include "../components/mysql_server/log_builtins_filter_imp.h"
#include "../components/mysql_server/server_component.h"
#include "sql/auth/dynamic_privileges_impl.h"
#include "sql/dd/dd.h"
#include "sql/dd/dd_kill_immunizer.h"
#include "sql/dd/dictionary.h"
#include "sql/dd/performance_schema/init.h"
#include "sql/dd/upgrade/upgrade.h"
#include "sql/srv_session.h"
#include "welcome_copyright_notice.h"

Classes

class  Set_kill_conn
 This class implements callback function used by close_connections() to set KILL_CONNECTION flag on all thds in thd list. More...
 
class  Call_close_conn
 This class implements callback function used by close_connections() to close vio connection for all thds in thd list. More...
 
class  Reset_thd_status
 Reset status for all threads. More...
 

Macros

#define mysqld_charset   &my_charset_latin1
 
#define mysqld_default_locale_name   "en_US"
 
#define FIX_LOG_VAR(VAR, ALT)   if (!VAR || !*VAR) VAR = ALT;
 
#define MYSQL_SERVER_SUFFIX_STR   MYSQL_SERVER_SUFFIX_DEF
 

Functions

void setup_fpu ()
 
void handle_fatal_signal (int sig)
 Handler for fatal signals. More...
 
void set_remaining_args (int argc, char **argv)
 
int * get_remaining_argc ()
 
char *** get_remaining_argv ()
 
ulong sql_rnd_with_mutex ()
 
struct System_status_varget_thd_status_var (THD *thd)
 
static void option_error_reporter (enum loglevel level, uint ecode,...)
 
static void charset_error_reporter (enum loglevel level, uint ecode,...)
 Character set and collation error reporter that prints to sql error log. More...
 
static int mysql_init_variables ()
 Initialize MySQL global variables to default values. More...
 
static int get_options (int *argc_ptr, char ***argv_ptr)
 Get server options from the command line, and perform related server initializations. More...
 
static void add_terminator (vector< my_option > *options)
 
bool mysqld_get_one_option (int, const struct my_option *, char *)
 
static void set_server_version (void)
 
static int init_thread_environment ()
 
static char * get_relative_path (const char *path)
 
static int fix_paths (void)
 
static int test_if_case_insensitive (const char *dir_name)
 Check if file system used for databases is case insensitive. More...
 
static void end_ssl ()
 
static void delete_dictionary_tablespace ()
 Delete mysql.ibd after aborting upgrade. More...
 
void * signal_hand (void *arg)
 This thread handles SIGTERM, SIGQUIT and SIGHUP signals. More...
 
static void usage (void)
 
static void clean_up_mutexes (void)
 
static bool create_pid_file ()
 Create file to store pid number. More...
 
static void mysqld_exit (int exit_code)
 
static void delete_pid_file (myf flags)
 Remove the process' pid file. More...
 
static void clean_up (bool print_message)
 
static int handle_early_options ()
 Process command line options flagged as 'early'. More...
 
static void adjust_related_options (ulong *requested_open_files)
 
static bool read_init_file (char *file_name)
 
static void init_server_psi_keys (void)
 Initialise all the performance schema instrumentation points used by the server. More...
 
static void server_components_initialized ()
 Notify any waiters that the server components have been initialized. More...
 
static bool component_infrastructure_init ()
 Initializes component infrastructure by bootstrapping core component subsystem. More...
 
static void server_component_init ()
 This function is used to initialize the mysql_server component services. More...
 
static bool mysql_component_infrastructure_init ()
 Initializes MySQL Server component infrastructure part by initialize of dynamic loader persistence. More...
 
static bool component_infrastructure_deinit ()
 De-initializes Component infrastructure by de-initialization of the MySQL Server services (persistent dynamic loader) followed by de-initailization of the core Components infrostructure. More...
 
static void server_components_init_wait ()
 Block and wait until server components have been initialized. More...
 
static void close_connections (void)
 
bool signal_restart_server ()
 Signal the server thread for restart. More...
 
void kill_mysql (void)
 
static void unireg_abort (int exit_code)
 
void clean_up_mysqld_mutexes ()
 
void gtid_server_cleanup ()
 GTID cleanup destroys objects and reset their pointer. More...
 
bool gtid_server_init ()
 GTID initialization. More...
 
static void free_connection_acceptors ()
 
static void set_ports ()
 
static struct passwd * check_user (const char *user)
 
static void set_user (const char *user, struct passwd *user_info_arg)
 
static void set_effective_user (struct passwd *user_info_arg)
 
static void set_root (const char *path)
 Change root user if started with –chroot . More...
 
static bool check_address_is_wildcard (const char *address_value, size_t address_length)
 Check that an address value is a wildcard IP value, that is it has either the value 0.0.0.0 for IPv4 or the value ::1 in case IPv6, or has the specially treated symbol * as its value. More...
 
static bool check_bind_address_has_valid_value (const char *bind_address, std::list< std::string > *valid_bind_addresses)
 Check acceptable value of parameter bind_address. More...
 
static bool network_init (void)
 
static void empty_signal_handler (int sig)
 
void my_init_signals ()
 
static void start_signal_handler ()
 
void my_message_sql (uint error, const char *str, myf MyFlags)
 All global error messages are sent here where the first one is stored for the client. More...
 
void * my_str_malloc_mysqld (size_t size)
 
void my_str_free_mysqld (void *ptr)
 
void * my_str_realloc_mysqld (void *ptr, size_t size)
 
static int check_enough_stack_size (int recurse_level)
 This function is used to check for stack overrun for pathological cases of regular expressions and 'like' expressions. More...
 
static void init_sql_statement_names ()
 
static void init_sql_statement_info ()
 Initialize the command names array. More...
 
static void init_com_statement_info ()
 
static const char * rpl_make_log_name (PSI_memory_key key, const char *opt, const char *def, const char *ext)
 Create a replication file name or base for file names. More...
 
int init_common_variables ()
 
static ssl_artifacts_status auto_detect_ssl ()
 
static int warn_one (const char *file_name)
 
static int warn_self_signed_ca ()
 
static void init_ssl ()
 
static int init_ssl_communication ()
 
static int generate_server_uuid ()
 Generate a UUID and save it into server_uuid variable. More...
 
static int flush_auto_options (const char *fname)
 Save all options which was auto-generated by server-self into the given file. More...
 
static int init_server_auto_options ()
 File 'auto.cnf' resides in the data directory to hold values of options that server evaluates itself and that needs to be durable to sustain the server restart. More...
 
static bool initialize_storage_engine (char *se_name, const char *se_kind, plugin_ref *dest_plugin)
 
static void setup_error_log ()
 
static int init_server_components ()
 
static void test_lc_time_sz ()
 
static void set_super_read_only_post_init ()
 
int mysqld_main (int argc, char **argv)
 
static void adjust_open_files_limit (ulong *requested_open_files)
 Adjust open_files_limit. More...
 
static void adjust_max_connections (ulong requested_open_files)
 
static void adjust_table_cache_size (ulong requested_open_files)
 
static void adjust_table_def_size ()
 
static int show_queries (THD *thd, SHOW_VAR *var, char *)
 
static int show_net_compression (THD *thd, SHOW_VAR *var, char *buff)
 
static int show_starttime (THD *thd, SHOW_VAR *var, char *buff)
 
static int show_max_used_connections_time (THD *thd, SHOW_VAR *var, char *buff)
 
static int show_num_thread_running (THD *, SHOW_VAR *var, char *buff)
 
static int show_num_thread_created (THD *, SHOW_VAR *var, char *buff)
 
static int show_thread_id_count (THD *, SHOW_VAR *var, char *buff)
 
static int show_aborted_connects (THD *, SHOW_VAR *var, char *buff)
 
static int show_acl_cache_items_count (THD *, SHOW_VAR *var, char *buff)
 
static int show_connection_errors_max_connection (THD *, SHOW_VAR *var, char *buff)
 
static int show_connection_errors_select (THD *, SHOW_VAR *var, char *buff)
 
static int show_connection_errors_accept (THD *, SHOW_VAR *var, char *buff)
 
static int show_connection_errors_tcpwrap (THD *, SHOW_VAR *var, char *buff)
 
static int show_slave_running (THD *, SHOW_VAR *var, char *buff)
 After Multisource replication, this function only shows the value of default channel. More...
 
static int show_slave_retried_trans (THD *, SHOW_VAR *var, char *buff)
 This status variable is also exclusively (look comments on show_slave_running()) for default channel. More...
 
static int show_slave_received_heartbeats (THD *, SHOW_VAR *var, char *buff)
 Only for default channel. More...
 
static int show_slave_last_heartbeat (THD *thd, SHOW_VAR *var, char *buff)
 Only for default channel. More...
 
static int show_heartbeat_period (THD *, SHOW_VAR *var, char *buff)
 Only for default channel. More...
 
static int show_slave_rows_last_search_algorithm_used (THD *, SHOW_VAR *var, char *buff)
 
static int show_ongoing_automatic_gtid_violating_transaction_count (THD *, SHOW_VAR *var, char *buf)
 
static int show_ongoing_anonymous_gtid_violating_transaction_count (THD *, SHOW_VAR *var, char *buf)
 
static int show_ongoing_anonymous_transaction_count (THD *, SHOW_VAR *var, char *buf)
 
static int show_open_tables (THD *, SHOW_VAR *var, char *buff)
 
static int show_prepared_stmt_count (THD *, SHOW_VAR *var, char *buff)
 
static int show_table_definitions (THD *, SHOW_VAR *var, char *buff)
 
static int show_slave_open_temp_tables (THD *, SHOW_VAR *var, char *buf)
 
static void print_server_version (void)
 
static bool operator< (const my_option &a, const my_option &b)
 Compares two options' names, treats - and _ the same. More...
 
static void print_help ()
 
static bool is_rpl_global_filter_setting (char *argument)
 Check if it is a global replication filter setting. More...
 
void parse_filter_arg (char **channel_name, char **filter_val, char *argument)
 Extract channel name and filter value from argument. More...
 
static int parse_replicate_rewrite_db (char **key, char **val, char *argument)
 Extract channel name and filter value from argument. More...
 
static void * mysql_getopt_value (const char *keyname, size_t key_length, const struct my_option *option, int *error)
 Handle arguments for multiple key caches. More...
 
bool is_secure_file_path (const char *path)
 Test a file path to determine if the path is compatible with the secure file path restriction. More...
 
static bool check_secure_file_priv_path ()
 check_secure_file_priv_path : Checks path specified through –secure-file-priv and raises warning in following cases: More...
 
enum_server_operational_state get_server_state ()
 Returns the current state of the server : booting, operational or shutting down. More...
 
void refresh_status ()
 Reset global and session status variables. More...
 
void init_client_psi_keys (void)
 
bool do_create_native_table_for_pfs (THD *thd, const Plugin_table *t)
 
bool create_native_table_for_pfs (const Plugin_table *t)
 
static bool do_drop_native_table_for_pfs (THD *thd, const char *schema_name, const char *table_name)
 
bool drop_native_table_for_pfs (const char *schema_name, const char *table_name)
 

Variables

const char * show_comp_option_name [] = {"YES", "NO", "DISABLED"}
 
static const char * tc_heuristic_recover_names []
 
static TYPELIB tc_heuristic_recover_typelib
 
const char * first_keyword = "first"
 
const char * binary_keyword = "BINARY"
 
const char * my_localhost = "localhost"
 
bool opt_large_files = sizeof(my_off_t) > 4
 
static bool opt_autocommit
 for –autocommit command-line option More...
 
static get_opt_arg_source source_autocommit
 
bool opt_help = false
 
bool opt_verbose = false
 
PSI_file_key key_file_binlog_cache
 
PSI_file_key key_file_binlog_index_cache
 
static PSI_mutex_key key_LOCK_status
 
static PSI_mutex_key key_LOCK_manager
 
static PSI_mutex_key key_LOCK_crypt
 
static PSI_mutex_key key_LOCK_user_conn
 
static PSI_mutex_key key_LOCK_global_system_variables
 
static PSI_mutex_key key_LOCK_prepared_stmt_count
 
static PSI_mutex_key key_LOCK_sql_slave_skip_counter
 
static PSI_mutex_key key_LOCK_slave_net_timeout
 
static PSI_mutex_key key_LOCK_slave_trans_dep_tracker
 
static PSI_mutex_key key_LOCK_uuid_generator
 
static PSI_mutex_key key_LOCK_error_messages
 
static PSI_mutex_key key_LOCK_default_password_lifetime
 
static PSI_mutex_key key_LOCK_mandatory_roles
 
static PSI_mutex_key key_LOCK_password_history
 
static PSI_mutex_key key_LOCK_password_reuse_interval
 
static PSI_mutex_key key_LOCK_sql_rand
 
static PSI_mutex_key key_LOCK_log_throttle_qni
 
static PSI_mutex_key key_LOCK_reset_gtid_table
 
static PSI_mutex_key key_LOCK_compress_gtid_table
 
static PSI_mutex_key key_LOCK_collect_instance_log
 
static PSI_mutex_key key_BINLOG_LOCK_commit
 
static PSI_mutex_key key_BINLOG_LOCK_commit_queue
 
static PSI_mutex_key key_BINLOG_LOCK_done
 
static PSI_mutex_key key_BINLOG_LOCK_flush_queue
 
static PSI_mutex_key key_BINLOG_LOCK_index
 
static PSI_mutex_key key_BINLOG_LOCK_log
 
static PSI_mutex_key key_BINLOG_LOCK_binlog_end_pos
 
static PSI_mutex_key key_BINLOG_LOCK_sync
 
static PSI_mutex_key key_BINLOG_LOCK_sync_queue
 
static PSI_mutex_key key_BINLOG_LOCK_xids
 
static PSI_rwlock_key key_rwlock_global_sid_lock
 
static PSI_rwlock_key key_rwlock_gtid_mode_lock
 
static PSI_rwlock_key key_rwlock_LOCK_system_variables_hash
 
static PSI_rwlock_key key_rwlock_LOCK_sys_init_connect
 
static PSI_rwlock_key key_rwlock_LOCK_sys_init_slave
 
static PSI_cond_key key_BINLOG_COND_done
 
static PSI_cond_key key_BINLOG_update_cond
 
static PSI_cond_key key_BINLOG_prep_xids_cond
 
static PSI_cond_key key_COND_manager
 
static PSI_cond_key key_COND_compress_gtid_table
 
static PSI_thread_key key_thread_signal_hand
 
static PSI_thread_key key_thread_main
 
static PSI_file_key key_file_casetest
 
static PSI_file_key key_file_pid
 
static PSI_mutex_key key_LOCK_socket_listener_active
 
static PSI_cond_key key_COND_socket_listener_active
 
static PSI_mutex_key key_LOCK_start_signal_handler
 
static PSI_cond_key key_COND_start_signal_handler
 
static PSI_mutex_key key_LOCK_server_started
 
static PSI_cond_key key_COND_server_started
 
static PSI_mutex_key key_LOCK_keyring_operations
 
PSI_statement_info stmt_info_rpl
 Statement instrumentation key for replication. More...
 
static bool lower_case_table_names_used = 0
 
static bool socket_listener_active = false
 
static int pipe_write_fd = -1
 
static bool opt_daemonize = 0
 
bool opt_debugging = false
 
static bool opt_external_locking = 0
 
static bool opt_console = 0
 
static bool opt_short_log_format = 0
 
static char * mysqld_user
 
static char * mysqld_chroot
 
static char * default_character_set_name
 
static char * character_set_filesystem_name
 
static char * lc_messages
 
static char * lc_time_names_name
 
char * my_bind_addr_str
 
char * my_admin_bind_addr_str
 
uint mysqld_admin_port
 
bool listen_admin_interface_in_separate_thread
 
static char * default_collation_name
 
char * default_storage_engine
 
char * default_tmp_storage_engine
 
ulong internal_tmp_disk_storage_engine
 Use to mark which engine should be chosen to create internal temp table. More...
 
ulonglong temptable_max_ram
 
static char compiled_default_collation_name [] = MYSQL_DEFAULT_COLLATION_NAME
 
static bool binlog_format_used = false
 
LEX_STRING opt_init_connect
 
LEX_STRING opt_init_slave
 
LEX_STRING opt_mandatory_roles
 
bool opt_mandatory_roles_cache = false
 
bool opt_always_activate_granted_roles = false
 
bool opt_bin_log
 
bool opt_general_log
 
bool opt_slow_log
 
bool opt_general_log_raw
 
ulonglong log_output_options
 
bool opt_log_queries_not_using_indexes = 0
 
ulong opt_log_throttle_queries_not_using_indexes = 0
 
bool opt_log_slow_extra = false
 
bool opt_disable_networking = 0
 
bool opt_skip_show_db = 0
 
bool opt_skip_name_resolve = 0
 
bool opt_character_set_client_handshake = 1
 
bool server_id_supplied = false
 
static bool opt_endinfo
 
bool using_udf_functions
 
bool locked_in_memory
 
bool opt_using_transactions
 
ulong opt_tc_log_size
 
std::atomic< int32 > connection_events_loop_aborted_flag
 
static std::atomic< enum_server_operational_stateserver_operational_state
 
char * opt_log_error_suppression_list
 
char * opt_log_error_services
 
char * opt_keyring_migration_user = NULL
 
char * opt_keyring_migration_host = NULL
 
char * opt_keyring_migration_password = NULL
 
char * opt_keyring_migration_socket = NULL
 
char * opt_keyring_migration_source = NULL
 
char * opt_keyring_migration_destination = NULL
 
ulong opt_keyring_migration_port = 0
 
bool migrate_connect_options = 0
 Variable to check if connection related options are set as part of keyring migration. More...
 
uint host_cache_size
 The size of the host_cache. More...
 
ulong log_error_verbosity = 3
 
bool opt_no_dd_upgrade = false
 
bool opt_initialize = 0
 
bool opt_skip_slave_start = 0
 If set, slave is not autostarted. More...
 
bool opt_enable_named_pipe = 0
 
bool opt_local_infile
 
bool opt_slave_compressed_protocol
 
bool opt_safe_user_create = 0
 
bool opt_show_slave_auth_info
 
bool opt_log_slave_updates = 0
 
char * opt_slave_skip_errors
 
bool opt_slave_allow_batching = 0
 
bool old_mode
 compatibility option: More...
 
handlertonheap_hton
 
handlertontemptable_hton
 
handlertonmyisam_hton
 
handlertoninnodb_hton
 
char * opt_disabled_storage_engines
 
uint opt_server_id_bits = 0
 
ulong opt_server_id_mask = 0
 
bool read_only = 0
 
bool opt_readonly = 0
 
bool super_read_only = 0
 
bool opt_super_readonly = 0
 
bool opt_require_secure_transport = 0
 
bool relay_log_purge
 
bool relay_log_recovery
 
bool opt_allow_suspicious_udfs
 
char * opt_secure_file_priv
 
bool opt_log_slow_admin_statements = 0
 
bool opt_log_slow_slave_statements = 0
 
bool lower_case_file_system = 0
 
bool opt_large_pages = 0
 
bool opt_super_large_pages = 0
 
bool opt_myisam_use_mmap = 0
 
std::atomic< booloffline_mode
 
uint opt_large_page_size = 0
 
uint default_password_lifetime = 0
 
volatile bool password_require_current = false
 
mysql_mutex_t LOCK_default_password_lifetime
 
mysql_mutex_t LOCK_mandatory_roles
 
mysql_mutex_t LOCK_password_history
 
mysql_mutex_t LOCK_password_reuse_interval
 
bool opt_old_style_user_limits = 0
 
bool trust_function_creators = 0
 
bool check_proxy_users = 0
 
bool mysql_native_password_proxy_users = 0
 
bool sha256_password_proxy_users = 0
 
volatile bool mqh_used = 0
 
bool opt_noacl = 0
 
bool sp_automatic_privileges = 1
 
int32_t opt_regexp_time_limit
 
int32_t opt_regexp_stack_limit
 
ulong binlog_row_event_max_size
 
ulong binlog_checksum_options
 
ulong binlog_row_metadata
 
bool opt_master_verify_checksum = 0
 
bool opt_slave_sql_verify_checksum = 1
 
const char * binlog_format_names [] = {"MIXED", "STATEMENT", "ROW", NullS}
 
bool binlog_gtid_simple_recovery
 
ulong binlog_error_action
 
const char * binlog_error_action_list []
 
uint32 gtid_executed_compression_period = 0
 
bool opt_log_unsafe_statements
 
const char * timestamp_type_names [] = {"UTC", "SYSTEM", NullS}
 
ulong opt_log_timestamps
 
uint mysqld_port
 
uint test_flags
 
uint select_errors
 
uint ha_open_options
 
uint mysqld_port_timeout
 
ulong delay_key_write_options
 
uint protocol_version
 
uint lower_case_table_names
 
long tc_heuristic_recover
 
ulong back_log
 
ulong connect_timeout
 
ulong server_id
 
ulong table_cache_size
 
ulong table_cache_instances
 
ulong table_cache_size_per_instance
 
ulong schema_def_size
 
ulong stored_program_def_size
 
ulong table_def_size
 
ulong tablespace_def_size
 
ulong what_to_log
 
ulong slow_launch_time
 
std::atomic< int32 > atomic_slave_open_temp_tables {0}
 
ulong open_files_limit
 
ulong max_binlog_size
 
ulong max_relay_log_size
 
ulong slave_trans_retries
 
uint slave_net_timeout
 
ulong slave_exec_mode_options
 
ulonglong slave_type_conversions_options
 
ulong opt_mts_slave_parallel_workers
 
ulonglong opt_mts_pending_jobs_size_max
 
ulonglong slave_rows_search_algorithms_options
 
bool opt_slave_preserve_commit_order
 
uint slave_rows_last_search_algorithm_used
 
ulong mts_parallel_option
 
ulong binlog_cache_size = 0
 
ulonglong max_binlog_cache_size = 0
 
ulong slave_max_allowed_packet = 0
 
ulong binlog_stmt_cache_size = 0
 
int32 opt_binlog_max_flush_queue_time = 0
 
long opt_binlog_group_commit_sync_delay = 0
 
ulong opt_binlog_group_commit_sync_no_delay_count = 0
 
ulonglong max_binlog_stmt_cache_size = 0
 
ulong refresh_version
 
std::atomic< query_id_tatomic_global_query_id {1}
 
ulong aborted_threads
 
ulong delayed_insert_timeout
 
ulong delayed_insert_limit
 
ulong delayed_queue_size
 
ulong delayed_insert_threads
 
ulong delayed_insert_writes
 
ulong delayed_rows_in_use
 
ulong delayed_insert_errors
 
ulong flush_time
 
ulong specialflag = 0
 
ulong binlog_cache_use = 0
 
ulong binlog_cache_disk_use = 0
 
ulong binlog_stmt_cache_use = 0
 
ulong binlog_stmt_cache_disk_use = 0
 
ulong max_connections
 
ulong max_connect_errors
 
ulong rpl_stop_slave_timeout = LONG_TIMEOUT
 
bool log_bin_use_v1_row_events = 0
 
bool thread_cache_size_specified = false
 
bool host_cache_size_specified = false
 
bool table_definition_cache_specified = false
 
ulong locked_account_connection_count = 0
 
ulong max_prepared_stmt_count
 Limit of the total number of prepared statements in the server. More...
 
ulong prepared_stmt_count = 0
 Current total number of prepared statements in the server. More...
 
ulong current_pid
 
uint sync_binlog_period = 0
 
uint sync_relaylog_period = 0
 
uint sync_relayloginfo_period = 0
 
uint sync_masterinfo_period = 0
 
uint opt_mts_checkpoint_period
 
uint opt_mts_checkpoint_group
 
ulong expire_logs_days = 0
 
ulong binlog_expire_logs_seconds = 0
 
ulong stored_program_cache_size = 0
 Soft upper limit for number of sp_head objects that can be stored in the sp_cache for one connection. More...
 
bool avoid_temporal_upgrade
 Compatibility option to prevent auto upgrade of old temporals during certain ALTER TABLE operations. More...
 
bool persisted_globals_load = true
 
bool opt_keyring_operations = true
 
const double log_10 []
 
const int index_ext_length = 6
 
const char * index_ext = ".index"
 
const int relay_ext_length = 10
 
const char * relay_ext = "-relay-bin"
 
bool log_bin_supplied = false
 
time_t server_start_time
 
time_t flush_status_time
 
char server_uuid [UUID_LENGTH+1]
 
const char * server_uuid_ptr
 
char mysql_home [FN_REFLEN]
 
char pidfile_name [FN_REFLEN]
 
char system_time_zone [30]
 
char default_logfile_name [FN_REFLEN]
 
char default_binlogfile_name [FN_REFLEN]
 
char default_binlog_index_name [FN_REFLEN+index_ext_length]
 
char default_relaylogfile_name [FN_REFLEN+relay_ext_length]
 
char default_relaylog_index_name [FN_REFLEN+relay_ext_length+index_ext_length]
 
char * default_tz_name
 
static char errorlog_filename_buff [FN_REFLEN]
 
const char * log_error_dest
 
const char * my_share_dir [FN_REFLEN]
 
char glob_hostname [FN_REFLEN]
 
char mysql_real_data_home [FN_REFLEN]
 
char lc_messages_dir [FN_REFLEN]
 
char reg_ext [FN_EXTLEN]
 
char mysql_charsets_dir [FN_REFLEN]
 
char * opt_init_file
 
char * opt_tc_log_file
 
char * lc_messages_dir_ptr
 
char mysql_unpacked_real_data_home [FN_REFLEN]
 
size_t mysql_unpacked_real_data_home_len
 
size_t mysql_data_home_len = 1
 
uint reg_ext_length
 
char logname_path [FN_REFLEN]
 
char slow_logname_path [FN_REFLEN]
 
char secure_file_real_path [FN_REFLEN]
 
Time_zonedefault_tz
 
char * mysql_data_home = const_cast<char *>(".")
 
const char * mysql_real_data_home_ptr = mysql_real_data_home
 
char server_version [SERVER_VERSION_LENGTH]
 
char * mysqld_unix_port
 
char * opt_mysql_tmpdir
 
const char * in_left_expr_name = "<left expr>"
 name of reference on left expression in rewritten IN subquery More...
 
my_decimal decimal_zero
 
ulong connection_errors_internal = 0
 Number of connection errors from internal server errors. More...
 
ulong connection_errors_peer_addr = 0
 Number of errors when reading the peer address. More...
 
Eq_creator eq_creator
 
Ne_creator ne_creator
 
Equal_creator equal_creator
 
Gt_creator gt_creator
 
Lt_creator lt_creator
 
Ge_creator ge_creator
 
Le_creator le_creator
 
Rpl_global_filter rpl_global_filter
 
Rpl_filterbinlog_filter
 
struct System_variables global_system_variables
 
struct System_variables max_system_variables
 
struct System_status_var global_status_var
 
MY_TMPDIR mysql_tmpdir_list
 
CHARSET_INFOsystem_charset_info
 
CHARSET_INFOfiles_charset_info
 
CHARSET_INFOnational_charset_info
 
CHARSET_INFOtable_alias_charset
 
CHARSET_INFOcharacter_set_filesystem
 
MY_LOCALEmy_default_lc_messages
 
MY_LOCALEmy_default_lc_time_names
 
SHOW_COMP_OPTION have_ssl
 
SHOW_COMP_OPTION have_symlink
 
SHOW_COMP_OPTION have_dlopen
 
SHOW_COMP_OPTION have_query_cache
 
SHOW_COMP_OPTION have_geometry
 
SHOW_COMP_OPTION have_rtree_keys
 
SHOW_COMP_OPTION have_compress
 
SHOW_COMP_OPTION have_profiling
 
SHOW_COMP_OPTION have_statement_timeout = SHOW_OPTION_DISABLED
 
thread_local MEM_ROOT ** THR_MALLOC = nullptr
 
mysql_mutex_t LOCK_status
 
mysql_mutex_t LOCK_uuid_generator
 
mysql_mutex_t LOCK_crypt
 
mysql_mutex_t LOCK_global_system_variables
 
mysql_mutex_t LOCK_user_conn
 
mysql_mutex_t LOCK_error_messages
 
mysql_mutex_t LOCK_sql_rand
 
mysql_mutex_t LOCK_prepared_stmt_count
 The below lock protects access to two global server variables: max_prepared_stmt_count and prepared_stmt_count. More...
 
mysql_mutex_t LOCK_sql_slave_skip_counter
 
mysql_mutex_t LOCK_slave_net_timeout
 
mysql_mutex_t LOCK_slave_trans_dep_tracker
 
mysql_mutex_t LOCK_log_throttle_qni
 
mysql_rwlock_t LOCK_sys_init_connect
 
mysql_rwlock_t LOCK_sys_init_slave
 
mysql_rwlock_t LOCK_system_variables_hash
 
my_thread_handle signal_thread_id
 
sigset_t mysqld_signal_mask
 
my_thread_attr_t connection_attrib
 
mysql_mutex_t LOCK_server_started
 
mysql_cond_t COND_server_started
 
mysql_mutex_t LOCK_reset_gtid_table
 
mysql_mutex_t LOCK_compress_gtid_table
 
mysql_cond_t COND_compress_gtid_table
 
mysql_mutex_t LOCK_collect_instance_log
 
mysql_mutex_t LOCK_socket_listener_active
 
mysql_cond_t COND_socket_listener_active
 
mysql_mutex_t LOCK_start_signal_handler
 
mysql_cond_t COND_start_signal_handler
 
mysql_mutex_t LOCK_keyring_operations
 
bool mysqld_server_started = false
 
static bool mysqld_process_must_end_at_startup = false
 Set to true to signal at startup if the process must die. More...
 
uint report_port = 0
 
ulong master_retry_count = 0
 
char * master_info_file
 
char * relay_log_info_file
 
char * report_user
 
char * report_password
 
char * report_host
 
char * opt_relay_logname = 0
 
char * opt_relaylog_index_name = 0
 
bool opt_relaylog_index_name_supplied = false
 
bool opt_relay_logname_supplied = false
 
bool log_slave_updates_supplied = false
 
bool slave_preserve_commit_order_supplied = false
 
char * opt_general_logname
 
char * opt_slow_logname
 
char * opt_bin_logname
 
bool expire_logs_days_supplied = false
 
bool binlog_expire_logs_seconds_supplied = false
 
static bool opt_myisam_log
 
static int cleanup_done
 
static ulong opt_specialflag
 
char * opt_binlog_index_name
 
char * mysql_home_ptr
 
char * pidfile_name_ptr
 
char * default_auth_plugin
 
static MEM_ROOT argv_alloc {PSI_NOT_INSTRUMENTED, 512}
 Memory for allocating command line arguments, after load_defaults(). More...
 
static int remaining_argc
 Remaining command line arguments (count), filtered by handle_options(). More...
 
static char ** remaining_argv
 Remaining command line arguments (arguments), filtered by handle_options(). More...
 
int orig_argc
 
char ** orig_argv
 
static Connection_acceptor< Mysqld_socket_listener > * mysqld_socket_acceptor
 
Checkable_rwlockglobal_sid_lock = NULL
 Protects Gtid_state. See comment above gtid_state for details. More...
 
Sid_mapglobal_sid_map = NULL
 
Gtid_stategtid_state = NULL
 Global state of GTIDs. More...
 
Gtid_table_persistorgtid_table_persistor = NULL
 
static Persisted_variables_cache persisted_variables_cache
 
struct rand_struct sql_rand
 used by sql_class.cc:THD::THD() More...
 
struct passwd * user_info = NULL
 
static my_thread_t main_thread_id
 
static bool dynamic_plugins_are_initialized = false
 
static const char * default_dbug_option
 
bool opt_use_ssl = 1
 
char * opt_ssl_ca = NULL
 
char * opt_ssl_capath = NULL
 
char * opt_ssl_cert = NULL
 
char * opt_ssl_cipher = NULL
 
char * opt_ssl_key = NULL
 
char * opt_ssl_crl = NULL
 
char * opt_ssl_crlpath = NULL
 
char * opt_tls_version = NULL
 
ulong opt_ssl_fips_mode = SSL_FIPS_MODE_OFF
 
static bool pid_file_created = false
 
const char * load_default_groups []
 
SHOW_VAR com_status_vars []
 Initialize one of the global date/time format variables. More...
 
LEX_CSTRING sql_statement_names [(uint) SQLCOM_END+1]
 
PSI_statement_info sql_statement_info [(uint) SQLCOM_END+1]
 Statement instrumentation keys (sql). More...
 
PSI_statement_info com_statement_info [(uint) COM_END+1]
 Statement instrumentation keys (com). More...
 
vector< my_optionall_options
 
struct my_option my_long_early_options []
 
struct my_option my_long_options []
 System variables are automatically command-line options (few exceptions are documented in sys_var.h), so don't need to be listed here. More...
 
SHOW_VAR status_vars []
 
PSI_mutex_key key_LOCK_tc
 
PSI_mutex_key key_hash_filo_lock
 
PSI_mutex_key key_LOCK_error_log
 
PSI_mutex_key key_LOCK_thd_data
 
PSI_mutex_key key_LOCK_thd_sysvar
 
PSI_mutex_key key_LOCK_thd_protocol
 
PSI_mutex_key key_LOG_LOCK_log
 
PSI_mutex_key key_master_info_data_lock
 
PSI_mutex_key key_master_info_run_lock
 
PSI_mutex_key key_master_info_sleep_lock
 
PSI_mutex_key key_master_info_thd_lock
 
PSI_mutex_key key_mutex_slave_reporting_capability_err_lock
 
PSI_mutex_key key_relay_log_info_data_lock
 
PSI_mutex_key key_relay_log_info_sleep_lock
 
PSI_mutex_key key_relay_log_info_thd_lock
 
PSI_mutex_key key_relay_log_info_log_space_lock
 
PSI_mutex_key key_relay_log_info_run_lock
 
PSI_mutex_key key_mutex_slave_parallel_pend_jobs
 
PSI_mutex_key key_mutex_slave_parallel_worker_count
 
PSI_mutex_key key_mutex_slave_parallel_worker
 
PSI_mutex_key key_structure_guard_mutex
 
PSI_mutex_key key_TABLE_SHARE_LOCK_ha_data
 
PSI_mutex_key key_LOCK_query_plan
 
PSI_mutex_key key_LOCK_thd_query
 
PSI_mutex_key key_LOCK_cost_const
 
PSI_mutex_key key_LOCK_current_cond
 
PSI_mutex_key key_RELAYLOG_LOCK_commit
 
PSI_mutex_key key_RELAYLOG_LOCK_commit_queue
 
PSI_mutex_key key_RELAYLOG_LOCK_done
 
PSI_mutex_key key_RELAYLOG_LOCK_flush_queue
 
PSI_mutex_key key_RELAYLOG_LOCK_index
 
PSI_mutex_key key_RELAYLOG_LOCK_log
 
PSI_mutex_key key_RELAYLOG_LOCK_log_end_pos
 
PSI_mutex_key key_RELAYLOG_LOCK_sync
 
PSI_mutex_key key_RELAYLOG_LOCK_sync_queue
 
PSI_mutex_key key_RELAYLOG_LOCK_xids
 
PSI_mutex_key key_gtid_ensure_index_mutex
 
PSI_mutex_key key_object_cache_mutex
 
PSI_cond_key key_object_loading_cond
 
PSI_mutex_key key_mts_temp_table_LOCK
 
PSI_mutex_key key_mts_gaq_LOCK
 
PSI_mutex_key key_thd_timer_mutex
 
PSI_mutex_key key_commit_order_manager_mutex
 
PSI_mutex_key key_mutex_slave_worker_hash
 
static PSI_mutex_info all_server_mutexes []
 
PSI_rwlock_key key_rwlock_LOCK_logger
 
PSI_rwlock_key key_rwlock_channel_map_lock
 
PSI_rwlock_key key_rwlock_channel_lock
 
PSI_rwlock_key key_rwlock_receiver_sid_lock
 
PSI_rwlock_key key_rwlock_rpl_filter_lock
 
PSI_rwlock_key key_rwlock_channel_to_filter_lock
 
PSI_rwlock_key key_rwlock_Trans_delegate_lock
 
PSI_rwlock_key key_rwlock_Server_state_delegate_lock
 
PSI_rwlock_key key_rwlock_Binlog_storage_delegate_lock
 
PSI_rwlock_key key_rwlock_Binlog_transmit_delegate_lock
 
PSI_rwlock_key key_rwlock_Binlog_relay_IO_delegate_lock
 
PSI_rwlock_key key_rwlock_resource_group_mgr_map_lock
 
static PSI_rwlock_info all_server_rwlocks []
 
PSI_cond_key key_PAGE_cond
 
PSI_cond_key key_COND_active
 
PSI_cond_key key_COND_pool
 
PSI_cond_key key_COND_cache_status_changed
 
PSI_cond_key key_item_func_sleep_cond
 
PSI_cond_key key_master_info_data_cond
 
PSI_cond_key key_master_info_start_cond
 
PSI_cond_key key_master_info_stop_cond
 
PSI_cond_key key_master_info_sleep_cond
 
PSI_cond_key key_relay_log_info_data_cond
 
PSI_cond_key key_relay_log_info_log_space_cond
 
PSI_cond_key key_relay_log_info_start_cond
 
PSI_cond_key key_relay_log_info_stop_cond
 
PSI_cond_key key_relay_log_info_sleep_cond
 
PSI_cond_key key_cond_slave_parallel_pend_jobs
 
PSI_cond_key key_cond_slave_parallel_worker
 
PSI_cond_key key_cond_mts_gaq
 
PSI_cond_key key_RELAYLOG_update_cond
 
PSI_cond_key key_RELAYLOG_COND_done
 
PSI_cond_key key_RELAYLOG_prep_xids_cond
 
PSI_cond_key key_gtid_ensure_index_cond
 
PSI_cond_key key_COND_thr_lock
 
PSI_cond_key key_commit_order_manager_cond
 
PSI_cond_key key_cond_slave_worker_hash
 
static PSI_cond_info all_server_conds []
 
PSI_thread_key key_thread_bootstrap
 
PSI_thread_key key_thread_handle_manager
 
PSI_thread_key key_thread_one_connection
 
PSI_thread_key key_thread_compress_gtid_table
 
PSI_thread_key key_thread_parser_service
 
PSI_thread_key key_thread_handle_con_admin_sockets
 
static PSI_thread_info all_server_threads []
 
PSI_file_key key_file_binlog
 
PSI_file_key key_file_binlog_index
 
PSI_file_key key_file_dbopt
 
PSI_file_key key_file_ERRMSG
 
PSI_file_key key_select_to_file
 
PSI_file_key key_file_fileparser
 
PSI_file_key key_file_frm
 
PSI_file_key key_file_load
 
PSI_file_key key_file_loadfile
 
PSI_file_key key_file_log_event_data
 
PSI_file_key key_file_log_event_info
 
PSI_file_key key_file_misc
 
PSI_file_key key_file_tclog
 
PSI_file_key key_file_trg
 
PSI_file_key key_file_trn
 
PSI_file_key key_file_init
 
PSI_file_key key_file_general_log
 
PSI_file_key key_file_slow_log
 
PSI_file_key key_file_relaylog
 
PSI_file_key key_file_relaylog_cache
 
PSI_file_key key_file_relaylog_index
 
PSI_file_key key_file_relaylog_index_cache
 
PSI_file_key key_file_sdi
 
static PSI_file_info all_server_files []
 
PSI_stage_info stage_after_create = { 0, "After create", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_allocating_local_table = { 0, "allocating local table", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_alter_inplace_prepare = { 0, "preparing for alter table", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_alter_inplace = { 0, "altering table", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_alter_inplace_commit = { 0, "committing alter table to storage engine", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_changing_master = { 0, "Changing master", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_checking_master_version = { 0, "Checking master version", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_checking_permissions = { 0, "checking permissions", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_checking_privileges_on_cached_query = { 0, "checking privileges on cached query", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_cleaning_up = { 0, "cleaning up", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_closing_tables = { 0, "closing tables", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_compressing_gtid_table = { 0, "Compressing gtid_executed table", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_connecting_to_master = { 0, "Connecting to master", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_converting_heap_to_ondisk = { 0, "converting HEAP to ondisk", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_copying_to_group_table = { 0, "Copying to group table", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_copying_to_tmp_table = { 0, "Copying to tmp table", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_copy_to_tmp_table = { 0, "copy to tmp table", PSI_FLAG_STAGE_PROGRESS, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_creating_sort_index = { 0, "Creating sort index", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_creating_table = { 0, "creating table", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_creating_tmp_table = { 0, "Creating tmp table", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_deleting_from_main_table = { 0, "deleting from main table", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_deleting_from_reference_tables = { 0, "deleting from reference tables", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_discard_or_import_tablespace = { 0, "discard_or_import_tablespace", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_end = { 0, "end", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_executing = { 0, "executing", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_execution_of_init_command = { 0, "Execution of init_command", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_explaining = { 0, "explaining", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_finished_reading_one_binlog_switching_to_next_binlog = { 0, "Finished reading one binlog; switching to next binlog", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_flushing_relay_log_and_master_info_repository = { 0, "Flushing relay log and master info repository.", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_flushing_relay_log_info_file = { 0, "Flushing relay-log info file.", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_freeing_items = { 0, "freeing items", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_fulltext_initialization = { 0, "FULLTEXT initialization", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_got_handler_lock = { 0, "got handler lock", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_got_old_table = { 0, "got old table", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_init = { 0, "init", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_insert = { 0, "insert", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_killing_slave = { 0, "Killing slave", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_logging_slow_query = { 0, "logging slow query", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_making_temp_file_append_before_load_data = { 0, "Making temporary file (append) before replaying LOAD DATA INFILE", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_making_temp_file_create_before_load_data = { 0, "Making temporary file (create) before replaying LOAD DATA INFILE", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_manage_keys = { 0, "manage keys", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_master_has_sent_all_binlog_to_slave = { 0, "Master has sent all binlog to slave; waiting for more updates", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_opening_tables = { 0, "Opening tables", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_optimizing = { 0, "optimizing", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_preparing = { 0, "preparing", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_purging_old_relay_logs = { 0, "Purging old relay logs", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_query_end = { 0, "query end", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_queueing_master_event_to_the_relay_log = { 0, "Queueing master event to the relay log", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_reading_event_from_the_relay_log = { 0, "Reading event from the relay log", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_registering_slave_on_master = { 0, "Registering slave on master", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_removing_duplicates = { 0, "Removing duplicates", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_removing_tmp_table = { 0, "removing tmp table", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_rename = { 0, "rename", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_rename_result_table = { 0, "rename result table", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_requesting_binlog_dump = { 0, "Requesting binlog dump", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_reschedule = { 0, "reschedule", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_searching_rows_for_update = { 0, "Searching rows for update", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_sending_binlog_event_to_slave = { 0, "Sending binlog event to slave", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_sending_cached_result_to_client = { 0, "sending cached result to client", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_sending_data = { 0, "Sending data", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_setup = { 0, "setup", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_slave_has_read_all_relay_log = { 0, "Slave has read all relay log; waiting for more updates", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_slave_waiting_event_from_coordinator = { 0, "Waiting for an event from Coordinator", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_slave_waiting_for_workers_to_process_queue = { 0, "Waiting for slave workers to process their queues", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_slave_waiting_worker_queue = { 0, "Waiting for Slave Worker queue", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_slave_waiting_worker_to_free_events = { 0, "Waiting for Slave Workers to free pending events", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_slave_waiting_worker_to_release_partition = { 0, "Waiting for Slave Worker to release partition", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_slave_waiting_workers_to_exit = { 0, "Waiting for workers to exit", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_rpl_apply_row_evt_write = { 0, "Applying batch of row changes (write)", PSI_FLAG_STAGE_PROGRESS, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_rpl_apply_row_evt_update = { 0, "Applying batch of row changes (update)", PSI_FLAG_STAGE_PROGRESS, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_rpl_apply_row_evt_delete = { 0, "Applying batch of row changes (delete)", PSI_FLAG_STAGE_PROGRESS, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_sorting_for_group = { 0, "Sorting for group", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_sorting_for_order = { 0, "Sorting for order", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_sorting_result = { 0, "Sorting result", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_statistics = { 0, "statistics", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_sql_thd_waiting_until_delay = { 0, "Waiting until MASTER_DELAY seconds after master executed event", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_storing_row_into_queue = { 0, "storing row into queue", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_system_lock = { 0, "System lock", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_update = { 0, "update", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_updating = { 0, "updating", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_updating_main_table = { 0, "updating main table", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_updating_reference_tables = { 0, "updating reference tables", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_upgrading_lock = { 0, "upgrading lock", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_user_sleep = { 0, "User sleep", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_verifying_table = { 0, "verifying table", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_waiting_for_gtid_to_be_committed = { 0, "Waiting for GTID to be committed", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_waiting_for_handler_commit = { 0, "waiting for handler commit", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_waiting_for_handler_insert = { 0, "waiting for handler insert", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_waiting_for_handler_lock = { 0, "waiting for handler lock", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_waiting_for_handler_open = { 0, "waiting for handler open", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_waiting_for_insert = { 0, "Waiting for INSERT", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_waiting_for_master_to_send_event = { 0, "Waiting for master to send event", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_waiting_for_master_update = { 0, "Waiting for master update", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_waiting_for_relay_log_space = { 0, "Waiting for the slave SQL thread to free enough relay log space", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_waiting_for_slave_mutex_on_exit = { 0, "Waiting for slave mutex on exit", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_waiting_for_slave_thread_to_start = { 0, "Waiting for slave thread to start", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_waiting_for_table_flush = { 0, "Waiting for table flush", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_waiting_for_the_next_event_in_relay_log = { 0, "Waiting for the next event in relay log", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_waiting_for_the_slave_thread_to_advance_position = { 0, "Waiting for the slave SQL thread to advance position", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_waiting_to_finalize_termination = { 0, "Waiting to finalize termination", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_worker_waiting_for_its_turn_to_commit = { 0, "Waiting for preceding transaction to commit", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_worker_waiting_for_commit_parent = { 0, "Waiting for dependent transaction to commit", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_suspending = { 0, "Suspending", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_starting = { 0, "starting", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_waiting_for_no_channel_reference = { 0, "Waiting for no channel reference.", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_hook_begin_trans = { 0, "Executing hook on transaction begin.", 0, PSI_DOCUMENT_ME}
 
PSI_stage_info stage_waiting_for_disk_space
 
PSI_stage_infoall_server_stages []
 
PSI_socket_key key_socket_tcpip
 
PSI_socket_key key_socket_unix
 
PSI_socket_key key_socket_client_connection
 
static PSI_socket_info all_server_sockets []
 

Detailed Description

MySQL server daemon.

Macro Definition Documentation

◆ FIX_LOG_VAR

#define FIX_LOG_VAR (   VAR,
  ALT 
)    if (!VAR || !*VAR) VAR = ALT;

◆ MYSQL_SERVER_SUFFIX_STR

#define MYSQL_SERVER_SUFFIX_STR   MYSQL_SERVER_SUFFIX_DEF

◆ mysqld_charset

#define mysqld_charset   &my_charset_latin1

◆ mysqld_default_locale_name

#define mysqld_default_locale_name   "en_US"

Function Documentation

◆ add_terminator()

void add_terminator ( vector< my_option > *  options)
static

◆ adjust_max_connections()

static void adjust_max_connections ( ulong  requested_open_files)
static

◆ adjust_open_files_limit()

static void adjust_open_files_limit ( ulong requested_open_files)
static

Adjust open_files_limit.

Computation is based on:

  • max_connections,
  • table_cache_size,
  • the platform max open file limit.

◆ adjust_related_options()

static void adjust_related_options ( ulong requested_open_files)
static

◆ adjust_table_cache_size()

static void adjust_table_cache_size ( ulong  requested_open_files)
static

◆ adjust_table_def_size()

static void adjust_table_def_size ( )
static

◆ auto_detect_ssl()

static ssl_artifacts_status auto_detect_ssl ( )
static

◆ charset_error_reporter()

static void charset_error_reporter ( enum loglevel  level,
uint  ecode,
  ... 
)
static

Character set and collation error reporter that prints to sql error log.

Parameters
levellog message level
ecodeError code of the error message.

This routine is used to print character set and collation warnings and errors inside an already running mysqld server, e.g. when a character set or collation is requested for the very first time and its initialization does not go well for some reasons.

◆ check_address_is_wildcard()

static bool check_address_is_wildcard ( const char *  address_value,
size_t  address_length 
)
static

Check that an address value is a wildcard IP value, that is it has either the value 0.0.0.0 for IPv4 or the value ::1 in case IPv6, or has the specially treated symbol * as its value.

Parameters
address_valueAddress value to check
address_lengthAddress length
Returns
true in case the address value is a wildcard value, else false.

◆ check_bind_address_has_valid_value()

static bool check_bind_address_has_valid_value ( const char *  bind_address,
std::list< std::string > *  valid_bind_addresses 
)
static

Check acceptable value of parameter bind_address.

Parameters
bind_addressValue of the parameter bind-address
[out]valid_bind_addressesList of addresses to listen
Returns
false on success, true on failure

◆ check_enough_stack_size()

static int check_enough_stack_size ( int  recurse_level)
static

This function is used to check for stack overrun for pathological cases of regular expressions and 'like' expressions.

The call to current_thd is quite expensive, so we try to avoid it for the normal cases. The size of each stack frame for the wildcmp() routines is ~128 bytes, so checking every recursive call is not necessary.

◆ check_secure_file_priv_path()

static bool check_secure_file_priv_path ( )
static

check_secure_file_priv_path : Checks path specified through –secure-file-priv and raises warning in following cases:

  1. If path is empty string or NULL and mysqld is not running with –initialize (bootstrap mode).
  2. If path can access data directory
  3. If path points to a directory which is accessible by all OS users (non-Windows build only)

It throws error in following cases:

  1. If path normalization fails
  2. If it can not get stats of the directory

Assumptions :

  1. Data directory path has been normalized
  2. opt_secure_file_priv has been normalized unless it is set to "NULL".
Returns
Status of validation
Return values
true: Validation is successful with/without warnings
false: Validation failed. Error is raised.

◆ check_user()

static struct passwd* check_user ( const char *  user)
static

◆ clean_up()

static void clean_up ( bool  print_message)
static

◆ clean_up_mutexes()

static void clean_up_mutexes ( void  )
static

◆ clean_up_mysqld_mutexes()

void clean_up_mysqld_mutexes ( )

◆ close_connections()

static void close_connections ( void  )
static

◆ component_infrastructure_deinit()

static bool component_infrastructure_deinit ( )
static

De-initializes Component infrastructure by de-initialization of the MySQL Server services (persistent dynamic loader) followed by de-initailization of the core Components infrostructure.

Returns
Status of performed operation
Return values
falsesuccess
truefailure

◆ component_infrastructure_init()

static bool component_infrastructure_init ( )
static

Initializes component infrastructure by bootstrapping core component subsystem.

Returns
Status of performed operation
Return values
falsesuccess
truefailure

◆ create_native_table_for_pfs()

bool create_native_table_for_pfs ( const Plugin_table t)

◆ create_pid_file()

static bool create_pid_file ( )
static

Create file to store pid number.

◆ delete_dictionary_tablespace()

static void delete_dictionary_tablespace ( )
static

Delete mysql.ibd after aborting upgrade.

◆ delete_pid_file()

static void delete_pid_file ( myf  flags)
static

Remove the process' pid file.

Parameters
flagsfile operation flags

◆ do_create_native_table_for_pfs()

bool do_create_native_table_for_pfs ( THD thd,
const Plugin_table t 
)

◆ do_drop_native_table_for_pfs()

static bool do_drop_native_table_for_pfs ( THD thd,
const char *  schema_name,
const char *  table_name 
)
static

◆ drop_native_table_for_pfs()

bool drop_native_table_for_pfs ( const char *  schema_name,
const char *  table_name 
)

◆ empty_signal_handler()

static void empty_signal_handler ( int  sig)
static

◆ end_ssl()

static void end_ssl ( )
static

◆ fix_paths()

static int fix_paths ( void  )
static

◆ flush_auto_options()

static int flush_auto_options ( const char *  fname)
static

Save all options which was auto-generated by server-self into the given file.

Parameters
fnameThe name of the file in which the auto-generated options will b e saved.
Returns
Return 0 or 1 if an error occurred.

◆ free_connection_acceptors()

static void free_connection_acceptors ( )
static

◆ generate_server_uuid()

static int generate_server_uuid ( )
static

Generate a UUID and save it into server_uuid variable.

Returns
Retur 0 or 1 if an error occurred.

◆ get_options()

static int get_options ( int *  argc_ptr,
char ***  argv_ptr 
)
static

Get server options from the command line, and perform related server initializations.

Parameters
[in,out]argc_ptrcommand line options (count)
[in,out]argv_ptrcommand line options (values)
Returns
0 on success

◆ get_relative_path()

static char * get_relative_path ( const char *  path)
static

◆ get_remaining_argc()

int* get_remaining_argc ( )

◆ get_remaining_argv()

char*** get_remaining_argv ( )

◆ get_server_state()

enum_server_operational_state get_server_state ( )

Returns the current state of the server : booting, operational or shutting down.

Returns
SERVER_BOOTING Server is not operational. It is starting. SERVER_OPERATING Server is fully initialized and operating. SERVER_SHUTTING_DOWN Server is shutting down.

◆ get_thd_status_var()

struct System_status_var* get_thd_status_var ( THD thd)

◆ gtid_server_cleanup()

void gtid_server_cleanup ( )

GTID cleanup destroys objects and reset their pointer.

Function is reentrant.

◆ gtid_server_init()

bool gtid_server_init ( )

GTID initialization.

Returns
true if allocation does not succeed false if OK

◆ handle_early_options()

static int handle_early_options ( )
static

Process command line options flagged as 'early'.

Some components needs to be initialized as early as possible, because the rest of the server initialization depends on them. Options that needs to be parsed early includes:

  • the performance schema, when compiled in,
  • options related to the help,
  • options related to the bootstrap The performance schema needs to be initialized as early as possible, before to-be-instrumented objects of the server are initialized.

◆ handle_fatal_signal()

void handle_fatal_signal ( int  sig)

Handler for fatal signals.

Fatal events (seg.fault, bus error etc.) will trigger this signal handler. The handler will try to dump relevant debugging information to stderr and dump a core image.

Signal handlers can only use a set of 'safe' system calls and library functions. A list of safe calls in POSIX systems are available at: http://pubs.opengroup.org/onlinepubs/009695399/functions/xsh_chap02_04.html For MS Windows, guidelines are available at: http://msdn.microsoft.com/en-us/library/xdkz3x12(v=vs.71).aspx

Parameters
sigSignal number

◆ init_client_psi_keys()

void init_client_psi_keys ( void  )

◆ init_com_statement_info()

static void init_com_statement_info ( )
static

◆ init_common_variables()

int init_common_variables ( )

◆ init_server_auto_options()

static int init_server_auto_options ( )
static

File 'auto.cnf' resides in the data directory to hold values of options that server evaluates itself and that needs to be durable to sustain the server restart.

There is only a section ['auto'] in the file. All these options are in the section. Only one option exists now, it is server_uuid. Note, the user may not supply any literal value to these auto-options, and only allowed to trigger (re)evaluation. For instance, 'server_uuid' value will be evaluated and stored if there is no corresponding line in the file. Because of the specifics of the auto-options, they need a seperate storage. Meanwhile, it is the 'auto.cnf' that has the same structure as 'my.cnf'.

Returns
Return 0 or 1 if an error occurred.

◆ init_server_components()

static int init_server_components ( )
static

◆ init_server_psi_keys()

static void init_server_psi_keys ( void  )
static

Initialise all the performance schema instrumentation points used by the server.

◆ init_sql_statement_info()

static void init_sql_statement_info ( )
static

Initialize the command names array.

Since we do not want to maintain a separate array, this is populated from data mined in com_status_vars, which already has one name for each command.

◆ init_sql_statement_names()

static void init_sql_statement_names ( )
static

◆ init_ssl()

static void init_ssl ( )
static

◆ init_ssl_communication()

static int init_ssl_communication ( )
static

◆ init_thread_environment()

static int init_thread_environment ( )
static

◆ initialize_storage_engine()

static bool initialize_storage_engine ( char *  se_name,
const char *  se_kind,
plugin_ref dest_plugin 
)
static

◆ is_rpl_global_filter_setting()

static bool is_rpl_global_filter_setting ( char *  argument)
static

Check if it is a global replication filter setting.

Parameters
argumentThe setting of startup option –replicate-*.
Return values
0OK
1Error

◆ is_secure_file_path()

bool is_secure_file_path ( const char *  path)

Test a file path to determine if the path is compatible with the secure file path restriction.

Parameters
pathnull terminated character string
Returns
Return values
trueThe path is secure
falseThe path isn't secure

◆ kill_mysql()

void kill_mysql ( void  )

◆ my_init_signals()

void my_init_signals ( )

◆ my_message_sql()

void my_message_sql ( uint  error,
const char *  str,
myf  MyFlags 
)

All global error messages are sent here where the first one is stored for the client.

◆ my_str_free_mysqld()

void my_str_free_mysqld ( void *  ptr)

◆ my_str_malloc_mysqld()

void * my_str_malloc_mysqld ( size_t  size)

◆ my_str_realloc_mysqld()

void * my_str_realloc_mysqld ( void *  ptr,
size_t  size 
)

◆ mysql_component_infrastructure_init()

static bool mysql_component_infrastructure_init ( )
static

Initializes MySQL Server component infrastructure part by initialize of dynamic loader persistence.

Returns
Status of performed operation
Return values
falsesuccess
truefailure

◆ mysql_getopt_value()

static void* mysql_getopt_value ( const char *  keyname,
size_t  key_length,
const struct my_option option,
int *  error 
)
static

Handle arguments for multiple key caches.

◆ mysql_init_variables()

static int mysql_init_variables ( )
static

Initialize MySQL global variables to default values.

Note
The reason to set a lot of global variables to zero is that on some exotic platforms global variables are not set to 0 when a program starts.

We don't need to set variables refered to in my_long_options as these are initialized by my_getopt.

◆ mysqld_exit()

static void mysqld_exit ( int  exit_code)
static

◆ mysqld_get_one_option()

bool mysqld_get_one_option ( int  optid,
const struct my_option opt,
char *  argument 
)

◆ mysqld_main()

int mysqld_main ( int  argc,
char **  argv 
)

◆ network_init()

static bool network_init ( void  )
static

◆ operator<()

static bool operator< ( const my_option a,
const my_option b 
)
static

Compares two options' names, treats - and _ the same.

◆ option_error_reporter()

static void option_error_reporter ( enum loglevel  level,
uint  ecode,
  ... 
)
static

◆ parse_filter_arg()

void parse_filter_arg ( char **  channel_name,
char **  filter_val,
char *  argument 
)

Extract channel name and filter value from argument.

Parameters
[out]channel_nameThe name of the channel.
[out]filter_valThe value of filter.
argumentThe setting of startup option –replicate-*.

◆ parse_replicate_rewrite_db()

static int parse_replicate_rewrite_db ( char **  key,
char **  val,
char *  argument 
)
static

Extract channel name and filter value from argument.

Parameters
[out]keyThe db is rewritten from.
[out]valThe db is rewritten to.
argumentThe value of filter.
Return values
0OK
1Error

◆ print_help()

static void print_help ( )
static

◆ print_server_version()

static void print_server_version ( void  )
static

◆ read_init_file()

static bool read_init_file ( char *  file_name)
static

◆ refresh_status()

void refresh_status ( )

Reset global and session status variables.

◆ rpl_make_log_name()

static const char* rpl_make_log_name ( PSI_memory_key  key,
const char *  opt,
const char *  def,
const char *  ext 
)
inlinestatic

Create a replication file name or base for file names.

Parameters
keyInstrumentation key used to track allocations
[in]optValue of option, or NULL
[in]defDefault value if option value is not set.
[in]extExtension to use for the path
Returns
Pointer to string containing the full file path, or NULL if it was not possible to create the path.

◆ server_component_init()

static void server_component_init ( )
static

This function is used to initialize the mysql_server component services.

Most of the init functions are dummy functions, to solve the linker issues.

◆ server_components_init_wait()

static void server_components_init_wait ( )
static

Block and wait until server components have been initialized.

◆ server_components_initialized()

static void server_components_initialized ( )
static

Notify any waiters that the server components have been initialized.

Used by the signal handler thread and by Cluster.

See also
signal_hand

◆ set_effective_user()

static void set_effective_user ( struct passwd *  user_info_arg)
static

◆ set_ports()

static void set_ports ( )
static

◆ set_remaining_args()

void set_remaining_args ( int  argc,
char **  argv 
)

◆ set_root()

static void set_root ( const char *  path)
static

Change root user if started with –chroot .

◆ set_server_version()

static void set_server_version ( void  )
static

◆ set_super_read_only_post_init()

static void set_super_read_only_post_init ( )
static

◆ set_user()

static void set_user ( const char *  user,
struct passwd *  user_info_arg 
)
static

◆ setup_error_log()

static void setup_error_log ( )
static

◆ setup_fpu()

void setup_fpu ( )
inline

◆ show_aborted_connects()

static int show_aborted_connects ( THD ,
SHOW_VAR var,
char *  buff 
)
static

◆ show_acl_cache_items_count()

static int show_acl_cache_items_count ( THD ,
SHOW_VAR var,
char *  buff 
)
static

◆ show_connection_errors_accept()

static int show_connection_errors_accept ( THD ,
SHOW_VAR var,
char *  buff 
)
static

◆ show_connection_errors_max_connection()

static int show_connection_errors_max_connection ( THD ,
SHOW_VAR var,
char *  buff 
)
static

◆ show_connection_errors_select()

static int show_connection_errors_select ( THD ,
SHOW_VAR var,
char *  buff 
)
static

◆ show_connection_errors_tcpwrap()

static int show_connection_errors_tcpwrap ( THD ,
SHOW_VAR var,
char *  buff 
)
static

◆ show_heartbeat_period()

static int show_heartbeat_period ( THD ,
SHOW_VAR var,
char *  buff 
)
static

Only for default channel.

For details, refer to show_slave_running()

◆ show_max_used_connections_time()

static int show_max_used_connections_time ( THD thd,
SHOW_VAR var,
char *  buff 
)
static

◆ show_net_compression()

static int show_net_compression ( THD thd,
SHOW_VAR var,
char *  buff 
)
static

◆ show_num_thread_created()

static int show_num_thread_created ( THD ,
SHOW_VAR var,
char *  buff 
)
static

◆ show_num_thread_running()

static int show_num_thread_running ( THD ,
SHOW_VAR var,
char *  buff 
)
static

◆ show_ongoing_anonymous_gtid_violating_transaction_count()

static int show_ongoing_anonymous_gtid_violating_transaction_count ( THD ,
SHOW_VAR var,
char *  buf 
)
static

◆ show_ongoing_anonymous_transaction_count()

static int show_ongoing_anonymous_transaction_count ( THD ,
SHOW_VAR var,
char *  buf 
)
static

◆ show_ongoing_automatic_gtid_violating_transaction_count()

static int show_ongoing_automatic_gtid_violating_transaction_count ( THD ,
SHOW_VAR var,
char *  buf 
)
static

◆ show_open_tables()

static int show_open_tables ( THD ,
SHOW_VAR var,
char *  buff 
)
static

◆ show_prepared_stmt_count()

static int show_prepared_stmt_count ( THD ,
SHOW_VAR var,
char *  buff 
)
static

◆ show_queries()

static int show_queries ( THD thd,
SHOW_VAR var,
char *   
)
static

◆ show_slave_last_heartbeat()

static int show_slave_last_heartbeat ( THD thd,
SHOW_VAR var,
char *  buff 
)
static

Only for default channel.

Refer to comments on show_slave_running()

◆ show_slave_open_temp_tables()

static int show_slave_open_temp_tables ( THD ,
SHOW_VAR var,
char *  buf 
)
static

◆ show_slave_received_heartbeats()

static int show_slave_received_heartbeats ( THD ,
SHOW_VAR var,
char *  buff 
)
static

Only for default channel.

Refer to comments on show_slave_running()

◆ show_slave_retried_trans()

static int show_slave_retried_trans ( THD ,
SHOW_VAR var,
char *  buff 
)
static

This status variable is also exclusively (look comments on show_slave_running()) for default channel.

◆ show_slave_rows_last_search_algorithm_used()

static int show_slave_rows_last_search_algorithm_used ( THD ,
SHOW_VAR var,
char *  buff 
)
static

◆ show_slave_running()

static int show_slave_running ( THD ,
SHOW_VAR var,
char *  buff 
)
static

After Multisource replication, this function only shows the value of default channel.

To know the status of other channels, performance schema replication tables comes to the rescue.

◆ show_starttime()

static int show_starttime ( THD thd,
SHOW_VAR var,
char *  buff 
)
static

◆ show_table_definitions()

static int show_table_definitions ( THD ,
SHOW_VAR var,
char *  buff 
)
static

◆ show_thread_id_count()

static int show_thread_id_count ( THD ,
SHOW_VAR var,
char *  buff 
)
static

◆ signal_hand()

void * signal_hand ( void *  arg)

This thread handles SIGTERM, SIGQUIT and SIGHUP signals.

◆ signal_restart_server()

bool signal_restart_server ( )

Signal the server thread for restart.

Returns
false if the thread has been successfully signalled for restart else true.

◆ sql_rnd_with_mutex()

ulong sql_rnd_with_mutex ( )

◆ start_signal_handler()

static void start_signal_handler ( )
static

◆ test_if_case_insensitive()

static int test_if_case_insensitive ( const char *  dir_name)
static

Check if file system used for databases is case insensitive.

Parameters
dir_nameDirectory to test
Return values
-1Don't know (Test failed)
0File system is case sensitive
1File system is case insensitive

◆ test_lc_time_sz()

static void test_lc_time_sz ( )
static

◆ unireg_abort()

static void unireg_abort ( int  exit_code)
static

◆ usage()

static void usage ( void  )
static

◆ warn_one()

static int warn_one ( const char *  file_name)
static

◆ warn_self_signed_ca()

static int warn_self_signed_ca ( )
static

Variable Documentation

◆ aborted_threads

ulong aborted_threads

◆ all_options

vector<my_option> all_options

◆ all_server_conds

PSI_cond_info all_server_conds[]
static

◆ all_server_files

PSI_file_info all_server_files[]
static

◆ all_server_mutexes

PSI_mutex_info all_server_mutexes[]
static

◆ all_server_rwlocks

PSI_rwlock_info all_server_rwlocks[]
static
Initial value:
=
{
{ &key_rwlock_LOCK_logger, "LOGGER::LOCK_logger", 0, 0, PSI_DOCUMENT_ME},
{ &key_rwlock_channel_map_lock, "channel_map_lock", 0, 0, PSI_DOCUMENT_ME},
{ &key_rwlock_channel_lock, "channel_lock", 0, 0, PSI_DOCUMENT_ME},
{ &key_rwlock_rpl_filter_lock, "rpl_filter_lock", 0, 0, PSI_DOCUMENT_ME},
{ &key_rwlock_channel_to_filter_lock, "channel_to_filter_lock", 0, 0, PSI_DOCUMENT_ME},
{ &key_rwlock_resource_group_mgr_map_lock, "Resource_group_mgr::m_map_rwlock", 0, 0, PSI_DOCUMENT_ME},
}
PSI_rwlock_key key_rwlock_resource_group_mgr_map_lock
Definition: mysqld.cc:10354
PSI_rwlock_key key_rwlock_Server_state_delegate_lock
Definition: mysqld.cc:10350
PSI_rwlock_key key_rwlock_Binlog_relay_IO_delegate_lock
Definition: mysqld.cc:10353
static PSI_rwlock_key key_rwlock_global_sid_lock
Definition: mysqld.cc:873
static PSI_rwlock_key key_rwlock_gtid_mode_lock
Definition: mysqld.cc:874
PSI_rwlock_key key_rwlock_receiver_sid_lock
Definition: mysqld.cc:10345
PSI_rwlock_key key_rwlock_LOCK_logger
Definition: mysqld.cc:10342
static PSI_rwlock_key key_rwlock_LOCK_sys_init_connect
Definition: mysqld.cc:876
#define PSI_FLAG_SINGLETON
Singleton flag.
Definition: psi_base.h:54
PSI_rwlock_key key_rwlock_rpl_filter_lock
Definition: mysqld.cc:10346
PSI_rwlock_key key_rwlock_Binlog_storage_delegate_lock
Definition: mysqld.cc:10351
PSI_rwlock_key key_rwlock_Trans_delegate_lock
Definition: mysqld.cc:10349
PSI_rwlock_key key_rwlock_channel_map_lock
Definition: mysqld.cc:10343
PSI_rwlock_key key_rwlock_Binlog_transmit_delegate_lock
Definition: mysqld.cc:10352
static PSI_rwlock_key key_rwlock_LOCK_sys_init_slave
Definition: mysqld.cc:877
PSI_rwlock_key key_rwlock_channel_lock
Definition: mysqld.cc:10344
#define PSI_DOCUMENT_ME
Definition: psi_base.h:46
static PSI_rwlock_key key_rwlock_LOCK_system_variables_hash
Definition: mysqld.cc:875
PSI_rwlock_key key_rwlock_channel_to_filter_lock
Definition: mysqld.cc:10347

◆ all_server_sockets

PSI_socket_info all_server_sockets[]
static
Initial value:
=
{
{ &key_socket_tcpip, "server_tcpip_socket", PSI_FLAG_SINGLETON, 0, PSI_DOCUMENT_ME},
{ &key_socket_unix, "server_unix_socket", PSI_FLAG_SINGLETON, 0, PSI_DOCUMENT_ME},
}
PSI_socket_key key_socket_unix
Definition: mysqld.cc:10760
#define PSI_FLAG_USER
User flag.
Definition: psi_base.h:96
#define PSI_FLAG_SINGLETON
Singleton flag.
Definition: psi_base.h:54
PSI_socket_key key_socket_tcpip
Definition: mysqld.cc:10759
#define PSI_DOCUMENT_ME
Definition: psi_base.h:46
PSI_socket_key key_socket_client_connection
Definition: mysqld.cc:10761

◆ all_server_stages

PSI_stage_info* all_server_stages[]

◆ all_server_threads

PSI_thread_info all_server_threads[]
static
Initial value:
=
{
}
PSI_thread_key key_thread_bootstrap
Definition: mysqld.cc:10451
PSI_thread_key key_thread_compress_gtid_table
Definition: mysqld.cc:10454
#define PSI_FLAG_USER
User flag.
Definition: psi_base.h:96
#define PSI_FLAG_SINGLETON
Singleton flag.
Definition: psi_base.h:54
PSI_thread_key key_thread_parser_service
Definition: mysqld.cc:10455
static PSI_thread_key key_thread_main
Definition: mysqld.cc:884
PSI_thread_key key_thread_handle_con_admin_sockets
Definition: mysqld.cc:10456
static PSI_thread_key key_thread_signal_hand
Definition: mysqld.cc:883
PSI_thread_key key_thread_one_connection
Definition: mysqld.cc:10453
#define PSI_DOCUMENT_ME
Definition: psi_base.h:46
PSI_thread_key key_thread_handle_manager
Definition: mysqld.cc:10452

◆ argv_alloc

MEM_ROOT argv_alloc {PSI_NOT_INSTRUMENTED, 512}
static

Memory for allocating command line arguments, after load_defaults().

◆ atomic_global_query_id

std::atomic<query_id_t> atomic_global_query_id {1}

◆ atomic_slave_open_temp_tables

std::atomic<int32> atomic_slave_open_temp_tables {0}

◆ avoid_temporal_upgrade

bool avoid_temporal_upgrade

Compatibility option to prevent auto upgrade of old temporals during certain ALTER TABLE operations.

◆ back_log

ulong back_log

◆ binary_keyword

const char * binary_keyword = "BINARY"

◆ binlog_cache_disk_use

ulong binlog_cache_disk_use = 0

◆ binlog_cache_size

ulong binlog_cache_size = 0

◆ binlog_cache_use

ulong binlog_cache_use = 0

◆ binlog_checksum_options

ulong binlog_checksum_options

◆ binlog_error_action

ulong binlog_error_action

◆ binlog_error_action_list

const char* binlog_error_action_list[]
Initial value:
= {"IGNORE_ERROR", "ABORT_SERVER",
#define NullS
Definition of the null string (a null pointer of type char *), used in some of our string handling co...
Definition: m_string.h:49

◆ binlog_expire_logs_seconds

ulong binlog_expire_logs_seconds = 0

◆ binlog_expire_logs_seconds_supplied

bool binlog_expire_logs_seconds_supplied = false

◆ binlog_filter

Rpl_filter* binlog_filter

◆ binlog_format_names

const char* binlog_format_names[] = {"MIXED", "STATEMENT", "ROW", NullS}

◆ binlog_format_used

bool binlog_format_used = false
static

◆ binlog_gtid_simple_recovery

bool binlog_gtid_simple_recovery

◆ binlog_row_event_max_size

ulong binlog_row_event_max_size

◆ binlog_row_metadata

ulong binlog_row_metadata

◆ binlog_stmt_cache_disk_use

ulong binlog_stmt_cache_disk_use = 0

◆ binlog_stmt_cache_size

ulong binlog_stmt_cache_size = 0

◆ binlog_stmt_cache_use

ulong binlog_stmt_cache_use = 0

◆ character_set_filesystem

CHARSET_INFO* character_set_filesystem

◆ character_set_filesystem_name

char* character_set_filesystem_name
static

◆ check_proxy_users

bool check_proxy_users = 0

◆ cleanup_done

int cleanup_done
static

◆ com_statement_info

PSI_statement_info com_statement_info[(uint) COM_END+1]

Statement instrumentation keys (com).

The last entry, at [COM_END], is for packet errors.

◆ com_status_vars

SHOW_VAR com_status_vars[]

Initialize one of the global date/time format variables.

Parameters
format_typeWhat kind of format should be supported
[in,out]formatFormat variable to initialize
Return values
0ok
1error

◆ compiled_default_collation_name

char compiled_default_collation_name[] = MYSQL_DEFAULT_COLLATION_NAME
static

◆ COND_compress_gtid_table

mysql_cond_t COND_compress_gtid_table

◆ COND_server_started

mysql_cond_t COND_server_started

◆ COND_socket_listener_active

mysql_cond_t COND_socket_listener_active

◆ COND_start_signal_handler

mysql_cond_t COND_start_signal_handler

◆ connect_timeout

ulong connect_timeout

◆ connection_errors_internal

ulong connection_errors_internal = 0

Number of connection errors from internal server errors.

◆ connection_errors_peer_addr

ulong connection_errors_peer_addr = 0

Number of errors when reading the peer address.

◆ connection_events_loop_aborted_flag

std::atomic<int32> connection_events_loop_aborted_flag

◆ current_pid

ulong current_pid

◆ decimal_zero

my_decimal decimal_zero

◆ default_auth_plugin

char* default_auth_plugin

◆ default_binlog_index_name

char default_binlog_index_name[FN_REFLEN+index_ext_length]

◆ default_binlogfile_name

char default_binlogfile_name[FN_REFLEN]

◆ default_character_set_name

char* default_character_set_name
static

◆ default_collation_name

char* default_collation_name
static

◆ default_dbug_option

const char* default_dbug_option
static

◆ default_logfile_name

char default_logfile_name[FN_REFLEN]

◆ default_password_lifetime

uint default_password_lifetime = 0

◆ default_relaylog_index_name

char default_relaylog_index_name[FN_REFLEN+relay_ext_length+ index_ext_length]

◆ default_relaylogfile_name

char default_relaylogfile_name[FN_REFLEN+relay_ext_length]

◆ default_storage_engine

char* default_storage_engine

◆ default_tmp_storage_engine

char* default_tmp_storage_engine

◆ default_tz

Time_zone* default_tz

◆ default_tz_name

char* default_tz_name

◆ delay_key_write_options

ulong delay_key_write_options

◆ delayed_insert_errors

ulong delayed_insert_errors

◆ delayed_insert_limit

ulong delayed_insert_limit

◆ delayed_insert_threads

ulong delayed_insert_threads

◆ delayed_insert_timeout

ulong delayed_insert_timeout

◆ delayed_insert_writes

ulong delayed_insert_writes

◆ delayed_queue_size

ulong delayed_queue_size

◆ delayed_rows_in_use

ulong delayed_rows_in_use

◆ dynamic_plugins_are_initialized

bool dynamic_plugins_are_initialized = false
static

◆ eq_creator

Eq_creator eq_creator

◆ equal_creator

Equal_creator equal_creator

◆ errorlog_filename_buff

char errorlog_filename_buff[FN_REFLEN]
static

◆ expire_logs_days

ulong expire_logs_days = 0

◆ expire_logs_days_supplied

bool expire_logs_days_supplied = false

◆ files_charset_info

CHARSET_INFO * files_charset_info

◆ first_keyword

const char* first_keyword = "first"

◆ flush_status_time

time_t flush_status_time

◆ flush_time

ulong flush_time

◆ ge_creator

Ge_creator ge_creator

◆ glob_hostname

char glob_hostname[FN_REFLEN]

◆ global_sid_lock

Checkable_rwlock* global_sid_lock = NULL

Protects Gtid_state. See comment above gtid_state for details.

◆ global_sid_map

Sid_map* global_sid_map = NULL

◆ global_status_var

struct System_status_var global_status_var

◆ global_system_variables

struct System_variables global_system_variables

◆ gt_creator

Gt_creator gt_creator

◆ gtid_executed_compression_period

uint32 gtid_executed_compression_period = 0

◆ gtid_state

Gtid_state* gtid_state = NULL

Global state of GTIDs.

◆ gtid_table_persistor

Gtid_table_persistor* gtid_table_persistor = NULL

◆ ha_open_options

uint ha_open_options

◆ have_compress

SHOW_COMP_OPTION have_compress

◆ have_dlopen

SHOW_COMP_OPTION have_dlopen

◆ have_geometry

SHOW_COMP_OPTION have_geometry

◆ have_profiling

SHOW_COMP_OPTION have_profiling

◆ have_query_cache

SHOW_COMP_OPTION have_query_cache

◆ have_rtree_keys

SHOW_COMP_OPTION have_rtree_keys

◆ have_ssl

SHOW_COMP_OPTION have_ssl

◆ have_statement_timeout

SHOW_COMP_OPTION have_statement_timeout = SHOW_OPTION_DISABLED

◆ have_symlink

SHOW_COMP_OPTION have_symlink

◆ heap_hton

handlerton* heap_hton

◆ host_cache_size

uint host_cache_size

The size of the host_cache.

◆ host_cache_size_specified

bool host_cache_size_specified = false

◆ in_left_expr_name

const char* in_left_expr_name = "<left expr>"

name of reference on left expression in rewritten IN subquery

◆ index_ext

const char* index_ext = ".index"

◆ index_ext_length

const int index_ext_length = 6

◆ innodb_hton

handlerton* innodb_hton

◆ internal_tmp_disk_storage_engine

ulong internal_tmp_disk_storage_engine

Use to mark which engine should be chosen to create internal temp table.

◆ key_BINLOG_COND_done

PSI_cond_key key_BINLOG_COND_done
static

◆ key_BINLOG_LOCK_binlog_end_pos

PSI_mutex_key key_BINLOG_LOCK_binlog_end_pos
static

◆ key_BINLOG_LOCK_commit

PSI_mutex_key key_BINLOG_LOCK_commit
static

◆ key_BINLOG_LOCK_commit_queue

PSI_mutex_key key_BINLOG_LOCK_commit_queue
static

◆ key_BINLOG_LOCK_done

PSI_mutex_key key_BINLOG_LOCK_done
static

◆ key_BINLOG_LOCK_flush_queue

PSI_mutex_key key_BINLOG_LOCK_flush_queue
static

◆ key_BINLOG_LOCK_index

PSI_mutex_key key_BINLOG_LOCK_index
static

◆ key_BINLOG_LOCK_log

PSI_mutex_key key_BINLOG_LOCK_log
static

◆ key_BINLOG_LOCK_sync

PSI_mutex_key key_BINLOG_LOCK_sync
static

◆ key_BINLOG_LOCK_sync_queue

PSI_mutex_key key_BINLOG_LOCK_sync_queue
static

◆ key_BINLOG_LOCK_xids

PSI_mutex_key key_BINLOG_LOCK_xids
static

◆ key_BINLOG_prep_xids_cond

PSI_cond_key key_BINLOG_prep_xids_cond
static

◆ key_BINLOG_update_cond

PSI_cond_key key_BINLOG_update_cond
static

◆ key_commit_order_manager_cond

PSI_cond_key key_commit_order_manager_cond

◆ key_commit_order_manager_mutex

PSI_mutex_key key_commit_order_manager_mutex

◆ key_COND_active

PSI_cond_key key_COND_active

◆ key_COND_cache_status_changed

PSI_cond_key key_COND_cache_status_changed

◆ key_COND_compress_gtid_table

PSI_cond_key key_COND_compress_gtid_table
static

◆ key_COND_manager

PSI_cond_key key_COND_manager
static

◆ key_cond_mts_gaq

PSI_cond_key key_cond_mts_gaq

◆ key_COND_pool

PSI_cond_key key_COND_pool

◆ key_COND_server_started

PSI_cond_key key_COND_server_started
static

◆ key_cond_slave_parallel_pend_jobs

PSI_cond_key key_cond_slave_parallel_pend_jobs

◆ key_cond_slave_parallel_worker

PSI_cond_key key_cond_slave_parallel_worker

◆ key_cond_slave_worker_hash

PSI_cond_key key_cond_slave_worker_hash

◆ key_COND_socket_listener_active

PSI_cond_key key_COND_socket_listener_active
static

◆ key_COND_start_signal_handler

PSI_cond_key key_COND_start_signal_handler
static

◆ key_COND_thr_lock

PSI_cond_key key_COND_thr_lock

◆ key_file_binlog

PSI_file_key key_file_binlog

◆ key_file_binlog_cache

PSI_file_key key_file_binlog_cache

◆ key_file_binlog_index

PSI_file_key key_file_binlog_index

◆ key_file_binlog_index_cache

PSI_file_key key_file_binlog_index_cache

◆ key_file_casetest

PSI_file_key key_file_casetest
static

◆ key_file_dbopt

PSI_file_key key_file_dbopt

◆ key_file_ERRMSG

PSI_file_key key_file_ERRMSG

◆ key_file_fileparser

PSI_file_key key_file_fileparser

◆ key_file_frm

PSI_file_key key_file_frm

◆ key_file_general_log

PSI_file_key key_file_general_log

◆ key_file_init

PSI_file_key key_file_init

◆ key_file_load

PSI_file_key key_file_load

◆ key_file_loadfile

PSI_file_key key_file_loadfile

◆ key_file_log_event_data

PSI_file_key key_file_log_event_data

◆ key_file_log_event_info

PSI_file_key key_file_log_event_info

◆ key_file_misc

PSI_file_key key_file_misc

◆ key_file_pid

PSI_file_key key_file_pid
static

◆ key_file_relaylog

PSI_file_key key_file_relaylog

◆ key_file_relaylog_cache

PSI_file_key key_file_relaylog_cache

◆ key_file_relaylog_index

PSI_file_key key_file_relaylog_index

◆ key_file_relaylog_index_cache

PSI_file_key key_file_relaylog_index_cache

◆ key_file_sdi

PSI_file_key key_file_sdi

◆ key_file_slow_log

PSI_file_key key_file_slow_log

◆ key_file_tclog

PSI_file_key key_file_tclog

◆ key_file_trg

PSI_file_key key_file_trg

◆ key_file_trn

PSI_file_key key_file_trn

◆ key_gtid_ensure_index_cond

PSI_cond_key key_gtid_ensure_index_cond

◆ key_gtid_ensure_index_mutex

PSI_mutex_key key_gtid_ensure_index_mutex

◆ key_hash_filo_lock

PSI_mutex_key key_hash_filo_lock

◆ key_item_func_sleep_cond

PSI_cond_key key_item_func_sleep_cond

◆ key_LOCK_collect_instance_log

PSI_mutex_key key_LOCK_collect_instance_log
static

◆ key_LOCK_compress_gtid_table

PSI_mutex_key key_LOCK_compress_gtid_table
static

◆ key_LOCK_cost_const

PSI_mutex_key key_LOCK_cost_const

◆ key_LOCK_crypt

PSI_mutex_key key_LOCK_crypt
static

◆ key_LOCK_current_cond

PSI_mutex_key key_LOCK_current_cond

◆ key_LOCK_default_password_lifetime

PSI_mutex_key key_LOCK_default_password_lifetime
static

◆ key_LOCK_error_log

PSI_mutex_key key_LOCK_error_log

◆ key_LOCK_error_messages

PSI_mutex_key key_LOCK_error_messages
static

◆ key_LOCK_global_system_variables

PSI_mutex_key key_LOCK_global_system_variables
static

◆ key_LOCK_keyring_operations

PSI_mutex_key key_LOCK_keyring_operations
static

◆ key_LOCK_log_throttle_qni

PSI_mutex_key key_LOCK_log_throttle_qni
static

◆ key_LOCK_manager

PSI_mutex_key key_LOCK_manager
static

◆ key_LOCK_mandatory_roles

PSI_mutex_key key_LOCK_mandatory_roles
static

◆ key_LOCK_password_history

PSI_mutex_key key_LOCK_password_history
static

◆ key_LOCK_password_reuse_interval

PSI_mutex_key key_LOCK_password_reuse_interval
static

◆ key_LOCK_prepared_stmt_count

PSI_mutex_key key_LOCK_prepared_stmt_count
static

◆ key_LOCK_query_plan

PSI_mutex_key key_LOCK_query_plan

◆ key_LOCK_reset_gtid_table

PSI_mutex_key key_LOCK_reset_gtid_table
static

◆ key_LOCK_server_started

PSI_mutex_key key_LOCK_server_started
static

◆ key_LOCK_slave_net_timeout

PSI_mutex_key key_LOCK_slave_net_timeout
static

◆ key_LOCK_slave_trans_dep_tracker

PSI_mutex_key key_LOCK_slave_trans_dep_tracker
static

◆ key_LOCK_socket_listener_active

PSI_mutex_key key_LOCK_socket_listener_active
static

◆ key_LOCK_sql_rand

PSI_mutex_key key_LOCK_sql_rand
static

◆ key_LOCK_sql_slave_skip_counter

PSI_mutex_key key_LOCK_sql_slave_skip_counter
static

◆ key_LOCK_start_signal_handler

PSI_mutex_key key_LOCK_start_signal_handler
static

◆ key_LOCK_status

PSI_mutex_key key_LOCK_status
static

◆ key_LOCK_tc

PSI_mutex_key key_LOCK_tc

◆ key_LOCK_thd_data

PSI_mutex_key key_LOCK_thd_data

◆ key_LOCK_thd_protocol

PSI_mutex_key key_LOCK_thd_protocol

◆ key_LOCK_thd_query

PSI_mutex_key key_LOCK_thd_query

◆ key_LOCK_thd_sysvar

PSI_mutex_key key_LOCK_thd_sysvar

◆ key_LOCK_user_conn

PSI_mutex_key key_LOCK_user_conn
static

◆ key_LOCK_uuid_generator

PSI_mutex_key key_LOCK_uuid_generator
static

◆ key_LOG_LOCK_log

PSI_mutex_key key_LOG_LOCK_log

◆ key_master_info_data_cond

PSI_cond_key key_master_info_data_cond

◆ key_master_info_data_lock

PSI_mutex_key key_master_info_data_lock

◆ key_master_info_run_lock

PSI_mutex_key key_master_info_run_lock

◆ key_master_info_sleep_cond

PSI_cond_key key_master_info_sleep_cond

◆ key_master_info_sleep_lock

PSI_mutex_key key_master_info_sleep_lock

◆ key_master_info_start_cond

PSI_cond_key key_master_info_start_cond

◆ key_master_info_stop_cond

PSI_cond_key key_master_info_stop_cond

◆ key_master_info_thd_lock

PSI_mutex_key key_master_info_thd_lock

◆ key_mts_gaq_LOCK

PSI_mutex_key key_mts_gaq_LOCK

◆ key_mts_temp_table_LOCK

PSI_mutex_key key_mts_temp_table_LOCK

◆ key_mutex_slave_parallel_pend_jobs

PSI_mutex_key key_mutex_slave_parallel_pend_jobs

◆ key_mutex_slave_parallel_worker

PSI_mutex_key key_mutex_slave_parallel_worker

◆ key_mutex_slave_parallel_worker_count

PSI_mutex_key key_mutex_slave_parallel_worker_count

◆ key_mutex_slave_reporting_capability_err_lock

PSI_mutex_key key_mutex_slave_reporting_capability_err_lock

◆ key_mutex_slave_worker_hash

PSI_mutex_key key_mutex_slave_worker_hash

◆ key_object_cache_mutex

PSI_mutex_key key_object_cache_mutex

◆ key_object_loading_cond

PSI_cond_key key_object_loading_cond

◆ key_PAGE_cond

PSI_cond_key key_PAGE_cond

◆ key_relay_log_info_data_cond

PSI_cond_key key_relay_log_info_data_cond

◆ key_relay_log_info_data_lock

PSI_mutex_key key_relay_log_info_data_lock

◆ key_relay_log_info_log_space_cond

PSI_cond_key key_relay_log_info_log_space_cond

◆ key_relay_log_info_log_space_lock

PSI_mutex_key key_relay_log_info_log_space_lock

◆ key_relay_log_info_run_lock

PSI_mutex_key key_relay_log_info_run_lock

◆ key_relay_log_info_sleep_cond

PSI_cond_key key_relay_log_info_sleep_cond

◆ key_relay_log_info_sleep_lock

PSI_mutex_key key_relay_log_info_sleep_lock

◆ key_relay_log_info_start_cond

PSI_cond_key key_relay_log_info_start_cond

◆ key_relay_log_info_stop_cond

PSI_cond_key key_relay_log_info_stop_cond

◆ key_relay_log_info_thd_lock

PSI_mutex_key key_relay_log_info_thd_lock

◆ key_RELAYLOG_COND_done

PSI_cond_key key_RELAYLOG_COND_done

◆ key_RELAYLOG_LOCK_commit

PSI_mutex_key key_RELAYLOG_LOCK_commit

◆ key_RELAYLOG_LOCK_commit_queue

PSI_mutex_key key_RELAYLOG_LOCK_commit_queue

◆ key_RELAYLOG_LOCK_done

PSI_mutex_key key_RELAYLOG_LOCK_done

◆ key_RELAYLOG_LOCK_flush_queue

PSI_mutex_key key_RELAYLOG_LOCK_flush_queue

◆ key_RELAYLOG_LOCK_index

PSI_mutex_key key_RELAYLOG_LOCK_index

◆ key_RELAYLOG_LOCK_log

PSI_mutex_key key_RELAYLOG_LOCK_log

◆ key_RELAYLOG_LOCK_log_end_pos

PSI_mutex_key key_RELAYLOG_LOCK_log_end_pos

◆ key_RELAYLOG_LOCK_sync

PSI_mutex_key key_RELAYLOG_LOCK_sync

◆ key_RELAYLOG_LOCK_sync_queue

PSI_mutex_key key_RELAYLOG_LOCK_sync_queue

◆ key_RELAYLOG_LOCK_xids

PSI_mutex_key key_RELAYLOG_LOCK_xids

◆ key_RELAYLOG_prep_xids_cond

PSI_cond_key key_RELAYLOG_prep_xids_cond

◆ key_RELAYLOG_update_cond

PSI_cond_key key_RELAYLOG_update_cond

◆ key_rwlock_Binlog_relay_IO_delegate_lock

PSI_rwlock_key key_rwlock_Binlog_relay_IO_delegate_lock

◆ key_rwlock_Binlog_storage_delegate_lock

PSI_rwlock_key key_rwlock_Binlog_storage_delegate_lock

◆ key_rwlock_Binlog_transmit_delegate_lock

PSI_rwlock_key key_rwlock_Binlog_transmit_delegate_lock

◆ key_rwlock_channel_lock

PSI_rwlock_key key_rwlock_channel_lock

◆ key_rwlock_channel_map_lock

PSI_rwlock_key key_rwlock_channel_map_lock

◆ key_rwlock_channel_to_filter_lock

PSI_rwlock_key key_rwlock_channel_to_filter_lock

◆ key_rwlock_global_sid_lock

PSI_rwlock_key key_rwlock_global_sid_lock
static

◆ key_rwlock_gtid_mode_lock

PSI_rwlock_key key_rwlock_gtid_mode_lock
static

◆ key_rwlock_LOCK_logger

PSI_rwlock_key key_rwlock_LOCK_logger

◆ key_rwlock_LOCK_sys_init_connect

PSI_rwlock_key key_rwlock_LOCK_sys_init_connect
static

◆ key_rwlock_LOCK_sys_init_slave

PSI_rwlock_key key_rwlock_LOCK_sys_init_slave
static

◆ key_rwlock_LOCK_system_variables_hash

PSI_rwlock_key key_rwlock_LOCK_system_variables_hash
static

◆ key_rwlock_receiver_sid_lock

PSI_rwlock_key key_rwlock_receiver_sid_lock

◆ key_rwlock_resource_group_mgr_map_lock

PSI_rwlock_key key_rwlock_resource_group_mgr_map_lock

◆ key_rwlock_rpl_filter_lock

PSI_rwlock_key key_rwlock_rpl_filter_lock

◆ key_rwlock_Server_state_delegate_lock

PSI_rwlock_key key_rwlock_Server_state_delegate_lock

◆ key_rwlock_Trans_delegate_lock

PSI_rwlock_key key_rwlock_Trans_delegate_lock

◆ key_select_to_file

PSI_file_key key_select_to_file

◆ key_socket_client_connection

PSI_socket_key key_socket_client_connection

◆ key_socket_tcpip

PSI_socket_key key_socket_tcpip

◆ key_socket_unix

PSI_socket_key key_socket_unix

◆ key_structure_guard_mutex

PSI_mutex_key key_structure_guard_mutex

◆ key_TABLE_SHARE_LOCK_ha_data

PSI_mutex_key key_TABLE_SHARE_LOCK_ha_data

◆ key_thd_timer_mutex

PSI_mutex_key key_thd_timer_mutex

◆ key_thread_bootstrap

PSI_thread_key key_thread_bootstrap

◆ key_thread_compress_gtid_table

PSI_thread_key key_thread_compress_gtid_table

◆ key_thread_handle_con_admin_sockets

PSI_thread_key key_thread_handle_con_admin_sockets

◆ key_thread_handle_manager

PSI_thread_key key_thread_handle_manager

◆ key_thread_main

PSI_thread_key key_thread_main
static

◆ key_thread_one_connection

PSI_thread_key key_thread_one_connection

◆ key_thread_parser_service

PSI_thread_key key_thread_parser_service

◆ key_thread_signal_hand

PSI_thread_key key_thread_signal_hand
static

◆ lc_messages

char* lc_messages
static

◆ lc_messages_dir

char lc_messages_dir[FN_REFLEN]

◆ lc_messages_dir_ptr

char* lc_messages_dir_ptr

◆ lc_time_names_name

char* lc_time_names_name
static

◆ le_creator

Le_creator le_creator

◆ listen_admin_interface_in_separate_thread

bool listen_admin_interface_in_separate_thread

◆ load_default_groups

const char* load_default_groups[]
Initial value:
= {
"mysqld", "server", MYSQL_BASE_VERSION, 0, 0}

◆ LOCK_collect_instance_log

mysql_mutex_t LOCK_collect_instance_log

◆ LOCK_compress_gtid_table

mysql_mutex_t LOCK_compress_gtid_table

◆ LOCK_crypt

mysql_mutex_t LOCK_crypt

◆ LOCK_default_password_lifetime

mysql_mutex_t LOCK_default_password_lifetime

◆ LOCK_error_messages

mysql_mutex_t LOCK_error_messages

◆ LOCK_global_system_variables

mysql_mutex_t LOCK_global_system_variables

◆ LOCK_keyring_operations

mysql_mutex_t LOCK_keyring_operations

◆ LOCK_log_throttle_qni

mysql_mutex_t LOCK_log_throttle_qni

◆ LOCK_mandatory_roles

mysql_mutex_t LOCK_mandatory_roles

◆ LOCK_password_history

mysql_mutex_t LOCK_password_history

◆ LOCK_password_reuse_interval

mysql_mutex_t LOCK_password_reuse_interval

◆ LOCK_prepared_stmt_count

mysql_mutex_t LOCK_prepared_stmt_count

The below lock protects access to two global server variables: max_prepared_stmt_count and prepared_stmt_count.

These variables set the limit and hold the current total number of prepared statements in the server, respectively. As PREPARE/DEALLOCATE rate in a loaded server may be fairly high, we need a dedicated lock.

◆ LOCK_reset_gtid_table

mysql_mutex_t LOCK_reset_gtid_table

◆ LOCK_server_started

mysql_mutex_t LOCK_server_started

◆ LOCK_slave_net_timeout

mysql_mutex_t LOCK_slave_net_timeout

◆ LOCK_slave_trans_dep_tracker

mysql_mutex_t LOCK_slave_trans_dep_tracker

◆ LOCK_socket_listener_active

mysql_mutex_t LOCK_socket_listener_active

◆ LOCK_sql_rand

mysql_mutex_t LOCK_sql_rand

◆ LOCK_sql_slave_skip_counter

mysql_mutex_t LOCK_sql_slave_skip_counter

◆ LOCK_start_signal_handler

mysql_mutex_t LOCK_start_signal_handler

◆ LOCK_status

mysql_mutex_t LOCK_status

◆ LOCK_sys_init_connect

mysql_rwlock_t LOCK_sys_init_connect

◆ LOCK_sys_init_slave

mysql_rwlock_t LOCK_sys_init_slave

◆ LOCK_system_variables_hash

mysql_rwlock_t LOCK_system_variables_hash

◆ LOCK_user_conn

mysql_mutex_t LOCK_user_conn

◆ LOCK_uuid_generator

mysql_mutex_t LOCK_uuid_generator

◆ locked_account_connection_count

ulong locked_account_connection_count = 0

◆ locked_in_memory

bool locked_in_memory

◆ log_10

const double log_10[]
Initial value:
= {
1e000, 1e001, 1e002, 1e003, 1e004, 1e005, 1e006, 1e007, 1e008, 1e009, 1e010,
1e011, 1e012, 1e013, 1e014, 1e015, 1e016, 1e017, 1e018, 1e019, 1e020, 1e021,
1e022, 1e023, 1e024, 1e025, 1e026, 1e027, 1e028, 1e029, 1e030, 1e031, 1e032,
1e033, 1e034, 1e035, 1e036, 1e037, 1e038, 1e039, 1e040, 1e041, 1e042, 1e043,
1e044, 1e045, 1e046, 1e047, 1e048, 1e049, 1e050, 1e051, 1e052, 1e053, 1e054,
1e055, 1e056, 1e057, 1e058, 1e059, 1e060, 1e061, 1e062, 1e063, 1e064, 1e065,
1e066, 1e067, 1e068, 1e069, 1e070, 1e071, 1e072, 1e073, 1e074, 1e075, 1e076,
1e077, 1e078, 1e079, 1e080, 1e081, 1e082, 1e083, 1e084, 1e085, 1e086, 1e087,
1e088, 1e089, 1e090, 1e091, 1e092, 1e093, 1e094, 1e095, 1e096, 1e097, 1e098,
1e099, 1e100, 1e101, 1e102, 1e103, 1e104, 1e105, 1e106, 1e107, 1e108, 1e109,
1e110, 1e111, 1e112, 1e113, 1e114, 1e115, 1e116, 1e117, 1e118, 1e119, 1e120,
1e121, 1e122, 1e123, 1e124, 1e125, 1e126, 1e127, 1e128, 1e129, 1e130, 1e131,
1e132, 1e133, 1e134, 1e135, 1e136, 1e137, 1e138, 1e139, 1e140, 1e141, 1e142,
1e143, 1e144, 1e145, 1e146, 1e147, 1e148, 1e149, 1e150, 1e151, 1e152, 1e153,
1e154, 1e155, 1e156, 1e157, 1e158, 1e159, 1e160, 1e161, 1e162, 1e163, 1e164,
1e165, 1e166, 1e167, 1e168, 1e169, 1e170, 1e171, 1e172, 1e173, 1e174, 1e175,
1e176, 1e177, 1e178, 1e179, 1e180, 1e181, 1e182, 1e183, 1e184, 1e185, 1e186,
1e187, 1e188, 1e189, 1e190, 1e191, 1e192, 1e193, 1e194, 1e195, 1e196, 1e197,
1e198, 1e199, 1e200, 1e201, 1e202, 1e203, 1e204, 1e205, 1e206, 1e207, 1e208,
1e209, 1e210, 1e211, 1e212, 1e213, 1e214, 1e215, 1e216, 1e217, 1e218, 1e219,
1e220, 1e221, 1e222, 1e223, 1e224, 1e225, 1e226, 1e227, 1e228, 1e229, 1e230,
1e231, 1e232, 1e233, 1e234, 1e235, 1e236, 1e237, 1e238, 1e239, 1e240, 1e241,
1e242, 1e243, 1e244, 1e245, 1e246, 1e247, 1e248, 1e249, 1e250, 1e251, 1e252,
1e253, 1e254, 1e255, 1e256, 1e257, 1e258, 1e259, 1e260, 1e261, 1e262, 1e263,
1e264, 1e265, 1e266, 1e267, 1e268, 1e269, 1e270, 1e271, 1e272, 1e273, 1e274,
1e275, 1e276, 1e277, 1e278, 1e279, 1e280, 1e281, 1e282, 1e283, 1e284, 1e285,
1e286, 1e287, 1e288, 1e289, 1e290, 1e291, 1e292, 1e293, 1e294, 1e295, 1e296,
1e297, 1e298, 1e299, 1e300, 1e301, 1e302, 1e303, 1e304, 1e305, 1e306, 1e307,
1e308}

◆ log_bin_supplied

bool log_bin_supplied = false

◆ log_bin_use_v1_row_events

bool log_bin_use_v1_row_events = 0

◆ log_error_dest

const char* log_error_dest

◆ log_error_verbosity

ulong log_error_verbosity = 3

◆ log_output_options

ulonglong log_output_options

◆ log_slave_updates_supplied

bool log_slave_updates_supplied = false

◆ logname_path

char logname_path[FN_REFLEN]

◆ lower_case_file_system

bool lower_case_file_system = 0

◆ lower_case_table_names

uint lower_case_table_names

◆ lower_case_table_names_used

bool lower_case_table_names_used = 0
static

◆ lt_creator

Lt_creator lt_creator

◆ main_thread_id

my_thread_t main_thread_id
static

◆ max_binlog_cache_size

ulonglong max_binlog_cache_size = 0

◆ max_binlog_size

ulong max_binlog_size

◆ max_binlog_stmt_cache_size

ulonglong max_binlog_stmt_cache_size = 0

◆ max_connect_errors

ulong max_connect_errors

◆ max_connections

ulong max_connections

◆ max_prepared_stmt_count

ulong max_prepared_stmt_count

Limit of the total number of prepared statements in the server.

Is necessary to protect the server against out-of-memory attacks.

◆ max_relay_log_size

ulong max_relay_log_size

◆ max_system_variables

struct System_variables max_system_variables

◆ migrate_connect_options

bool migrate_connect_options = 0

Variable to check if connection related options are set as part of keyring migration.

◆ mqh_used

volatile bool mqh_used = 0

◆ mts_parallel_option

ulong mts_parallel_option

◆ my_admin_bind_addr_str

char* my_admin_bind_addr_str

◆ my_bind_addr_str

char* my_bind_addr_str

◆ my_default_lc_messages

MY_LOCALE* my_default_lc_messages

◆ my_default_lc_time_names

MY_LOCALE* my_default_lc_time_names

◆ my_localhost

const char* my_localhost = "localhost"

◆ my_long_early_options

struct my_option my_long_early_options[]

◆ my_long_options

struct my_option my_long_options[]

System variables are automatically command-line options (few exceptions are documented in sys_var.h), so don't need to be listed here.

◆ my_share_dir

const char* my_share_dir[FN_REFLEN]

◆ myisam_hton

handlerton* myisam_hton

◆ mysql_charsets_dir

char mysql_charsets_dir[FN_REFLEN]

◆ mysql_data_home

char* mysql_data_home = const_cast<char *>(".")

◆ mysql_data_home_len

size_t mysql_data_home_len = 1

◆ mysql_home

char mysql_home[FN_REFLEN]

◆ mysql_home_ptr

char* mysql_home_ptr

◆ mysql_native_password_proxy_users

bool mysql_native_password_proxy_users = 0

◆ mysql_real_data_home

char mysql_real_data_home[FN_REFLEN]

◆ mysql_real_data_home_ptr

const char* mysql_real_data_home_ptr = mysql_real_data_home

◆ mysql_tmpdir_list

MY_TMPDIR mysql_tmpdir_list

◆ mysql_unpacked_real_data_home

char mysql_unpacked_real_data_home[FN_REFLEN]

◆ mysql_unpacked_real_data_home_len

size_t mysql_unpacked_real_data_home_len

◆ mysqld_admin_port

uint mysqld_admin_port

◆ mysqld_chroot

char * mysqld_chroot
static

◆ mysqld_port

uint mysqld_port

◆ mysqld_port_timeout

uint mysqld_port_timeout

◆ mysqld_process_must_end_at_startup

bool mysqld_process_must_end_at_startup = false
static

Set to true to signal at startup if the process must die.

Needed because kill_mysql() will not do anything before the server is fully initialized. Thus it now just sets this flag to on and exits. And then mysqld_main() will check if the flag is on at the right place and exit the process if it is.

◆ mysqld_server_started

bool mysqld_server_started = false

◆ mysqld_signal_mask

sigset_t mysqld_signal_mask

◆ mysqld_socket_acceptor

Connection_acceptor<Mysqld_socket_listener>* mysqld_socket_acceptor
static
Initial value:
=
Sergei Dialog Client Authentication NULL
Definition: dialog.cc:352

◆ mysqld_unix_port

char* mysqld_unix_port

◆ mysqld_user

char* mysqld_user
static

◆ national_charset_info

CHARSET_INFO* national_charset_info

◆ ne_creator

Ne_creator ne_creator

◆ offline_mode

std::atomic<bool> offline_mode

◆ old_mode

bool old_mode

compatibility option:

  • index usage hints (USE INDEX without a FOR clause) behave as in 5.0

◆ open_files_limit

ulong open_files_limit

◆ opt_allow_suspicious_udfs

bool opt_allow_suspicious_udfs

◆ opt_always_activate_granted_roles

bool opt_always_activate_granted_roles = false

◆ opt_autocommit

bool opt_autocommit
static

for –autocommit command-line option

◆ opt_bin_log

bool opt_bin_log

◆ opt_bin_logname

char * opt_bin_logname

◆ opt_binlog_group_commit_sync_delay

long opt_binlog_group_commit_sync_delay = 0

◆ opt_binlog_group_commit_sync_no_delay_count

ulong opt_binlog_group_commit_sync_no_delay_count = 0

◆ opt_binlog_max_flush_queue_time

int32 opt_binlog_max_flush_queue_time = 0

◆ opt_character_set_client_handshake

bool opt_character_set_client_handshake = 1

◆ opt_console

bool opt_console = 0
static

◆ opt_daemonize

bool opt_daemonize = 0
static

◆ opt_debugging

bool opt_debugging = false

◆ opt_disable_networking

bool opt_disable_networking = 0

◆ opt_disabled_storage_engines

char* opt_disabled_storage_engines

◆ opt_enable_named_pipe

bool opt_enable_named_pipe = 0

◆ opt_endinfo

bool opt_endinfo
static

◆ opt_external_locking

bool opt_external_locking = 0
static

◆ opt_general_log

bool opt_general_log

◆ opt_general_log_raw

bool opt_general_log_raw

◆ opt_general_logname

char* opt_general_logname

◆ opt_help

bool opt_help = false

◆ opt_init_connect

LEX_STRING opt_init_connect

◆ opt_init_file

char * opt_init_file

◆ opt_init_slave

LEX_STRING opt_init_slave

◆ opt_initialize

bool opt_initialize = 0

◆ opt_keyring_migration_destination

char* opt_keyring_migration_destination = NULL

◆ opt_keyring_migration_host

char* opt_keyring_migration_host = NULL

◆ opt_keyring_migration_password

char* opt_keyring_migration_password = NULL

◆ opt_keyring_migration_port

ulong opt_keyring_migration_port = 0

◆ opt_keyring_migration_socket

char* opt_keyring_migration_socket = NULL

◆ opt_keyring_migration_source

char* opt_keyring_migration_source = NULL

◆ opt_keyring_migration_user

char* opt_keyring_migration_user = NULL

◆ opt_keyring_operations

bool opt_keyring_operations = true

◆ opt_large_files

bool opt_large_files = sizeof(my_off_t) > 4

◆ opt_large_page_size

uint opt_large_page_size = 0

◆ opt_large_pages

bool opt_large_pages = 0

◆ opt_local_infile

bool opt_local_infile

◆ opt_log_error_services

char* opt_log_error_services

◆ opt_log_error_suppression_list

char* opt_log_error_suppression_list

◆ opt_log_queries_not_using_indexes

bool opt_log_queries_not_using_indexes = 0

◆ opt_log_slow_admin_statements

bool opt_log_slow_admin_statements = 0

◆ opt_log_slow_extra

bool opt_log_slow_extra = false

◆ opt_log_slow_slave_statements

bool opt_log_slow_slave_statements = 0

◆ opt_log_throttle_queries_not_using_indexes

ulong opt_log_throttle_queries_not_using_indexes = 0

◆ opt_log_timestamps

ulong opt_log_timestamps

◆ opt_log_unsafe_statements

bool opt_log_unsafe_statements

◆ opt_mandatory_roles

LEX_STRING opt_mandatory_roles

◆ opt_mandatory_roles_cache

bool opt_mandatory_roles_cache = false

◆ opt_master_verify_checksum

bool opt_master_verify_checksum = 0

◆ opt_mts_checkpoint_group

uint opt_mts_checkpoint_group

◆ opt_mts_checkpoint_period

uint opt_mts_checkpoint_period

◆ opt_mts_pending_jobs_size_max

ulonglong opt_mts_pending_jobs_size_max

◆ opt_mts_slave_parallel_workers

ulong opt_mts_slave_parallel_workers

◆ opt_myisam_log

bool opt_myisam_log
static

◆ opt_myisam_use_mmap

bool opt_myisam_use_mmap = 0

◆ opt_mysql_tmpdir

char * opt_mysql_tmpdir

◆ opt_no_dd_upgrade

bool opt_no_dd_upgrade = false

◆ opt_noacl

bool opt_noacl = 0

◆ opt_old_style_user_limits

bool opt_old_style_user_limits = 0

◆ opt_readonly

bool opt_readonly = 0

◆ opt_regexp_stack_limit

int32_t opt_regexp_stack_limit

◆ opt_regexp_time_limit

int32_t opt_regexp_time_limit

◆ opt_require_secure_transport

bool opt_require_secure_transport = 0

◆ opt_safe_user_create

bool opt_safe_user_create = 0

◆ opt_secure_file_priv

char* opt_secure_file_priv

◆ opt_server_id_bits

uint opt_server_id_bits = 0

◆ opt_server_id_mask

ulong opt_server_id_mask = 0

◆ opt_short_log_format

bool opt_short_log_format = 0
static

◆ opt_show_slave_auth_info

bool opt_show_slave_auth_info

◆ opt_skip_name_resolve

bool opt_skip_name_resolve = 0

◆ opt_skip_show_db

bool opt_skip_show_db = 0

◆ opt_slave_allow_batching

bool opt_slave_allow_batching = 0

◆ opt_slave_compressed_protocol

bool opt_slave_compressed_protocol

◆ opt_slave_preserve_commit_order

bool opt_slave_preserve_commit_order

◆ opt_slave_sql_verify_checksum

bool opt_slave_sql_verify_checksum = 1

◆ opt_slow_log

bool opt_slow_log

◆ opt_slow_logname

char * opt_slow_logname

◆ opt_specialflag

ulong opt_specialflag
static

◆ opt_ssl_ca

char* opt_ssl_ca = NULL

◆ opt_ssl_capath

char * opt_ssl_capath = NULL

◆ opt_ssl_cert

char * opt_ssl_cert = NULL

◆ opt_ssl_cipher

char * opt_ssl_cipher = NULL

◆ opt_ssl_crl

char * opt_ssl_crl = NULL

◆ opt_ssl_crlpath

char * opt_ssl_crlpath = NULL

◆ opt_ssl_fips_mode

ulong opt_ssl_fips_mode = SSL_FIPS_MODE_OFF

◆ opt_ssl_key

char * opt_ssl_key = NULL

◆ opt_super_large_pages

bool opt_super_large_pages = 0

◆ opt_super_readonly

bool opt_super_readonly = 0

◆ opt_tc_log_file

char * opt_tc_log_file

◆ opt_tc_log_size

ulong opt_tc_log_size

◆ opt_tls_version

char * opt_tls_version = NULL

◆ opt_use_ssl

bool opt_use_ssl = 1

◆ opt_using_transactions

bool opt_using_transactions

◆ opt_verbose

bool opt_verbose = false

◆ orig_argc

int orig_argc

◆ orig_argv

char** orig_argv

◆ password_require_current

volatile bool password_require_current = false

◆ persisted_globals_load

bool persisted_globals_load = true

◆ persisted_variables_cache

Persisted_variables_cache persisted_variables_cache
static

◆ pid_file_created

bool pid_file_created = false
static

◆ pidfile_name

char pidfile_name[FN_REFLEN]

◆ pidfile_name_ptr

char * pidfile_name_ptr

◆ pipe_write_fd

int pipe_write_fd = -1
static

◆ prepared_stmt_count

ulong prepared_stmt_count = 0

Current total number of prepared statements in the server.

This number is exact, and therefore may not be equal to the difference between ‘com_stmt_prepare’ and ‘com_stmt_close’ (global status variables), as the latter ones account for all registered attempts to prepare a statement (including unsuccessful ones). Prepared statements are currently connection-local: if the same SQL query text is prepared in two different connections, this counts as two distinct prepared statements.

◆ protocol_version

uint protocol_version

◆ read_only

bool read_only = 0

◆ refresh_version

ulong refresh_version

◆ reg_ext

char reg_ext[FN_EXTLEN]

◆ reg_ext_length

uint reg_ext_length

◆ relay_ext

const char* relay_ext = "-relay-bin"

◆ relay_ext_length

const int relay_ext_length = 10

◆ relay_log_purge

bool relay_log_purge

◆ relay_log_recovery

bool relay_log_recovery

◆ remaining_argc

int remaining_argc
static

Remaining command line arguments (count), filtered by handle_options().

◆ remaining_argv

char** remaining_argv
static

Remaining command line arguments (arguments), filtered by handle_options().

◆ rpl_global_filter

Rpl_global_filter rpl_global_filter

◆ rpl_stop_slave_timeout

ulong rpl_stop_slave_timeout = LONG_TIMEOUT

◆ schema_def_size

ulong schema_def_size

◆ secure_file_real_path

char secure_file_real_path[FN_REFLEN]

◆ select_errors

uint select_errors

◆ server_id

ulong server_id

◆ server_operational_state

std::atomic<enum_server_operational_state> server_operational_state
static
Initial value:
{
Definition: mysqld.h:141

◆ server_start_time

time_t server_start_time

◆ server_uuid

char server_uuid[UUID_LENGTH+1]

◆ server_uuid_ptr

const char* server_uuid_ptr

◆ server_version

char server_version[SERVER_VERSION_LENGTH]

◆ sha256_password_proxy_users

bool sha256_password_proxy_users = 0

◆ show_comp_option_name

const char* show_comp_option_name[] = {"YES", "NO", "DISABLED"}

◆ signal_thread_id

my_thread_handle signal_thread_id

◆ slave_exec_mode_options

ulong slave_exec_mode_options

◆ slave_max_allowed_packet

ulong slave_max_allowed_packet = 0

◆ slave_net_timeout

uint slave_net_timeout

◆ slave_preserve_commit_order_supplied

bool slave_preserve_commit_order_supplied = false

◆ slave_rows_last_search_algorithm_used

uint slave_rows_last_search_algorithm_used

◆ slave_rows_search_algorithms_options

ulonglong slave_rows_search_algorithms_options

◆ slave_trans_retries

ulong slave_trans_retries

◆ slave_type_conversions_options

ulonglong slave_type_conversions_options

◆ slow_launch_time

ulong slow_launch_time

◆ slow_logname_path

char slow_logname_path[FN_REFLEN]

◆ socket_listener_active

bool socket_listener_active = false
static

◆ source_autocommit

get_opt_arg_source source_autocommit
static

◆ sp_automatic_privileges

bool sp_automatic_privileges = 1

◆ specialflag

ulong specialflag = 0

◆ sql_rand

struct rand_struct sql_rand

used by sql_class.cc:THD::THD()

◆ sql_statement_info

PSI_statement_info sql_statement_info[(uint) SQLCOM_END+1]

Statement instrumentation keys (sql).

The last entry, at [SQLCOM_END], is for parsing errors.

◆ sql_statement_names

LEX_CSTRING sql_statement_names[(uint) SQLCOM_END+1]

◆ stage_after_create

PSI_stage_info stage_after_create = { 0, "After create", 0, PSI_DOCUMENT_ME}

◆ stage_allocating_local_table

PSI_stage_info stage_allocating_local_table = { 0, "allocating local table", 0, PSI_DOCUMENT_ME}

◆ stage_alter_inplace

PSI_stage_info stage_alter_inplace = { 0, "altering table", 0, PSI_DOCUMENT_ME}

◆ stage_alter_inplace_commit

PSI_stage_info stage_alter_inplace_commit = { 0, "committing alter table to storage engine", 0, PSI_DOCUMENT_ME}

◆ stage_alter_inplace_prepare

PSI_stage_info stage_alter_inplace_prepare = { 0, "preparing for alter table", 0, PSI_DOCUMENT_ME}

◆ stage_changing_master

PSI_stage_info stage_changing_master = { 0, "Changing master", 0, PSI_DOCUMENT_ME}

◆ stage_checking_master_version

PSI_stage_info stage_checking_master_version = { 0, "Checking master version", 0, PSI_DOCUMENT_ME}

◆ stage_checking_permissions

PSI_stage_info stage_checking_permissions = { 0, "checking permissions", 0, PSI_DOCUMENT_ME}

◆ stage_checking_privileges_on_cached_query

PSI_stage_info stage_checking_privileges_on_cached_query = { 0, "checking privileges on cached query", 0, PSI_DOCUMENT_ME}

◆ stage_cleaning_up

PSI_stage_info stage_cleaning_up = { 0, "cleaning up", 0, PSI_DOCUMENT_ME}

◆ stage_closing_tables

PSI_stage_info stage_closing_tables = { 0, "closing tables", 0, PSI_DOCUMENT_ME}

◆ stage_compressing_gtid_table

PSI_stage_info stage_compressing_gtid_table = { 0, "Compressing gtid_executed table", 0, PSI_DOCUMENT_ME}

◆ stage_connecting_to_master

PSI_stage_info stage_connecting_to_master = { 0, "Connecting to master", 0, PSI_DOCUMENT_ME}

◆ stage_converting_heap_to_ondisk

PSI_stage_info stage_converting_heap_to_ondisk = { 0, "converting HEAP to ondisk", 0, PSI_DOCUMENT_ME}

◆ stage_copy_to_tmp_table

PSI_stage_info stage_copy_to_tmp_table = { 0, "copy to tmp table", PSI_FLAG_STAGE_PROGRESS, PSI_DOCUMENT_ME}

◆ stage_copying_to_group_table

PSI_stage_info stage_copying_to_group_table = { 0, "Copying to group table", 0, PSI_DOCUMENT_ME}

◆ stage_copying_to_tmp_table

PSI_stage_info stage_copying_to_tmp_table = { 0, "Copying to tmp table", 0, PSI_DOCUMENT_ME}

◆ stage_creating_sort_index

PSI_stage_info stage_creating_sort_index = { 0, "Creating sort index", 0, PSI_DOCUMENT_ME}

◆ stage_creating_table

PSI_stage_info stage_creating_table = { 0, "creating table", 0, PSI_DOCUMENT_ME}

◆ stage_creating_tmp_table

PSI_stage_info stage_creating_tmp_table = { 0, "Creating tmp table", 0, PSI_DOCUMENT_ME}

◆ stage_deleting_from_main_table

PSI_stage_info stage_deleting_from_main_table = { 0, "deleting from main table", 0, PSI_DOCUMENT_ME}

◆ stage_deleting_from_reference_tables

PSI_stage_info stage_deleting_from_reference_tables = { 0, "deleting from reference tables", 0, PSI_DOCUMENT_ME}

◆ stage_discard_or_import_tablespace

PSI_stage_info stage_discard_or_import_tablespace = { 0, "discard_or_import_tablespace", 0, PSI_DOCUMENT_ME}

◆ stage_end

PSI_stage_info stage_end = { 0, "end", 0, PSI_DOCUMENT_ME}

◆ stage_executing

PSI_stage_info stage_executing = { 0, "executing", 0, PSI_DOCUMENT_ME}

◆ stage_execution_of_init_command

PSI_stage_info stage_execution_of_init_command = { 0, "Execution of init_command", 0, PSI_DOCUMENT_ME}

◆ stage_explaining

PSI_stage_info stage_explaining = { 0, "explaining", 0, PSI_DOCUMENT_ME}

◆ stage_finished_reading_one_binlog_switching_to_next_binlog

PSI_stage_info stage_finished_reading_one_binlog_switching_to_next_binlog = { 0, "Finished reading one binlog; switching to next binlog", 0, PSI_DOCUMENT_ME}

◆ stage_flushing_relay_log_and_master_info_repository

PSI_stage_info stage_flushing_relay_log_and_master_info_repository = { 0, "Flushing relay log and master info repository.", 0, PSI_DOCUMENT_ME}

◆ stage_flushing_relay_log_info_file

PSI_stage_info stage_flushing_relay_log_info_file = { 0, "Flushing relay-log info file.", 0, PSI_DOCUMENT_ME}

◆ stage_freeing_items

PSI_stage_info stage_freeing_items = { 0, "freeing items", 0, PSI_DOCUMENT_ME}

◆ stage_fulltext_initialization

PSI_stage_info stage_fulltext_initialization = { 0, "FULLTEXT initialization", 0, PSI_DOCUMENT_ME}

◆ stage_got_handler_lock

PSI_stage_info stage_got_handler_lock = { 0, "got handler lock", 0, PSI_DOCUMENT_ME}

◆ stage_got_old_table

PSI_stage_info stage_got_old_table = { 0, "got old table", 0, PSI_DOCUMENT_ME}

◆ stage_hook_begin_trans

PSI_stage_info stage_hook_begin_trans = { 0, "Executing hook on transaction begin.", 0, PSI_DOCUMENT_ME}

◆ stage_init

PSI_stage_info stage_init = { 0, "init", 0, PSI_DOCUMENT_ME}

◆ stage_insert

PSI_stage_info stage_insert = { 0, "insert", 0, PSI_DOCUMENT_ME}

◆ stage_killing_slave

PSI_stage_info stage_killing_slave = { 0, "Killing slave", 0, PSI_DOCUMENT_ME}

◆ stage_logging_slow_query

PSI_stage_info stage_logging_slow_query = { 0, "logging slow query", 0, PSI_DOCUMENT_ME}

◆ stage_making_temp_file_append_before_load_data

PSI_stage_info stage_making_temp_file_append_before_load_data = { 0, "Making temporary file (append) before replaying LOAD DATA INFILE", 0, PSI_DOCUMENT_ME}

◆ stage_making_temp_file_create_before_load_data

PSI_stage_info stage_making_temp_file_create_before_load_data = { 0, "Making temporary file (create) before replaying LOAD DATA INFILE", 0, PSI_DOCUMENT_ME}

◆ stage_manage_keys

PSI_stage_info stage_manage_keys = { 0, "manage keys", 0, PSI_DOCUMENT_ME}

◆ stage_master_has_sent_all_binlog_to_slave

PSI_stage_info stage_master_has_sent_all_binlog_to_slave = { 0, "Master has sent all binlog to slave; waiting for more updates", 0, PSI_DOCUMENT_ME}

◆ stage_opening_tables

PSI_stage_info stage_opening_tables = { 0, "Opening tables", 0, PSI_DOCUMENT_ME}

◆ stage_optimizing

PSI_stage_info stage_optimizing = { 0, "optimizing", 0, PSI_DOCUMENT_ME}

◆ stage_preparing

PSI_stage_info stage_preparing = { 0, "preparing", 0, PSI_DOCUMENT_ME}

◆ stage_purging_old_relay_logs

PSI_stage_info stage_purging_old_relay_logs = { 0, "Purging old relay logs", 0, PSI_DOCUMENT_ME}

◆ stage_query_end

PSI_stage_info stage_query_end = { 0, "query end", 0, PSI_DOCUMENT_ME}

◆ stage_queueing_master_event_to_the_relay_log

PSI_stage_info stage_queueing_master_event_to_the_relay_log = { 0, "Queueing master event to the relay log", 0, PSI_DOCUMENT_ME}

◆ stage_reading_event_from_the_relay_log

PSI_stage_info stage_reading_event_from_the_relay_log = { 0, "Reading event from the relay log", 0, PSI_DOCUMENT_ME}

◆ stage_registering_slave_on_master

PSI_stage_info stage_registering_slave_on_master = { 0, "Registering slave on master", 0, PSI_DOCUMENT_ME}

◆ stage_removing_duplicates

PSI_stage_info stage_removing_duplicates = { 0, "Removing duplicates", 0, PSI_DOCUMENT_ME}

◆ stage_removing_tmp_table

PSI_stage_info stage_removing_tmp_table = { 0, "removing tmp table", 0, PSI_DOCUMENT_ME}

◆ stage_rename

PSI_stage_info stage_rename = { 0, "rename", 0, PSI_DOCUMENT_ME}

◆ stage_rename_result_table

PSI_stage_info stage_rename_result_table = { 0, "rename result table", 0, PSI_DOCUMENT_ME}

◆ stage_requesting_binlog_dump

PSI_stage_info stage_requesting_binlog_dump = { 0, "Requesting binlog dump", 0, PSI_DOCUMENT_ME}

◆ stage_reschedule

PSI_stage_info stage_reschedule = { 0, "reschedule", 0, PSI_DOCUMENT_ME}

◆ stage_rpl_apply_row_evt_delete

PSI_stage_info stage_rpl_apply_row_evt_delete = { 0, "Applying batch of row changes (delete)", PSI_FLAG_STAGE_PROGRESS, PSI_DOCUMENT_ME}

◆ stage_rpl_apply_row_evt_update

PSI_stage_info stage_rpl_apply_row_evt_update = { 0, "Applying batch of row changes (update)", PSI_FLAG_STAGE_PROGRESS, PSI_DOCUMENT_ME}

◆ stage_rpl_apply_row_evt_write

PSI_stage_info stage_rpl_apply_row_evt_write = { 0, "Applying batch of row changes (write)", PSI_FLAG_STAGE_PROGRESS, PSI_DOCUMENT_ME}

◆ stage_searching_rows_for_update

PSI_stage_info stage_searching_rows_for_update = { 0, "Searching rows for update", 0, PSI_DOCUMENT_ME}

◆ stage_sending_binlog_event_to_slave

PSI_stage_info stage_sending_binlog_event_to_slave = { 0, "Sending binlog event to slave", 0, PSI_DOCUMENT_ME}

◆ stage_sending_cached_result_to_client

PSI_stage_info stage_sending_cached_result_to_client = { 0, "sending cached result to client", 0, PSI_DOCUMENT_ME}

◆ stage_sending_data

PSI_stage_info stage_sending_data = { 0, "Sending data", 0, PSI_DOCUMENT_ME}

◆ stage_setup

PSI_stage_info stage_setup = { 0, "setup", 0, PSI_DOCUMENT_ME}

◆ stage_slave_has_read_all_relay_log

PSI_stage_info stage_slave_has_read_all_relay_log = { 0, "Slave has read all relay log; waiting for more updates", 0, PSI_DOCUMENT_ME}

◆ stage_slave_waiting_event_from_coordinator

PSI_stage_info stage_slave_waiting_event_from_coordinator = { 0, "Waiting for an event from Coordinator", 0, PSI_DOCUMENT_ME}

◆ stage_slave_waiting_for_workers_to_process_queue

PSI_stage_info stage_slave_waiting_for_workers_to_process_queue = { 0, "Waiting for slave workers to process their queues", 0, PSI_DOCUMENT_ME}

◆ stage_slave_waiting_worker_queue

PSI_stage_info stage_slave_waiting_worker_queue = { 0, "Waiting for Slave Worker queue", 0, PSI_DOCUMENT_ME}

◆ stage_slave_waiting_worker_to_free_events

PSI_stage_info stage_slave_waiting_worker_to_free_events = { 0, "Waiting for Slave Workers to free pending events", 0, PSI_DOCUMENT_ME}

◆ stage_slave_waiting_worker_to_release_partition

PSI_stage_info stage_slave_waiting_worker_to_release_partition = { 0, "Waiting for Slave Worker to release partition", 0, PSI_DOCUMENT_ME}

◆ stage_slave_waiting_workers_to_exit

PSI_stage_info stage_slave_waiting_workers_to_exit = { 0, "Waiting for workers to exit", 0, PSI_DOCUMENT_ME}

◆ stage_sorting_for_group

PSI_stage_info stage_sorting_for_group = { 0, "Sorting for group", 0, PSI_DOCUMENT_ME}

◆ stage_sorting_for_order

PSI_stage_info stage_sorting_for_order = { 0, "Sorting for order", 0, PSI_DOCUMENT_ME}

◆ stage_sorting_result

PSI_stage_info stage_sorting_result = { 0, "Sorting result", 0, PSI_DOCUMENT_ME}

◆ stage_sql_thd_waiting_until_delay

PSI_stage_info stage_sql_thd_waiting_until_delay = { 0, "Waiting until MASTER_DELAY seconds after master executed event", 0, PSI_DOCUMENT_ME}

◆ stage_starting

PSI_stage_info stage_starting = { 0, "starting", 0, PSI_DOCUMENT_ME}

◆ stage_statistics

PSI_stage_info stage_statistics = { 0, "statistics", 0, PSI_DOCUMENT_ME}

◆ stage_storing_row_into_queue

PSI_stage_info stage_storing_row_into_queue = { 0, "storing row into queue", 0, PSI_DOCUMENT_ME}

◆ stage_suspending

PSI_stage_info stage_suspending = { 0, "Suspending", 0, PSI_DOCUMENT_ME}

◆ stage_system_lock

PSI_stage_info stage_system_lock = { 0, "System lock", 0, PSI_DOCUMENT_ME}

◆ stage_update

PSI_stage_info stage_update = { 0, "update", 0, PSI_DOCUMENT_ME}

◆ stage_updating

PSI_stage_info stage_updating = { 0, "updating", 0, PSI_DOCUMENT_ME}

◆ stage_updating_main_table

PSI_stage_info stage_updating_main_table = { 0, "updating main table", 0, PSI_DOCUMENT_ME}

◆ stage_updating_reference_tables

PSI_stage_info stage_updating_reference_tables = { 0, "updating reference tables", 0, PSI_DOCUMENT_ME}

◆ stage_upgrading_lock

PSI_stage_info stage_upgrading_lock = { 0, "upgrading lock", 0, PSI_DOCUMENT_ME}

◆ stage_user_sleep

PSI_stage_info stage_user_sleep = { 0, "User sleep", 0, PSI_DOCUMENT_ME}

◆ stage_verifying_table

PSI_stage_info stage_verifying_table = { 0, "verifying table", 0, PSI_DOCUMENT_ME}

◆ stage_waiting_for_disk_space

PSI_stage_info stage_waiting_for_disk_space

◆ stage_waiting_for_gtid_to_be_committed

PSI_stage_info stage_waiting_for_gtid_to_be_committed = { 0, "Waiting for GTID to be committed", 0, PSI_DOCUMENT_ME}

◆ stage_waiting_for_handler_commit

PSI_stage_info stage_waiting_for_handler_commit = { 0, "waiting for handler commit", 0, PSI_DOCUMENT_ME}

◆ stage_waiting_for_handler_insert

PSI_stage_info stage_waiting_for_handler_insert = { 0, "waiting for handler insert", 0, PSI_DOCUMENT_ME}

◆ stage_waiting_for_handler_lock

PSI_stage_info stage_waiting_for_handler_lock = { 0, "waiting for handler lock", 0, PSI_DOCUMENT_ME}

◆ stage_waiting_for_handler_open

PSI_stage_info stage_waiting_for_handler_open = { 0, "waiting for handler open", 0, PSI_DOCUMENT_ME}

◆ stage_waiting_for_insert

PSI_stage_info stage_waiting_for_insert = { 0, "Waiting for INSERT", 0, PSI_DOCUMENT_ME}

◆ stage_waiting_for_master_to_send_event

PSI_stage_info stage_waiting_for_master_to_send_event = { 0, "Waiting for master to send event", 0, PSI_DOCUMENT_ME}

◆ stage_waiting_for_master_update

PSI_stage_info stage_waiting_for_master_update = { 0, "Waiting for master update", 0, PSI_DOCUMENT_ME}

◆ stage_waiting_for_no_channel_reference

PSI_stage_info stage_waiting_for_no_channel_reference = { 0, "Waiting for no channel reference.", 0, PSI_DOCUMENT_ME}

◆ stage_waiting_for_relay_log_space

PSI_stage_info stage_waiting_for_relay_log_space = { 0, "Waiting for the slave SQL thread to free enough relay log space", 0, PSI_DOCUMENT_ME}

◆ stage_waiting_for_slave_mutex_on_exit

PSI_stage_info stage_waiting_for_slave_mutex_on_exit = { 0, "Waiting for slave mutex on exit", 0, PSI_DOCUMENT_ME}

◆ stage_waiting_for_slave_thread_to_start

PSI_stage_info stage_waiting_for_slave_thread_to_start = { 0, "Waiting for slave thread to start", 0, PSI_DOCUMENT_ME}

◆ stage_waiting_for_table_flush

PSI_stage_info stage_waiting_for_table_flush = { 0, "Waiting for table flush", 0, PSI_DOCUMENT_ME}

◆ stage_waiting_for_the_next_event_in_relay_log

PSI_stage_info stage_waiting_for_the_next_event_in_relay_log = { 0, "Waiting for the next event in relay log", 0, PSI_DOCUMENT_ME}

◆ stage_waiting_for_the_slave_thread_to_advance_position

PSI_stage_info stage_waiting_for_the_slave_thread_to_advance_position = { 0, "Waiting for the slave SQL thread to advance position", 0, PSI_DOCUMENT_ME}

◆ stage_waiting_to_finalize_termination

PSI_stage_info stage_waiting_to_finalize_termination = { 0, "Waiting to finalize termination", 0, PSI_DOCUMENT_ME}

◆ stage_worker_waiting_for_commit_parent

PSI_stage_info stage_worker_waiting_for_commit_parent = { 0, "Waiting for dependent transaction to commit", 0, PSI_DOCUMENT_ME}

◆ stage_worker_waiting_for_its_turn_to_commit

PSI_stage_info stage_worker_waiting_for_its_turn_to_commit = { 0, "Waiting for preceding transaction to commit", 0, PSI_DOCUMENT_ME}

◆ status_vars

SHOW_VAR status_vars[]

◆ stmt_info_rpl

PSI_statement_info stmt_info_rpl

Statement instrumentation key for replication.

◆ stored_program_cache_size

ulong stored_program_cache_size = 0

Soft upper limit for number of sp_head objects that can be stored in the sp_cache for one connection.

◆ stored_program_def_size

ulong stored_program_def_size

◆ super_read_only

bool super_read_only = 0

◆ sync_masterinfo_period

uint sync_masterinfo_period = 0

◆ sync_relaylog_period

uint sync_relaylog_period = 0

◆ sync_relayloginfo_period

uint sync_relayloginfo_period = 0

◆ system_charset_info

CHARSET_INFO* system_charset_info

◆ system_time_zone

char system_time_zone[30]

◆ table_alias_charset

CHARSET_INFO * table_alias_charset

◆ table_cache_instances

ulong table_cache_instances

◆ table_cache_size

ulong table_cache_size

◆ table_cache_size_per_instance

ulong table_cache_size_per_instance

◆ table_def_size

ulong table_def_size

◆ table_definition_cache_specified

bool table_definition_cache_specified = false

◆ tablespace_def_size

ulong tablespace_def_size

◆ tc_heuristic_recover

long tc_heuristic_recover

◆ tc_heuristic_recover_names

const char* tc_heuristic_recover_names[]
static
Initial value:
= {"OFF", "COMMIT", "ROLLBACK",
#define NullS
Definition of the null string (a null pointer of type char *), used in some of our string handling co...
Definition: m_string.h:49

◆ tc_heuristic_recover_typelib

TYPELIB tc_heuristic_recover_typelib
static
Initial value:
= {
static const char * tc_heuristic_recover_names[]
Definition: mysqld.cc:814
Sergei Dialog Client Authentication NULL
Definition: dialog.cc:352
constexpr size_t array_elements(T(&)[N]) noexcept
Definition: my_macros.h:77

◆ temptable_hton

handlerton* temptable_hton

◆ temptable_max_ram

ulonglong temptable_max_ram

◆ test_flags

uint test_flags

◆ THR_MALLOC

thread_local MEM_ROOT** THR_MALLOC = nullptr

◆ thread_cache_size_specified

bool thread_cache_size_specified = false

◆ timestamp_type_names

const char* timestamp_type_names[] = {"UTC", "SYSTEM", NullS}

◆ trust_function_creators

bool trust_function_creators = 0

◆ user_info

struct passwd* user_info = NULL

◆ using_udf_functions

bool using_udf_functions

◆ what_to_log

ulong what_to_log