简体   繁体   English

如何编译mariadb以获得libmysqlclient.so? (在/ usr / local / mysql / lib中缺少libmysqlclient.so)

[英]how to compile mariadb to get libmysqlclient.so? (missing libmysqlclient.so in /usr/local/mysql/lib)

I wanted to move our database from mysql (community version) to mariadb with the further use of php7.1/apache2.4.25... So I have to compile mariadb in our new production environment. 我想通过进一步使用php7.1 / apache2.4.25将数据库从mysql(社区版本)迁移到mariadb。因此,我必须在新的生产环境中编译mariadb。 I compiled it with these options: 我使用以下选项对其进行了编译:

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

The mysql community version has a libmysqlclient.so in /usr/local/mysql/lib located. mysql社区版本在/ usr / local / mysql / lib中有一个libmysqlclient.so。 If I compile it with the options given above I only found these files in /usr/local/mysql/lib (MariaDB 10.2.6): 如果使用上面给出的选项进行编译,我只会在/ 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

How can I get libmysqlclient.so? 如何获得libmysqlclient.so? There isn't also any libmariadbclient.so just libmariadbclient.a ... 也没有任何libmariadbclient.so,只有libmariadbclient.a ...

Thank you for further hints! 感谢您提供进一步的提示!

OK, now I found a solution. 好的,现在我找到了解决方案。 I've just did a symbolic link to libmariadb.so and it now looks like the following: 我刚刚做了一个指向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

In this case PHP 7 would finally find the mysql libraries... 在这种情况下,PHP 7最终将找到mysql库...

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何解决libmysqlclient_r.so符号引用链接错误? - how do I solve libmysqlclient_r.so symbol referencing linking errors? 如何找出试图加载 libmysqlclient_r.so 库的内容 - How to find out what tries to load libmysqlclient_r.so library 无法打开共享对象文件libmysqlclient.so.18 - cannot open shared object file libmysqlclient.so.18 /usr/local/lib/libopencv_core.so所需的libcudart.so.5.5 - libcudart.so.5.5, needed by /usr/local/lib/libopencv_core.so MySQL内存泄漏:libmysqlclient.18 - MySQL memory leak: libmysqlclient.18 在Debian Testing中缺少`/usr/lib/libboost_unit_test_framework-mt.so&#39; - Missing `/usr/lib/libboost_unit_test_framework-mt.so' in Debian Testing gcc - / usr / bin / ld错误:找不到 <library> 在/ usr / local / lib中虽然ldconfig列出它,并且路径已添加到ld.so.conf中 - gcc - /usr/bin/ld error: cannot find <library> in /usr/local/lib though ldconfig list it, and path added to ld.so.conf bitbake grpc交叉编译/配置失败,并出现错误c-ares :: cares引用文件/usr/lib/libcares.so.2.2.0 - bitbake grpc cross compile/configure failing with error c-ares::cares references the file /usr/lib/libcares.so.2.2.0 通过 libmysqlclient 在 MySQL 查询中使用用户定义的变量时出错 - Error when using user defined variables in MySQL query via libmysqlclient ldd可执行文件如何找到/usr/lib64/libstdc++.so.6? - How ldd executable finds /usr/lib64/libstdc++.so.6?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM