24#ifndef MIGRATE_KEYRING_H_INCLUDED
25#define MIGRATE_KEYRING_H_INCLUDED
37#define MAX_KEY_LEN 16384
64 const std::string implementation_name);
89 bool init(
int argc,
char **argv,
char *source_plugin,
91 char *
socket, ulong
port,
bool migrate_to_component);
Definition: migrate_keyring.h:61
const_keyring_writer_t * writer()
Definition: migrate_keyring.h:67
Destination_keyring_component(const std::string component_path, const std::string implementation_name)
Definition: migrate_keyring.cc:36
~Destination_keyring_component()
Definition: migrate_keyring.cc:93
bool ok_
Definition: migrate_keyring.h:77
const std::string component_path_
Definition: migrate_keyring.h:73
const_keyring_load_t * initializer()
Definition: migrate_keyring.h:68
const_keyring_load_t * keyring_load_service_
Definition: migrate_keyring.h:74
const_keyring_writer_t * keyring_writer_service_
Definition: migrate_keyring.h:75
bool component_loaded_
Definition: migrate_keyring.h:76
bool ok()
Definition: migrate_keyring.h:70
Definition: migrate_keyring.h:41
std::string m_key_id
Definition: migrate_keyring.h:54
Key_info(char *key_id, char *user_id)
Definition: migrate_keyring.h:44
Key_info(const Key_info &ki)
Definition: migrate_keyring.h:48
std::string m_user_id
Definition: migrate_keyring.h:55
Definition: migrate_keyring.h:80
st_mysql_keyring * m_source_plugin_handle
Definition: migrate_keyring.h:131
std::string m_source_plugin_option
Definition: migrate_keyring.h:126
Destination_keyring_component * m_destination_component
Definition: migrate_keyring.h:137
int m_argc
Definition: migrate_keyring.h:124
NET_SERVER server_extn
Definition: migrate_keyring.h:135
st_mysql_keyring * m_destination_plugin_handle
Definition: migrate_keyring.h:132
bool enable_keyring_operations()
Enable @keyring_operations variable.
Definition: migrate_keyring.cc:543
std::string m_destination_plugin_option
Definition: migrate_keyring.h:127
bool load_component()
Load component.
Definition: migrate_keyring.cc:360
bool fetch_and_store_keys()
Fetch keys from source plugin and store in destination plugin.
Definition: migrate_keyring.cc:438
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:151
~Migrate_keyring()
Standard destructor.
Definition: migrate_keyring.cc:561
MYSQL * mysql
Definition: migrate_keyring.h:134
char ** m_argv
Definition: migrate_keyring.h:125
Migrate_keyring()
Standard constructor.
Definition: migrate_keyring.cc:114
std::string m_source_plugin_name
Definition: migrate_keyring.h:128
bool m_migrate_to_component
Definition: migrate_keyring.h:136
std::vector< Key_info > m_source_keys
Definition: migrate_keyring.h:133
std::string m_internal_option[2]
Definition: migrate_keyring.h:130
bool disable_keyring_operations()
Disable @keyring_operations variable.
Definition: migrate_keyring.cc:526
std::string m_destination_plugin_name
Definition: migrate_keyring.h:129
bool load_plugin(enum_plugin_type plugin_type)
Load source or destination plugin.
Definition: migrate_keyring.cc:380
bool execute()
Migrate keys from source keyring to destination keyring.
Definition: migrate_keyring.cc:289
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:34
enum_plugin_type
Definition: migrate_keyring.h:39
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:56
char * user
Definition: mysqladmin.cc:60
const char * host
Definition: mysqladmin.cc:59
stdx::expected< native_handle_type, error_type > socket(int family, int sock_type, int protocol)
Definition: socket.h:63
required uint64 port
Definition: replication_asynchronous_connection_failover.proto:33
#define SERVICE_TYPE(name)
Generates the standard Service type name.
Definition: service.h:76
Definition: mysql_com_server.h:59
Keyring load service provides way to initialize or reiniitalize keyring component.
Definition: keyring_load.h:52
Keyring writer service provides APIs to add/remove sensitive data to/from keyring backend.
Definition: keyring_writer.h:70
The descriptor structure for the plugin, that is referred from st_mysql_plugin.
Definition: plugin_keyring.h:39