MySQL Tablespace暗号化は設定が比較的簡単です。 MySQL 5.7、innodb_file_per_tableを使用する必要があります
MySQLのドキュメントには、これを設定するために必要なものすべてが含まれています。
しかし、リンクを共有しただけでは私のブログ投稿は非常に短くなります。 そう....
アップグレード後、MySQL 5.7では、キーファイルの有効な場所が必要です。 私はMySQLのdatadirを/ var / lib / mysql / dataとして持っています。これにより、必要に応じてデフォルトの場所を見つけることができますが、必要に応じてさらに多くのディスクを簡単にマウントできます。 これにより、/ var / lib / mysqlがすでに許可されているため、selinuxなどの追加編集を行う必要もありません。
/ var / lib / mysql / keyringをタッチする
chmod 750 / var / lib / mysql / keyring *
chown mysql:mysql / var / lib / mysql / keyring
mysql .cnfファイルを編集します。
ls /usr/lib64/mysql/plugin/keyring_file.so
/usr/lib64/mysql/plugin/keyring_file.so
[mysqld]
#Keyring Pluginのインストール
early-plugin-load = keyring_file.so
keyring_file_data = / var / lib / mysql / keyring
MySQLの起動後にあなたのプラグインをチェックしてください:
mysql> SELECT PLUGIN_NAME、PLUGIN_STATUS
- >情報シチェラから
- > WHERE PLUGIN_NAME LIKE 'キーリング%';
+ -------------- + --------------- +
| PLUGIN_NAME | PLUGIN_STATUS |
+ -------------- + --------------- +
| keyring_file | アクティブ|
| keyring_udf | アクティブ|
+ -------------- + --------------- +
プラグインをインストールするkeyring_udf SONAME 'keyring_udf.so';
CREATE FUNCTION keyring_key_generate RETURNS INTEGER SONAME 'keyring_udf.so';
CREATE FUNCTION keyring_key_fetchストリングSONAMEを戻します 'keyring_udf.so';
CREATE FUNCTION keyring_key_length_fetch INTEGER SONAMEを戻します。 'keyring_udf.so';
CREATE FUNCTION keyring_key_type_fetchストリングSONAMEを戻します 'keyring_udf.so';
CREATE FUNCTION keyring_key_store戻り値INTEGER SONAME 'keyring_udf.so';
CREATE FUNCTION keyring_key_remove RETURNS INTEGER SONAME 'keyring_udf.so';
mysql>テストを使用する。
mysql> SELECT keyring_key_generate( 'MyKey1'、 'AES'、32);
mysql> CREATE TABLE `enc_test`(
`enc_test_id` varchar(255)NOT NULL、
PRIMARY KEY( `enc_test_id`)
)ENGINE = InnoDB;
mysql>テーブルを変更するtest.enc_test encryption = 'Y';
mysql> show create table enc_test \ G
**************************** 1.行******************** *******
テーブル:enc_test
テーブルの作成:CREATE TABLE `enc_test`(
`enc_test_id` varchar(255)NOT NULL、
PRIMARY KEY( `enc_test_id`)
)ENGINE = InnoDB DEFAULT CHARSET = latin1 ENCRYPTION = 'Y'
1行セット(0.00秒)
MySQLのドキュメントには、これを設定するために必要なものすべてが含まれています。
- https://dev.mysql.com/doc/refman/5.7/en/keyring.html
- https://www.percona.com/blog/2016/04/08/mysql-data-at-rest-encryption
- mismatch
しかし、リンクを共有しただけでは私のブログ投稿は非常に短くなります。 そう....
アップグレード後、MySQL 5.7では、キーファイルの有効な場所が必要です。 私はMySQLのdatadirを/ var / lib / mysql / dataとして持っています。これにより、必要に応じてデフォルトの場所を見つけることができますが、必要に応じてさらに多くのディスクを簡単にマウントできます。 これにより、/ var / lib / mysqlがすでに許可されているため、selinuxなどの追加編集を行う必要もありません。
/ var / lib / mysql / keyringをタッチする
chmod 750 / var / lib / mysql / keyring *
chown mysql:mysql / var / lib / mysql / keyring
mysql .cnfファイルを編集します。
ls /usr/lib64/mysql/plugin/keyring_file.so
/usr/lib64/mysql/plugin/keyring_file.so
[mysqld]
#Keyring Pluginのインストール
early-plugin-load = keyring_file.so
keyring_file_data = / var / lib / mysql / keyring
MySQLの起動後にあなたのプラグインをチェックしてください:
mysql> SELECT PLUGIN_NAME、PLUGIN_STATUS
- >情報シチェラから
- > WHERE PLUGIN_NAME LIKE 'キーリング%';
+ -------------- + --------------- +
| PLUGIN_NAME | PLUGIN_STATUS |
+ -------------- + --------------- +
| keyring_file | アクティブ|
| keyring_udf | アクティブ|
+ -------------- + --------------- +
プラグインをインストールするkeyring_udf SONAME 'keyring_udf.so';
CREATE FUNCTION keyring_key_generate RETURNS INTEGER SONAME 'keyring_udf.so';
CREATE FUNCTION keyring_key_fetchストリングSONAMEを戻します 'keyring_udf.so';
CREATE FUNCTION keyring_key_length_fetch INTEGER SONAMEを戻します。 'keyring_udf.so';
CREATE FUNCTION keyring_key_type_fetchストリングSONAMEを戻します 'keyring_udf.so';
CREATE FUNCTION keyring_key_store戻り値INTEGER SONAME 'keyring_udf.so';
CREATE FUNCTION keyring_key_remove RETURNS INTEGER SONAME 'keyring_udf.so';
mysql>テストを使用する。
mysql> SELECT keyring_key_generate( 'MyKey1'、 'AES'、32);
mysql> CREATE TABLE `enc_test`(
`enc_test_id` varchar(255)NOT NULL、
PRIMARY KEY( `enc_test_id`)
)ENGINE = InnoDB;
mysql>テーブルを変更するtest.enc_test encryption = 'Y';
mysql> show create table enc_test \ G
**************************** 1.行******************** *******
テーブル:enc_test
テーブルの作成:CREATE TABLE `enc_test`(
`enc_test_id` varchar(255)NOT NULL、
PRIMARY KEY( `enc_test_id`)
)ENGINE = InnoDB DEFAULT CHARSET = latin1 ENCRYPTION = 'Y'
1行セット(0.00秒)