Linux server.kiran-academy.com 3.10.0-1160.108.1.el7.x86_64 #1 SMP Thu Jan 25 16:17:31 UTC 2024 x86_64
Apache/2.4.57 (Unix) OpenSSL/1.0.2k-fips
: 194.233.91.196 | : 216.73.216.216
Cant Read [ /etc/named.conf ]
7.4.32
finalho
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
usr /
include /
mysql /
server /
private /
[ HOME SHELL ]
Name
Size
Permission
Action
atomic
[ DIR ]
drwxr-xr-x
aria_backup.h
1.38
KB
-rw-r--r--
authors.h
9.59
KB
-rw-r--r--
backup.h
1.21
KB
-rw-r--r--
bounded_queue.h
6.58
KB
-rw-r--r--
client_settings.h
1.89
KB
-rw-r--r--
compat56.h
2.23
KB
-rw-r--r--
config.h
14.33
KB
-rw-r--r--
contributors.h
2.92
KB
-rw-r--r--
create_options.h
4.26
KB
-rw-r--r--
custom_conf.h
1.06
KB
-rw-r--r--
datadict.h
1.61
KB
-rw-r--r--
debug_sync.h
1.71
KB
-rw-r--r--
derived_handler.h
2.32
KB
-rw-r--r--
derror.h
980
B
-rw-r--r--
des_key_file.h
1.21
KB
-rw-r--r--
discover.h
1.53
KB
-rw-r--r--
dur_prop.h
1.06
KB
-rw-r--r--
embedded_priv.h
1.47
KB
-rw-r--r--
event_data_objects.h
3.88
KB
-rw-r--r--
event_db_repository.h
3.56
KB
-rw-r--r--
event_parse_data.h
2.83
KB
-rw-r--r--
event_queue.h
3.36
KB
-rw-r--r--
event_scheduler.h
3.21
KB
-rw-r--r--
events.h
4.54
KB
-rw-r--r--
field.h
189.86
KB
-rw-r--r--
field_comp.h
1.15
KB
-rw-r--r--
filesort.h
4.7
KB
-rw-r--r--
filesort_utils.h
3.78
KB
-rw-r--r--
ft_global.h
3.04
KB
-rw-r--r--
gcalc_slicescan.h
16.87
KB
-rw-r--r--
gcalc_tools.h
11.53
KB
-rw-r--r--
group_by_handler.h
3.09
KB
-rw-r--r--
gstream.h
2.38
KB
-rw-r--r--
ha_partition.h
62.15
KB
-rw-r--r--
ha_sequence.h
5.54
KB
-rw-r--r--
handle_connections_win.h
852
B
-rw-r--r--
handler.h
178.71
KB
-rw-r--r--
hash.h
4.33
KB
-rw-r--r--
hash_filo.h
5.41
KB
-rw-r--r--
heap.h
9.23
KB
-rw-r--r--
hostname.h
5.29
KB
-rw-r--r--
ilist.h
6.84
KB
-rw-r--r--
init.h
852
B
-rw-r--r--
innodb_priv.h
1.29
KB
-rw-r--r--
item.h
248.7
KB
-rw-r--r--
item_cmpfunc.h
120.42
KB
-rw-r--r--
item_create.h
8.39
KB
-rw-r--r--
item_func.h
110.72
KB
-rw-r--r--
item_geofunc.h
28.54
KB
-rw-r--r--
item_inetfunc.h
6.56
KB
-rw-r--r--
item_jsonfunc.h
13.63
KB
-rw-r--r--
item_row.h
5.02
KB
-rw-r--r--
item_strfunc.h
58.95
KB
-rw-r--r--
item_subselect.h
52.43
KB
-rw-r--r--
item_sum.h
63.56
KB
-rw-r--r--
item_timefunc.h
53.89
KB
-rw-r--r--
item_vers.h
3.63
KB
-rw-r--r--
item_windowfunc.h
30.7
KB
-rw-r--r--
item_xmlfunc.h
3.37
KB
-rw-r--r--
key.h
2
KB
-rw-r--r--
keycaches.h
1.95
KB
-rw-r--r--
lex.h
28.37
KB
-rw-r--r--
lex_hash.h
138.65
KB
-rw-r--r--
lex_string.h
2.07
KB
-rw-r--r--
lex_symbol.h
1.29
KB
-rw-r--r--
lex_token.h
41.28
KB
-rw-r--r--
lf.h
6.31
KB
-rw-r--r--
lock.h
2.16
KB
-rw-r--r--
log.h
43.43
KB
-rw-r--r--
log_event.h
160.18
KB
-rw-r--r--
log_event_old.h
19.2
KB
-rw-r--r--
log_slow.h
1.98
KB
-rw-r--r--
maria.h
17.38
KB
-rw-r--r--
mariadb.h
1.25
KB
-rw-r--r--
mdl.h
36.08
KB
-rw-r--r--
mem_root_array.h
6.94
KB
-rw-r--r--
message.h
1.17
KB
-rw-r--r--
multi_range_read.h
22.5
KB
-rw-r--r--
my_alarm.h
2.35
KB
-rw-r--r--
my_apc.h
4.62
KB
-rw-r--r--
my_atomic.h
7.11
KB
-rw-r--r--
my_atomic_wrapper.h
2.8
KB
-rw-r--r--
my_base.h
26.27
KB
-rw-r--r--
my_bit.h
3.44
KB
-rw-r--r--
my_bitmap.h
6.07
KB
-rw-r--r--
my_check_opt.h
2.56
KB
-rw-r--r--
my_compare.h
10.93
KB
-rw-r--r--
my_context.h
6.59
KB
-rw-r--r--
my_counter.h
1.68
KB
-rw-r--r--
my_cpu.h
4.01
KB
-rw-r--r--
my_crypt.h
904
B
-rw-r--r--
my_decimal.h
13.09
KB
-rw-r--r--
my_default.h
2.47
KB
-rw-r--r--
my_handler_errors.h
4.73
KB
-rw-r--r--
my_json_writer.h
17.11
KB
-rw-r--r--
my_libwrap.h
1.16
KB
-rw-r--r--
my_md5.h
1.45
KB
-rw-r--r--
my_minidump.h
848
B
-rw-r--r--
my_nosys.h
1.4
KB
-rw-r--r--
my_rdtsc.h
7.76
KB
-rw-r--r--
my_rnd.h
1.04
KB
-rw-r--r--
my_service_manager.h
1.47
KB
-rw-r--r--
my_stacktrace.h
2.99
KB
-rw-r--r--
my_time.h
10.22
KB
-rw-r--r--
my_tree.h
3.9
KB
-rw-r--r--
my_uctype.h
67.9
KB
-rw-r--r--
my_user.h
1.1
KB
-rw-r--r--
myisam.h
16.92
KB
-rw-r--r--
myisamchk.h
4.77
KB
-rw-r--r--
myisammrg.h
4.66
KB
-rw-r--r--
myisampack.h
14.58
KB
-rw-r--r--
mysql_async.h
1.77
KB
-rw-r--r--
mysqld.h
32.14
KB
-rw-r--r--
mysqld_default_groups.h
204
B
-rw-r--r--
mysqld_suffix.h
1.17
KB
-rw-r--r--
mysys_err.h
2.81
KB
-rw-r--r--
nt_servc.h
2.94
KB
-rw-r--r--
opt_range.h
54.69
KB
-rw-r--r--
opt_subselect.h
14.16
KB
-rw-r--r--
opt_trace.h
8.11
KB
-rw-r--r--
opt_trace_context.h
3.21
KB
-rw-r--r--
parse_file.h
4.12
KB
-rw-r--r--
partition_element.h
5.09
KB
-rw-r--r--
partition_info.h
16.77
KB
-rw-r--r--
password.h
1.14
KB
-rw-r--r--
pcre.h
30.97
KB
-rw-r--r--
probes_mysql.h
973
B
-rw-r--r--
probes_mysql_dtrace.h
32.23
KB
-rw-r--r--
probes_mysql_nodtrace.h
4.89
KB
-rw-r--r--
procedure.h
5.9
KB
-rw-r--r--
protocol.h
10.95
KB
-rw-r--r--
proxy_protocol.h
548
B
-rw-r--r--
queues.h
3.46
KB
-rw-r--r--
records.h
2.93
KB
-rw-r--r--
repl_failsafe.h
1.55
KB
-rw-r--r--
replication.h
15.73
KB
-rw-r--r--
rijndael.h
1.67
KB
-rw-r--r--
rowid_filter.h
15.07
KB
-rw-r--r--
rpl_constants.h
3.28
KB
-rw-r--r--
rpl_filter.h
4.41
KB
-rw-r--r--
rpl_gtid.h
13.25
KB
-rw-r--r--
rpl_injector.h
9.41
KB
-rw-r--r--
rpl_mi.h
13.65
KB
-rw-r--r--
rpl_parallel.h
13.52
KB
-rw-r--r--
rpl_record.h
1.55
KB
-rw-r--r--
rpl_record_old.h
1.37
KB
-rw-r--r--
rpl_reporting.h
2.96
KB
-rw-r--r--
rpl_rli.h
31.89
KB
-rw-r--r--
rpl_tblmap.h
3.1
KB
-rw-r--r--
rpl_utility.h
9.32
KB
-rw-r--r--
scheduler.h
3.4
KB
-rw-r--r--
scope.h
1.76
KB
-rw-r--r--
select_handler.h
1.99
KB
-rw-r--r--
semisync.h
2.23
KB
-rw-r--r--
semisync_master.h
22.68
KB
-rw-r--r--
semisync_master_ack_receiver.h
5.73
KB
-rw-r--r--
semisync_slave.h
3.47
KB
-rw-r--r--
service_versions.h
1.91
KB
-rw-r--r--
session_tracker.h
12.81
KB
-rw-r--r--
set_var.h
15.66
KB
-rw-r--r--
slave.h
11.99
KB
-rw-r--r--
source_revision.h
67
B
-rw-r--r--
sp.h
21.69
KB
-rw-r--r--
sp_cache.h
2
KB
-rw-r--r--
sp_head.h
59.95
KB
-rw-r--r--
sp_pcontext.h
24.3
KB
-rw-r--r--
sp_rcontext.h
14
KB
-rw-r--r--
span.h
3.84
KB
-rw-r--r--
spatial.h
20.82
KB
-rw-r--r--
sql_acl.h
17.83
KB
-rw-r--r--
sql_admin.h
2.74
KB
-rw-r--r--
sql_alloc.h
1.83
KB
-rw-r--r--
sql_alter.h
11.56
KB
-rw-r--r--
sql_analyse.h
10.91
KB
-rw-r--r--
sql_analyze_stmt.h
9.64
KB
-rw-r--r--
sql_array.h
6.29
KB
-rw-r--r--
sql_audit.h
13.55
KB
-rw-r--r--
sql_base.h
24.8
KB
-rw-r--r--
sql_basic_types.h
9.23
KB
-rw-r--r--
sql_binlog.h
895
B
-rw-r--r--
sql_bitmap.h
7.95
KB
-rw-r--r--
sql_bootstrap.h
1.63
KB
-rw-r--r--
sql_cache.h
21.15
KB
-rw-r--r--
sql_callback.h
1.51
KB
-rw-r--r--
sql_class.h
236.46
KB
-rw-r--r--
sql_cmd.h
8.47
KB
-rw-r--r--
sql_connect.h
3.77
KB
-rw-r--r--
sql_const.h
10.83
KB
-rw-r--r--
sql_crypt.h
1.4
KB
-rw-r--r--
sql_cte.h
16.01
KB
-rw-r--r--
sql_cursor.h
2.26
KB
-rw-r--r--
sql_db.h
2.16
KB
-rw-r--r--
sql_debug.h
4.65
KB
-rw-r--r--
sql_delete.h
1.37
KB
-rw-r--r--
sql_derived.h
1.26
KB
-rw-r--r--
sql_digest.h
3.73
KB
-rw-r--r--
sql_digest_stream.h
1.53
KB
-rw-r--r--
sql_do.h
954
B
-rw-r--r--
sql_error.h
37.79
KB
-rw-r--r--
sql_explain.h
26.09
KB
-rw-r--r--
sql_expression_cache.h
4.23
KB
-rw-r--r--
sql_get_diagnostics.h
7.66
KB
-rw-r--r--
sql_handler.h
2.84
KB
-rw-r--r--
sql_help.h
920
B
-rw-r--r--
sql_hset.h
3.17
KB
-rw-r--r--
sql_insert.h
2.1
KB
-rw-r--r--
sql_join_cache.h
47.04
KB
-rw-r--r--
sql_lex.h
160.22
KB
-rw-r--r--
sql_lifo_buffer.h
9.26
KB
-rw-r--r--
sql_list.h
21.55
KB
-rw-r--r--
sql_load.h
1.25
KB
-rw-r--r--
sql_locale.h
2.61
KB
-rw-r--r--
sql_manager.h
960
B
-rw-r--r--
sql_mode.h
6.58
KB
-rw-r--r--
sql_parse.h
8.12
KB
-rw-r--r--
sql_partition.h
12.31
KB
-rw-r--r--
sql_partition_admin.h
5.73
KB
-rw-r--r--
sql_plist.h
7.55
KB
-rw-r--r--
sql_plugin.h
7.43
KB
-rw-r--r--
sql_plugin_compat.h
2.18
KB
-rw-r--r--
sql_prepare.h
11.14
KB
-rw-r--r--
sql_priv.h
17.05
KB
-rw-r--r--
sql_profile.h
7.51
KB
-rw-r--r--
sql_reload.h
1.01
KB
-rw-r--r--
sql_rename.h
941
B
-rw-r--r--
sql_repl.h
2.96
KB
-rw-r--r--
sql_schema.h
3.69
KB
-rw-r--r--
sql_select.h
85.38
KB
-rw-r--r--
sql_sequence.h
5.06
KB
-rw-r--r--
sql_servers.h
1.74
KB
-rw-r--r--
sql_show.h
9.11
KB
-rw-r--r--
sql_signal.h
3.28
KB
-rw-r--r--
sql_sort.h
4.32
KB
-rw-r--r--
sql_statistics.h
11.96
KB
-rw-r--r--
sql_string.h
34.27
KB
-rw-r--r--
sql_table.h
11.04
KB
-rw-r--r--
sql_tablespace.h
956
B
-rw-r--r--
sql_test.h
1.55
KB
-rw-r--r--
sql_time.h
8.18
KB
-rw-r--r--
sql_trigger.h
10.74
KB
-rw-r--r--
sql_truncate.h
2.02
KB
-rw-r--r--
sql_tvc.h
2.24
KB
-rw-r--r--
sql_type.h
250.17
KB
-rw-r--r--
sql_type_int.h
8.03
KB
-rw-r--r--
sql_type_json.h
1.34
KB
-rw-r--r--
sql_type_real.h
1.23
KB
-rw-r--r--
sql_udf.h
4.43
KB
-rw-r--r--
sql_union.h
1.04
KB
-rw-r--r--
sql_update.h
1.88
KB
-rw-r--r--
sql_view.h
2.33
KB
-rw-r--r--
sql_window.h
6.65
KB
-rw-r--r--
ssl_compat.h
3.13
KB
-rw-r--r--
strfunc.h
2.2
KB
-rw-r--r--
structs.h
24.99
KB
-rw-r--r--
sys_vars_shared.h
2.61
KB
-rw-r--r--
t_ctype.h
5.51
KB
-rw-r--r--
table.h
110.56
KB
-rw-r--r--
table_cache.h
4.44
KB
-rw-r--r--
thr_alarm.h
2.87
KB
-rw-r--r--
thr_lock.h
6.69
KB
-rw-r--r--
thr_malloc.h
1.18
KB
-rw-r--r--
thr_timer.h
1.43
KB
-rw-r--r--
thread_pool_priv.h
4.37
KB
-rw-r--r--
threadpool.h
4.38
KB
-rw-r--r--
transaction.h
1.43
KB
-rw-r--r--
tzfile.h
4.9
KB
-rw-r--r--
tztime.h
3.3
KB
-rw-r--r--
uniques.h
4.05
KB
-rw-r--r--
unireg.h
7.12
KB
-rw-r--r--
vers_string.h
2.87
KB
-rw-r--r--
vers_utils.h
155
B
-rw-r--r--
violite.h
9.54
KB
-rw-r--r--
waiting_threads.h
4.43
KB
-rw-r--r--
welcome_copyright_notice.h
1.19
KB
-rw-r--r--
win_tzname_data.h
6.35
KB
-rw-r--r--
winservice.h
1.17
KB
-rw-r--r--
wqueue.h
1.53
KB
-rw-r--r--
wsrep.h
3.23
KB
-rw-r--r--
wsrep_applier.h
2.71
KB
-rw-r--r--
wsrep_binlog.h
3.36
KB
-rw-r--r--
wsrep_client_service.h
2.31
KB
-rw-r--r--
wsrep_client_state.h
1.53
KB
-rw-r--r--
wsrep_condition_variable.h
1.42
KB
-rw-r--r--
wsrep_high_priority_service.h
4.61
KB
-rw-r--r--
wsrep_mutex.h
1.16
KB
-rw-r--r--
wsrep_mysqld.h
15.87
KB
-rw-r--r--
wsrep_mysqld_c.h
1.2
KB
-rw-r--r--
wsrep_on.h
1.68
KB
-rw-r--r--
wsrep_priv.h
1.6
KB
-rw-r--r--
wsrep_schema.h
4.57
KB
-rw-r--r--
wsrep_server_service.h
3.25
KB
-rw-r--r--
wsrep_server_state.h
2.19
KB
-rw-r--r--
wsrep_sst.h
3.86
KB
-rw-r--r--
wsrep_storage_service.h
1.69
KB
-rw-r--r--
wsrep_thd.h
10.58
KB
-rw-r--r--
wsrep_trans_observer.h
18.72
KB
-rw-r--r--
wsrep_types.h
997
B
-rw-r--r--
wsrep_utils.h
9.07
KB
-rw-r--r--
wsrep_var.h
3.96
KB
-rw-r--r--
wsrep_xid.h
1.32
KB
-rw-r--r--
xa.h
1.46
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : rpl_mi.h
/* Copyright (c) 2006, 2012, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ #ifndef RPL_MI_H #define RPL_MI_H #ifdef HAVE_REPLICATION #include "rpl_rli.h" #include "rpl_reporting.h" #include <my_sys.h> #include "rpl_filter.h" #include "keycaches.h" typedef struct st_mysql MYSQL; /** Domain id based filter to handle DO_DOMAIN_IDS and IGNORE_DOMAIN_IDS used to set filtering on replication slave based on event's GTID domain_id. */ class Domain_id_filter { private: /* Flag to tell whether the events in the current GTID group get written to the relay log. It is set according to the domain_id based filtering rule on every GTID_EVENT and reset at the end of current GTID event group. */ bool m_filter; /* DO_DOMAIN_IDS (0): Ignore all the events which do not belong to any of the domain ids in the list. IGNORE_DOMAIN_IDS (1): Ignore the events which belong to one of the domain ids in the list. */ DYNAMIC_ARRAY m_domain_ids[2]; public: /* domain id list types */ enum enum_list_type { DO_DOMAIN_IDS= 0, IGNORE_DOMAIN_IDS }; Domain_id_filter(); ~Domain_id_filter(); /* Returns whether the current group needs to be filtered. */ bool is_group_filtered() { return m_filter; } /* Checks whether the group with the specified domain_id needs to be filtered and updates m_filter flag accordingly. */ void do_filter(ulong domain_id); /* Reset m_filter. It should be called when IO thread receives COMMIT_EVENT or XID_EVENT. */ void reset_filter(); /* Clear do_ids and ignore_ids to disable domain id filtering */ void clear_ids(); /* Update the do/ignore domain id filter lists. @param do_ids [IN] domain ids to be kept @param ignore_ids [IN] domain ids to be filtered out @param using_gtid [IN] use GTID? @retval false Success true Error */ bool update_ids(DYNAMIC_ARRAY *do_ids, DYNAMIC_ARRAY *ignore_ids, bool using_gtid); /* Serialize and store the ids from domain id lists into the thd's protocol buffer. @param thd [IN] thread handler @retval void */ void store_ids(THD *thd); /* Initialize the given domain id list (DYNAMIC_ARRAY) with the space-separated list of numbers from the specified IO_CACHE where the first number is the total number of entries to follows. @param f [IN] IO_CACHE file @param type [IN] domain id list type @retval false Success true Error */ bool init_ids(IO_CACHE *f, enum_list_type type); /* Return the elements of the give domain id list type as string. @param type [IN] domain id list type @retval a string buffer storing the total number of elements followed by the individual elements (space-separated) in the specified list. Note: Its caller's responsibility to free the returned string buffer. */ char *as_string(enum_list_type type); }; extern TYPELIB slave_parallel_mode_typelib; typedef struct st_rows_event_tracker { char binlog_file_name[FN_REFLEN]; my_off_t first_seen; my_off_t last_seen; bool stmt_end_seen; void update(const char* file_name, my_off_t pos, const char* buf, const Format_description_log_event *fdle); void reset(); bool check_and_report(const char* file_name, my_off_t pos); } Rows_event_tracker; /***************************************************************************** Replication IO Thread Master_info contains: - information about how to connect to a master - current master log name - current master log offset - misc control variables Master_info is initialized once from the master.info file if such exists. Otherwise, data members corresponding to master.info fields are initialized with defaults specified by master-* options. The initialization is done through init_master_info() call. The format of master.info file: log_name log_pos master_host master_user master_pass master_port master_connect_retry To write out the contents of master.info file to disk ( needed every time we read and queue data from the master ), a call to flush_master_info() is required. To clean up, call end_master_info() *****************************************************************************/ class Master_info : public Slave_reporting_capability { public: enum enum_using_gtid { USE_GTID_NO= 0, USE_GTID_CURRENT_POS= 1, USE_GTID_SLAVE_POS= 2 }; Master_info(LEX_CSTRING *connection_name, bool is_slave_recovery); ~Master_info(); bool shall_ignore_server_id(ulong s_id); void clear_in_memory_info(bool all); bool error() { /* If malloc() in initialization failed */ return connection_name.str == 0; } static const char *using_gtid_astext(enum enum_using_gtid arg); bool using_parallel() { return opt_slave_parallel_threads > 0 && parallel_mode > SLAVE_PARALLEL_NONE; } void release(); void wait_until_free(); void lock_slave_threads(); void unlock_slave_threads(); ulonglong get_slave_skip_counter() { return rli.slave_skip_counter; } ulonglong get_max_relay_log_size() { return rli.max_relay_log_size; } /* the variables below are needed because we can change masters on the fly */ char master_log_name[FN_REFLEN+6]; /* Room for multi-*/ char host[HOSTNAME_LENGTH*SYSTEM_CHARSET_MBMAXLEN+1]; char user[USERNAME_LENGTH+1]; char password[MAX_PASSWORD_LENGTH*SYSTEM_CHARSET_MBMAXLEN+1]; LEX_CSTRING connection_name; /* User supplied connection name */ LEX_CSTRING cmp_connection_name; /* Connection name in lower case */ bool ssl; // enables use of SSL connection if true char ssl_ca[FN_REFLEN], ssl_capath[FN_REFLEN], ssl_cert[FN_REFLEN]; char ssl_cipher[FN_REFLEN], ssl_key[FN_REFLEN]; char ssl_crl[FN_REFLEN], ssl_crlpath[FN_REFLEN]; bool ssl_verify_server_cert; my_off_t master_log_pos; File fd; // we keep the file open, so we need to remember the file pointer IO_CACHE file; mysql_mutex_t data_lock, run_lock, sleep_lock, start_stop_lock; mysql_cond_t data_cond, start_cond, stop_cond, sleep_cond; THD *io_thd; MYSQL* mysql; uint32 file_id; /* for 3.23 load data infile */ Relay_log_info rli; uint port; Rpl_filter* rpl_filter; /* Each replication can set its filter rule*/ /* to hold checksum alg in use until IO thread has received FD. Initialized to novalue, then set to the queried from master @@global.binlog_checksum and deactivated once FD has been received. */ enum enum_binlog_checksum_alg checksum_alg_before_fd; uint connect_retry; #ifndef DBUG_OFF int events_till_disconnect; /* The following are auxiliary DBUG variables used to kill IO thread in the middle of a group/transaction (see "kill_slave_io_after_2_events"). */ bool dbug_do_disconnect; int dbug_event_counter; #endif bool inited; volatile bool abort_slave; volatile uint slave_running; volatile ulong slave_run_id; /* The difference in seconds between the clock of the master and the clock of the slave (second - first). It must be signed as it may be <0 or >0. clock_diff_with_master is computed when the I/O thread starts; for this the I/O thread does a SELECT UNIX_TIMESTAMP() on the master. "how late the slave is compared to the master" is computed like this: clock_of_slave - last_timestamp_executed_by_SQL_thread - clock_diff_with_master */ long clock_diff_with_master; /* Keeps track of the number of events before fsyncing. The option --sync-master-info determines how many events should happen before fsyncing. */ uint sync_counter; float heartbeat_period; // interface with CHANGE MASTER or master.info ulonglong received_heartbeats; // counter of received heartbeat events DYNAMIC_ARRAY ignore_server_ids; ulong master_id; /* At reconnect and until the first rotate event is seen, prev_master_id is the value of master_id during the previous connection, used to detect silent change of master server during reconnects. */ ulong prev_master_id; /* Which kind of GTID position (if any) is used when connecting to master. Note that you can not change the numeric values of these, they are used in master.info. */ enum enum_using_gtid using_gtid; /* This GTID position records how far we have fetched into the relay logs. This is used to continue fetching when the IO thread reconnects to the master. (Full slave stop/start does not use it, as it resets the relay logs). */ slave_connection_state gtid_current_pos; /* If events_queued_since_last_gtid is non-zero, it is the number of events queued so far in the relaylog of a GTID-prefixed event group. It is zero when no partial event group has been queued at the moment. */ uint64 events_queued_since_last_gtid; /* The GTID of the partially-queued event group, when events_queued_since_last_gtid is non-zero. */ rpl_gtid last_queued_gtid; /* Whether last_queued_gtid had the FL_STANDALONE flag set. */ bool last_queued_gtid_standalone; /* When slave IO thread needs to reconnect, gtid_reconnect_event_skip_count counts number of events to skip from the first GTID-prefixed event group, to avoid duplicating events in the relay log. */ uint64 gtid_reconnect_event_skip_count; /* gtid_event_seen is false until we receive first GTID event from master. */ bool gtid_event_seen; /** The struct holds some history of Rows- log-event reading/queuing by the receiver thread. Its fields are updated per each such event at time of queue_event(), and they are checked to detect the Rows- event group integrity violation at time of first non-Rows- event gets handled. */ Rows_event_tracker rows_event_tracker; bool in_start_all_slaves, in_stop_all_slaves; bool in_flush_all_relay_logs; uint users; /* Active user for object */ uint killed; /* No of DDL event group */ Atomic_counter<uint64> total_ddl_groups; /* No of non-transactional event group*/ Atomic_counter<uint64> total_non_trans_groups; /* No of transactional event group*/ Atomic_counter<uint64> total_trans_groups; /* domain-id based filter */ Domain_id_filter domain_id_filter; /* The parallel replication mode. */ enum_slave_parallel_mode parallel_mode; /* semi_ack is used to identify if the current binlog event needs an ACK from slave, or if delay_master is enabled. */ int semi_ack; }; int init_master_info(Master_info* mi, const char* master_info_fname, const char* slave_info_fname, bool abort_if_no_master_info_file, int thread_mask); void end_master_info(Master_info* mi); int flush_master_info(Master_info* mi, bool flush_relay_log_cache, bool need_lock_relay_log); void copy_filter_setting(Rpl_filter* dst_filter, Rpl_filter* src_filter); void update_change_master_ids(DYNAMIC_ARRAY *new_ids, DYNAMIC_ARRAY *old_ids); void prot_store_ids(THD *thd, DYNAMIC_ARRAY *ids); /* Multi master are handled trough this struct. Changes to this needs to be protected by LOCK_active_mi; */ class Master_info_index { private: IO_CACHE index_file; char index_file_name[FN_REFLEN]; public: Master_info_index(); ~Master_info_index(); HASH master_info_hash; bool init_all_master_info(); bool write_master_name_to_index_file(LEX_CSTRING *connection_name, bool do_sync); bool check_duplicate_master_info(LEX_CSTRING *connection_name, const char *host, uint port); bool add_master_info(Master_info *mi, bool write_to_file); bool remove_master_info(Master_info *mi); Master_info *get_master_info(const LEX_CSTRING *connection_name, Sql_condition::enum_warning_level warning); bool start_all_slaves(THD *thd); bool stop_all_slaves(THD *thd); void free_connections(); bool flush_all_relay_logs(); }; /* The class rpl_io_thread_info is the THD::system_thread_info for the IO thread. */ class rpl_io_thread_info { public: }; Master_info *get_master_info(const LEX_CSTRING *connection_name, Sql_condition::enum_warning_level warning); bool check_master_connection_name(LEX_CSTRING *name); void create_logfile_name_with_suffix(char *res_file_name, size_t length, const char *info_file, bool append, LEX_CSTRING *suffix); uchar *get_key_master_info(Master_info *mi, size_t *length, my_bool not_used __attribute__((unused))); void free_key_master_info(Master_info *mi); uint any_slave_sql_running(bool already_locked); bool give_error_if_slave_running(bool already_lock); #endif /* HAVE_REPLICATION */ #endif /* RPL_MI_H */
Close