Saturday, October 14, 2017

MySQL InnoDB Tablespace Encryption

MySQL Tablespace Encryption es relativamente simple de configurar. Tienes que estar usando MySQL 5.7, innodb_file_per_table 


La documentación de MySQL cubre todo lo que necesita para configurarlo: 


Pero mi publicación en el blog sería muy breve si solo compartiera un enlace. Asi que.... 

Una vez actualizado y en MySQL 5.7, debe tener una ubicación válida para su archivo de claves. Tengo un datadir de MySQL como / var / lib / mysql / data, esto permite ubicaciones predeterminadas para que la gente lo encuentre si es necesario, pero también permite una ubicación montada simple para más discos si es necesario también. Esto también evita tener que hacer ediciones adicionales para selinux y etc, ya que permite / var / lib / mysql. 

toque / var / lib / mysql / keyring 
chmod 750 / var / lib / mysql / keyring * 
Chown mysql: mysql / var / lib / mysql / keyring 

Edite el archivo mysql .cnf: 

ls /usr/lib64/mysql/plugin/keyring_file.so 
/usr/lib64/mysql/plugin/keyring_file.so 

[mysqld] 
# Instalación del complemento de Keyring 
early-plugin-load = keyring_file.so 
keyring_file_data = / var / lib / mysql / keyring 

Después del inicio de MySQL, verifique los complementos: 

mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS 
-> FROM INFORMATION_SCHEMA.PLUGINS 
-> DONDE PLUGIN_NAME ME GUSTA 'keyring%'; 
+ -------------- + --------------- + 
| PLUGIN_NAME | PLUGIN_STATUS | 
+ -------------- + --------------- + 
| keyring_file | ACTIVO | 
| keyring_udf | ACTIVO | 
+ -------------- + --------------- + 


INSTALE PLUGIN keyring_udf SONAME 'keyring_udf.so'; 
CREATE FUNCTION keyring_key_generate DEVOLUCIONES INTEGER SONAME 'keyring_udf.so'; 
CREATE FUNCTION keyring_key_fetch DEVOLUCIONES STRING SONAME 'keyring_udf.so'; 
CREAR FUNCTION keyring_key_length_fetch DEVOLUCIONES INTEGER SONAME 'keyring_udf.so'; 
CREATE FUNCTION keyring_key_type_fetch DEVOLUCIONES STRING SONAME 'keyring_udf.so'; 
CREAR FUNCTION keyring_key_store DEVOLUCIONES INTEGER SONAME 'keyring_udf.so'; 
CREAR FUNCTION keyring_key_remove DEVOLUCIONES INTEGER SONAME 'keyring_udf.so'; 


mysql> usar prueba; 
mysql> SELECT keyring_key_generate ('MyKey1', 'AES', 32); 

mysql> CREATE TABLE `enc_test` ( 
`enc_test_id` varchar (255) NOT NULL, 
LLAVE PRIMARIA (`enc_test_id`) 
) ENGINE = InnoDB; 

mysql> alter table test.enc_test encryption = 'Y'; 

mysql> mostrar crear tabla enc_test \ G 
*************************** 1. fila ******************** ******* 
Tabla: enc_test 
Crear tabla: CREATE TABLE `enc_test` ( 
`enc_test_id` varchar (255) NOT NULL, 
LLAVE PRIMARIA (`enc_test_id`) 
) ENGINE = InnoDB CHARSET POR DEFECTO = latin1 ENCRYPTION = 'Y' 
1 fila en el set (0.00 seg)