19.3.2.1 Область применения шифрования двоичного журнала
При активном шифровании двоичного журнала для экземпляра MySQL сервера, область применения шифрования следующая:
Данные в состоянии покоя, которые записываются в файлы двоичного журнала и файлы репликации, шифруются с момента начала шифрования, используя двухступенчатую архитектуру шифрования, описанную выше. Существующие файлы двоичного журнала и файлы репликации, присутствующие на сервере в момент начала шифрования, не шифруются. Вы можете очистить эти файлы, когда они больше не нужны.
Данные в движении в потоке событий репликации, которые отправляются MySQL клиентам, включая mysqlbinlog, дешифруются для передачи и, следовательно, должны быть защищены в процессе передачи с помощью шифрования соединения (см. Раздел 8.3, «Использование шифрованных соединений» и Раздел 19.3.1, «Настройка репликации для использования шифрованных соединений»).
Данные в использовании, которые хранятся в кэше транзакций и операторов двоичного журнала во время транзакции, находятся в нешифрованном формате в буфере памяти, хранящем кэш. Данные записываются во временный файл на диске, если они превышают доступное пространство в буфере памяти. При активном шифровании двоичного журнала на сервере временные файлы, используемые для хранения кэша двоичного журнала, шифруются с помощью AES-CTR (режим счётчика AES) для потокового шифрования. Поскольку временные файлы являются временными и привязаны к одному процессу, они шифруются с использованием одноуровневого шифрования, используя случайно сгенерированный пароль файла и вектор инициализации, которые существуют только в памяти и никогда не сохраняются на диске или в хранилище ключей. После завершения каждой транзакции кэш двоичного журнала сбрасывается: буфер памяти очищается, любой временный файл, используемый для хранения кэша двоичного журнала, усекается, а новый пароль файла и вектор инициализации генерируются случайным образом для использования с следующей транзакцией. Этот сброс также происходит при перезапуске сервера после нормальной остановки или неожиданной остановки.
Если вы используете LOAD DATA, когда binlog_format=STATEMENT установлен, что не рекомендуется, так как оператор считается небезопасным для репликации на основе операторов, временный файл, содержащий данные, создаётся на реплике, где применяются изменения. Эти временные файлы не шифруются, когда шифрование двоичного журнала активно на сервере. Вместо этого используйте формат двоичного журналирования на основе строк или смешанный, который не создаёт временных файлов.
© 2025 Oracle
Licensed under the GPLv2 License.