Para MySQL 8.0.40 no Rocky Linux, meu banco de dados atualmente usa o plugin keyring. Quero migrar para o componente keyring. Ele mostra
[ERRO] [MY-013106] [Servidor] Não é possível executar a migração do chaveiro: Falha ao inicializar o chaveiro de destino.
Estou trabalhando com estes recursos:
- https://dev.mysql.com/doc/refman/8.0/en/keyring-key-migration.html
- https://blogs.oracle.com/mysql/post/keyring-components
- https://bugs.mysql.com/bug.php?id=108197
Vejo que alguém conseguiu desativar a criptografia , mas gostaria de evitar isso.
Criei o manifesto: /usr/sbin/mysqld.my . Ele contém:
{
"components": "file://component_keyring_file"
}
Verifiquei se o arquivo do componente existe:
ls /usr/lib64/mysql/plugin/component_keyring_file.so #success
Criei o arquivo de configuração do chaveiro: **/usr/lib64/mysql/plugin/component_keyring_file.cnf**
. Ele diz:
{
"path": "/var/lib/mysql/mysql-keyring/component_keyring_file",
"read_only": false
}
Criei o diretório para o arquivo do chaveiro:
mkdir /var/lib/mysql/mysql-keyring
chown mysql:mysql /var/lib/mysql/mysql-keyring
Depois disso, parei o mysqld e tentei executar o servidor de migração. Tentei variações:
mysqld --user=mysql --defaults-file=/etc/my.cnf --keyring-migration-to-component --keyring-migration-source=keyring_file.so --keyring-migration-destination=component_keyring_file.so
mysqld --user=mysql --keyring-migration-to-component --keyring-migration-source=keyring_file.so --keyring-migration-destination=component_keyring_file.so
Entendo que o usuário que está migrando não pode ser root, então o usuário é mysql. Além disso, o component_keyring_file não pode estar no diretório de dados. Tentei dois caminhos:
/var/lib/mysql/mysql-keyring # dir for mysql files
/var/lib/mysql-keyring
Atualizei component_keyring_file.cnf e certifiquei-me de que o usuário mysql era o proprietário do diretório.
Não consegui executar a migração pela linha de comando. Ele retornou erros como
Eu executei essas etapas para remover a criptografia keyring_file e, em seguida, habilitar a criptografia do componente keyfile. Esta resposta me guiou.
Reinicie o banco de dados e verifique o status do serviço.
Verifique o status do componente do chaveiro.
SELECIONE * DE performance_schema.keyring_component_status;
Habilite a criptografia em cada tabela usando um script.
Script para gerar instruções de desabilitação de criptografia para um banco de dados.
Script para gerar instruções de habilitação de criptografia para um banco de dados.