【发布时间】:2017-07-04 09:41:47
【问题描述】:
我想通过进一步使用 php7.1/apache2.4.25 将我们的数据库从 mysql(社区版)移动到 mariadb...所以我必须在我们的新生产环境中编译 mariadb。我用这些选项编译它:
cmake -DCMAKE_CXX_FLAGS:STRING="-std=c++11" -DCONC_WITH_CURL=ON -DCONC_WITH_EXTERNAL_ZLIB=ON -DDISABLE_SHARED=OFF -DCONC_WITH_MYSQLCOMPAT:BOOL=ON -DPLUGIN_CLIENT_ED25519:STRING=DYNAMIC .
make all && make install
mysql 社区版在/usr/local/mysql/lib 中有一个libmysqlclient.so。如果我使用上面给出的选项编译它,我只能在 /usr/local/mysql/lib (MariaDB 10.2.6) 中找到这些文件:
# ls -l /usr/local/mysql/lib/
total 3572
-rw-r--r-- 1 root root 2305518 Jul 4 08:14 libmariadbclient.a
lrwxrwxrwx 1 root root 15 Jul 4 08:31 libmariadb.so -> libmariadb.so.3
-rwxr-xr-x 1 root root 1297664 Jul 4 08:14 libmariadb.so.3
-rw-r--r-- 1 root root 48406 Jul 4 08:14 libmysqlservices.a
drwxr-xr-x 2 root root 4096 Jul 4 08:31 plugin
如何获取 libmysqlclient.so?也没有任何 libmariadbclient.so 只是 libmariadbclient.a ...
感谢您的进一步提示!
【问题讨论】:
-
为什么要从 mariadb 源构建一个 mysql 库?
-
MariaDB 是在多个网站上所说的替代品。我需要 libmysqlclient.so 库来链接到 php 7。
-
另一个原因是:我需要 mysql/mariadb 和 PHP...这是我的 PHP 配置脚本的输出:
checking whether to enable embedded MySQLi support... no checking for specified location of the MySQL UNIX socket... no checking for mysql_set_server_option in -lmysqlclient_r... no configure: error: wrong mysql library version or lib not found. Check config.log for more information.
标签: c++ mysql compilation cmake mariadb