В настоящее время я пытаюсь зашифровать свою базу данных, чтобы ответить на проблемный GDPR.Поскольку шифрование TDE предназначено только для предприятий (не бесплатно), я предпочитаю использовать MariaDB вместо Mysql.
Итак, я уже обновился с mysql 5.1 до MariaDB 10.2 (с шагом MariaDB 5.5).Это хорошо работает.
Но когда я пытаюсь зашифровать свою базу данных (см. Ниже), база данных все еще не зашифрована, и есть ошибки в mysqld.log и error.log (из каталога httpd).
mkdir /etc/mysql/
openssl rand -hex 16 >> /etc/mysql/keys.txt
openssl rand -hex 16 >> /etc/mysql/keys.txt
openssl rand -hex 16 >> /etc/mysql/keys.txt
vi /etc/mysql/keys.txt // Here I add "1;", "2;" and "3;"
openssl enc -aes-256-cbc -md sha1 -k MY_PASSWORD_HERE -in /etc/mysql/keys.txt -out /etc/mysql/keys.enc
vi /etc/my.cnf
Я добавил следующие строки:
[mariadb]
innodb-encrypt-tables
innodb-encrypt-log
innodb-encryption-threads = 4
plugin-load-add=file_key_management
file_key_management_filename=/etc/mysql/keys.txt
file_key_management_encryption_algorithm=AES_CTR
# for monitoring
innodb-tablespaces-encryption
service mysql restart
Ошибки:
В /var/log/mysqld.log:
Прервано соединение 624 с БД: «MY_USER», пользователь: «dbauthuser», хост: «localhost» (ошибка чтения пакетов связи)
В / var / log / httpd / error_log:
PHP Предупреждение: mysql_connect (): Несоответствие версий заголовков и клиентской библиотеки.Заголовки: 50173 Библиотека: 50312 в /usr/share/SOFTWARE_NAME/src/common/dao/include/DataAccess.class.php в строке 76, реферер: https://DOMAIN_NAME/account/register.php
Даже при наличии ошибок, веб-сайт работает хорошо, без каких-либо проблем для действий, требующих доступа к базе данных.
Мне интересно, что я сделал что-то не так или я что-то забыл.
Я также проводил исследованияи я нашел мало результатов.Единственное, что MariaDB советует сделать, это https://mariadb.com/kb/en/library/installation-issues-with-php5/
Проблема в том, что сборка, используемая для php, уже скомпилирована, и она была изменена и адаптирована для программного обеспечения несколько лет назад.Но у меня больше нет исходного кода, потому что я не был в проекте, поэтому перестройка PHP для активации PHP-mysqlnd не вариант.
Есть ли какое-либо решение, связанное с этим?