如何使用 libmysqlclient.so 编译 mariadb?(/usr/local/mysql/lib 中缺少 libmysqlclient.so)

如何使用 libmysqlclient.so 编译 mariadb?(/usr/local/mysql/lib 中缺少 libmysqlclient.so)

我刚刚开始将我们的数据库从mysql(社区版本)更改为mariadb,并继续使用php7.1 / apache2.4.25 ...所以我必须在我们的新生产环境中编译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

我该怎么办?我还错过了其他选择吗?

谢谢你!

答案1

好的,现在我找到了解决方案。我刚刚创建了 libmariadb.so 的符号链接,现在它看起来如下所示:

ls -l /usr/local/mysql/lib/
total 3572
-rw-r--r-- 1 root root 2305518 Jul  4 16:21 libmariadbclient.a
lrwxrwxrwx 1 root root      15 Jul  4 16:39 libmariadb.so -> libmariadb.so.3
-rwxr-xr-x 1 root root 1297664 Jul  4 16:21 libmariadb.so.3
lrwxrwxrwx 1 root root      15 Jul  4 16:40 libmysqlclient_r.so -> libmariadb.so.3
lrwxrwxrwx 1 root root      15 Jul  4 16:40 libmysqlclient.so -> libmariadb.so.3
-rw-r--r-- 1 root root   48406 Jul  4 16:21 libmysqlservices.a
drwxr-xr-x 2 root root    4096 Jul  4 16:39 plugin

在这种情况下,PHP 7 最终会找到 mysql 库...

相关内容