これまでMySQL5.7で暗号化されたデータの検索を行う際、下記のようにシステム変数を順にSETしながらSELECT文を実行することでデータ取得が成功していたのですが、、、
【成功していた時】
SET block_encryption_mode = 'aes-256-cbc';
SET @key = UNHEX(SHA2('abcdefghijklmn',256))";
SET @iv = '1234567890abcdef';
SELECT test_key, test_name FROM TEST WHERE AES_DECRYPT(FROM_BASE64(test_name
), @key, @iv) = 'ほげほげ'";
・・・
MySQL 8系に変わってからは1行目のSET文そのものがエラーとなり、
「#1193 'block_encryption_mode' は不明なシステム変数です。」と表示されるようになりました。
MySQL5.7 は社外設置のDBサーバーで、
データベース「information_schema」の テーブル「global_variables」内には、block_encryption_mode = 'aes-128-ecb' がデフォルトで設定されている。
MySQL8.x は社内設置のDBサーバーで、こちらにはデータベース「information_schema」の テーブル「global_variables」内に、block_encryption_mode 自体が存在していない・・・
これが原因だと思うのですが、
my.ini の [mysqld]に block_encryption_mode=aes-128-ecb を記述し再起動しても、
[ERROR] C:\xampp\mysql\bin\mysqld.exe: unknown variable 'block_encryption_mode=aes-128-ecb'
[ERROR] Aborting
となってしまい、MySQL自体が立ち上がりません。
MySQL 8系で block_encryption_mode をデフォルトで設定する方法はないのでしょうか?
説明が分かり辛いかもしれませんが、どなたかご教授頂けると非常に助かります。
よろしくお願いいたします。
環境は、Windows Server 2019 / XAMPP(Apache2.4/php8系/MySQL8系)です。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。