23#ifndef MIGRATE_KEYRING_H_INCLUDED
24#define MIGRATE_KEYRING_H_INCLUDED
36#define MAX_KEY_LEN 16384
63 const std::string implementation_name);
88 bool init(
int argc,
char **argv,
char *source_plugin,
90 char *
socket, ulong
port,
bool migrate_to_component);
Definition: migrate_keyring.h:60
const_keyring_writer_t * writer()
Definition: migrate_keyring.h:66
Destination_keyring_component(const std::string component_path, const std::string implementation_name)
Definition: migrate_keyring.cc:35
~Destination_keyring_component()
Definition: migrate_keyring.cc:92
bool ok_
Definition: migrate_keyring.h:76
const std::string component_path_
Definition: migrate_keyring.h:72
const_keyring_load_t * initializer()
Definition: migrate_keyring.h:67
const_keyring_load_t * keyring_load_service_
Definition: migrate_keyring.h:73
const_keyring_writer_t * keyring_writer_service_
Definition: migrate_keyring.h:74
bool component_loaded_
Definition: migrate_keyring.h:75
bool ok()
Definition: migrate_keyring.h:69
Definition: migrate_keyring.h:40
std::string m_key_id
Definition: migrate_keyring.h:53
Key_info(char *key_id, char *user_id)
Definition: migrate_keyring.h:43
Key_info(const Key_info &ki)
Definition: migrate_keyring.h:47
std::string m_user_id
Definition: migrate_keyring.h:54
Definition: migrate_keyring.h:79
st_mysql_keyring * m_source_plugin_handle
Definition: migrate_keyring.h:130
std::string m_source_plugin_option
Definition: migrate_keyring.h:125
Destination_keyring_component * m_destination_component
Definition: migrate_keyring.h:136
int m_argc
Definition: migrate_keyring.h:123
NET_SERVER server_extn
Definition: migrate_keyring.h:134
st_mysql_keyring * m_destination_plugin_handle
Definition: migrate_keyring.h:131
bool enable_keyring_operations()
Enable @keyring_operations variable.
Definition: migrate_keyring.cc:542
std::string m_destination_plugin_option
Definition: migrate_keyring.h:126
bool load_component()
Load component.
Definition: migrate_keyring.cc:359
bool fetch_and_store_keys()
Fetch keys from source plugin and store in destination plugin.
Definition: migrate_keyring.cc:437
bool init(int argc, char **argv, char *source_plugin, char *destination_plugin, char *user, char *host, char *password, char *socket, ulong port, bool migrate_to_component)
Initialize all needed parameters to proceed with migration process.
Definition: migrate_keyring.cc:150
~Migrate_keyring()
Standard destructor.
Definition: migrate_keyring.cc:560
MYSQL * mysql
Definition: migrate_keyring.h:133
char ** m_argv
Definition: migrate_keyring.h:124
Migrate_keyring()
Standard constructor.
Definition: migrate_keyring.cc:113
std::string m_source_plugin_name
Definition: migrate_keyring.h:127
bool m_migrate_to_component
Definition: migrate_keyring.h:135
std::vector< Key_info > m_source_keys
Definition: migrate_keyring.h:132
std::string m_internal_option[2]
Definition: migrate_keyring.h:129
bool disable_keyring_operations()
Disable @keyring_operations variable.
Definition: migrate_keyring.cc:525
std::string m_destination_plugin_name
Definition: migrate_keyring.h:128
bool load_plugin(enum_plugin_type plugin_type)
Load source or destination plugin.
Definition: migrate_keyring.cc:379
bool execute()
Migrate keys from source keyring to destination keyring.
Definition: migrate_keyring.cc:288
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:33
enum_plugin_type
Definition: migrate_keyring.h:38
This file defines the client API to MySQL and also the ABI of the dynamically linked libmysqlclient.
static char * password
Definition: mysql_secure_installation.cc:55
char * user
Definition: mysqladmin.cc:59
const char * host
Definition: mysqladmin.cc:58
stdx::expected< native_handle_type, error_type > socket(int family, int sock_type, int protocol)
Definition: socket.h:62
required uint64 port
Definition: replication_asynchronous_connection_failover.proto:32
#define SERVICE_TYPE(name)
Generates the standard Service type name.
Definition: service.h:75
Definition: mysql_com_server.h:58
Keyring load service provides way to initialize or reiniitalize keyring component.
Definition: keyring_load.h:51
Keyring writer service provides APIs to add/remove sensitive data to/from keyring backend.
Definition: keyring_writer.h:69
The descriptor structure for the plugin, that is referred from st_mysql_plugin.
Definition: plugin_keyring.h:38