![]() |
MySQL 8.0.43
Source Code Documentation
|
#include "config_generator.h"#include <sys/stat.h>#include <algorithm>#include <array>#include <cstring>#include <fstream>#include <functional>#include <iomanip>#include <iostream>#include <random>#include <regex>#include <set>#include <sstream>#include <stdexcept>#include <system_error>#include <rapidjson/rapidjson.h>#include "certificate_handler.h"#include "common.h"#include "config_builder.h"#include "dim.h"#include "harness_assert.h"#include "hostname_validator.h"#include "keyring/keyring_manager.h"#include "mysql/harness/config_option.h"#include "mysql/harness/config_parser.h"#include "mysql/harness/dynamic_state.h"#include "mysql/harness/logging/logging.h"#include "mysql/harness/logging/supported_logger_options.h"#include "mysql/harness/stdx/expected.h"#include "mysql/harness/supported_config_options.h"#include "mysql/harness/utility/string.h"#include "mysql/harness/vt100.h"#include "mysqld_error.h"#include "mysqlrouter/default_paths.h"#include "mysqlrouter/supported_http_options.h"#include "mysqlrouter/supported_metadata_cache_options.h"#include "mysqlrouter/supported_rest_options.h"#include "mysqlrouter/supported_router_options.h"#include "mysqlrouter/supported_routing_options.h"#include "mysqlrouter/uri.h"#include "mysqlrouter/utils.h"#include "mysqlrouter/utils_sqlstring.h"#include "random_generator.h"#include "router_app.h"#include "router_config.h"#include "sha1.h"#include "cluster_metadata.h"#include "mysqlrouter/cluster_metadata_dynamic_state.h"Classes | |
| struct | anonymous_namespace{config_generator.cc}::password_too_weak |
| struct | anonymous_namespace{config_generator.cc}::account_exists |
| class | ClusterAwareDecorator |
| Cluster (GR or AR)-aware decorator for MySQL Sessions. More... | |
| class | anonymous_namespace{config_generator.cc}::ChangeRouterAccountPlugin |
| class | anonymous_namespace{config_generator.cc}::ConfigSectionPrinter |
Namespaces | |
| namespace | anonymous_namespace{config_generator.cc} |
Macros | |
| #define | MYSQL_ROUTER_LOG_DOMAIN ::mysql_harness::logging::kMainLogger |
| #define | ADD_CONFIG_LINE_CHECKED(section, option, value, supported_options) |
Enumerations | |
| enum class | MySQLErrorc { kSyntaxError = ER_PARSE_ERROR , kSuperReadOnly = ER_OPTION_PREVENTS_STATEMENT , kLostConnection = CR_SERVER_LOST } |
| Error codes for MySQL Errors that we handle specifically. More... | |
Functions | |
| static bool | is_valid_name (const std::string &name) |
| std::string | get_opt (const std::map< std::string, std::string > &map, const std::string &key, const std::string &default_value) |
| static stdx::expected< std::ofstream, std::error_code > | open_ofstream (const std::string &file_name) |
| unsigned | anonymous_namespace{config_generator.cc}::get_password_retries (const std::map< std::string, std::string > &user_options) |
| std::string | anonymous_namespace{config_generator.cc}::str (const mysqlrouter::ConfigGenerator::Options::Endpoint &ep) |
| bool | anonymous_namespace{config_generator.cc}::is_valid_conf_ident (const std::string &name) |
| std::map< std::string, std::string > | anonymous_namespace{config_generator.cc}::get_config_cmdln_options (const std::map< std::string, std::vector< std::string > > &multivalue_options) |
| static std::string | generate_username (uint32_t router_id, mysql_harness::RandomGeneratorInterface &rg) |
| static std::string | get_target_cluster_value (const std::string &target_cluster_option, const std::string &target_cluster_by_name_option, const ClusterInfo &cluster_info) |
| void | anonymous_namespace{config_generator.cc}::add_endpoint_option (ConfigSectionPrinter &routing_section, const ConfigGenerator::Options &options, const ConfigGenerator::Options::Endpoint &ep) |
| void | anonymous_namespace{config_generator.cc}::add_metadata_cache_routing_section (std::ostream &config_file, bool is_classic, bool is_writable, const ConfigGenerator::Options::Endpoint endpoint, const ConfigGenerator::Options &options, const std::string &metadata_key, const std::string &cluster_name, const std::map< std::string, std::string > &config_cmdln_options) |
| static void | anonymous_namespace{config_generator.cc}::add_http_auth_backend_section (std::ostream &config_file, const mysql_harness::Path &datadir, const std::string_view auth_backend_name, const mysqlrouter::MetadataSchemaVersion schema_version, const std::map< std::string, std::string > &config_cmdln_options) |
| Add proper authentication backend section to the config based on the metadata version. More... | |
| void | anonymous_namespace{config_generator.cc}::add_rest_section (std::ostream &config_file, const ConfigGenerator::Options &options, const std::map< std::string, std::string > &default_paths, const std::map< std::string, std::string > &config_cmdln_options, const std::string &ssl_cert, const std::string &ssl_key, const mysqlrouter::MetadataSchemaVersion &schema_version) |
| static void | save_initial_dynamic_state (std::ostream &state_stream, ClusterMetadata &cluster_metadata, const std::string &cluster_type_specific_id, const std::vector< std::string > &metadata_server_addresses) |
| uint16_t | get_x_protocol_port (const mysql_harness::Config &conf, const std::string &role) |
| std::string | anonymous_namespace{config_generator.cc}::get_cluster_type_specific_uuid (const mysql_harness::Config &conf, mysqlrouter::ClusterType cluster_type) |
| static bool | files_equal (const std::string &f1, const std::string &f2) |
Variables | |
| static const int | kDefaultRWPort = 6446 |
| static const int | kDefaultROPort = 6447 |
| static const char * | kRWSocketName = "mysql.sock" |
| static const char * | kROSocketName = "mysqlro.sock" |
| static const int | kLegacyDefaultRWXPort = 64460 |
| static const int | kLegacyDefaultROXPort = 64470 |
| static const int | kBasePortDefault = -1 |
| static const int | kBasePortLegacyDefault = 0 |
| static const char * | kRWXSocketName = "mysqlx.sock" |
| static const char * | kROXSocketName = "mysqlxro.sock" |
| static const int | kMaxTCPPortNumber = 65535 |
| static const int | kAllocatedTCPPortCount = 4 |
| static const std::string | kSystemRouterName = "system" |
| static const int | kMetadataServerPasswordLength = 16 |
| static const int | kMaxRouterNameLength |
| static const char * | kKeyringAttributePassword = "password" |
| static const std::chrono::milliseconds | kDefaultMetadataTTL |
| static const std::chrono::milliseconds | kDefaultMetadataTTLGRNotificationsON |
| static const std::chrono::milliseconds | kDefaultMetadataTTLClusterSet |
| static const std::chrono::milliseconds | kDefaultAuthCacheTTL |
| static const std::chrono::milliseconds | kDefaultAuthCacheRefreshInterval |
| static constexpr unsigned | kNumRandomChars = 7 |
| static constexpr unsigned | kDefaultPasswordRetries |
| static constexpr unsigned | kMaxPasswordRetries = 10000 |
| static const std::string | kDefaultMetadataCacheSectionKey = "bootstrap" |
| const char | kAppArmorMsg [] |
| #define ADD_CONFIG_LINE_CHECKED | ( | section, | |
| option, | |||
| value, | |||
| supported_options | |||
| ) |
| #define MYSQL_ROUTER_LOG_DOMAIN ::mysql_harness::logging::kMainLogger |
|
strong |
|
static |
|
static |
|
inline |
|
static |
| uint16_t get_x_protocol_port | ( | const mysql_harness::Config & | conf, |
| const std::string & | role | ||
| ) |
|
static |
|
static |
|
static |
|
static |
| const char kAppArmorMsg[] |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
staticconstexpr |
|
static |
|
static |
|
static |
|
static |
|
static |
|
staticconstexpr |
|
static |
|
static |
|
static |
|
staticconstexpr |
|
static |
|
static |
|
static |
|
static |
|
static |