如何解决mysql_connect次要版本不匹配

时间:2018-12-10 14:11:41

标签: mariadb mysql-connect mysqlnd

我目前正在尝试加密数据库,以解决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中:

  

与db:'MY_USER'用户:'dbauthuser'主机的连接624中止:   'localhost'(读取通信数据包时出错)

在/ var / log / httpd / error_log中:

  

PHP警告:mysql_connect():标头和客户端库较小   版本不匹配。标头:50173库:50312 in   /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并不是一种选择。

有与此相关的解决方案吗?

0 个答案:

没有答案