首页 > 解决方案 > mysqldump 无法加载 libss

问题描述

我正在尝试将数据库中的表转储到使用mysqldump. 然而我遇到

 bash-3.2$ /usr/local/var/mysql/virkdb/mysqldump --host=localhost --port=3306 -u root --databases virkdb --result-file=dump.sql
dyld: Library not loaded: @rpath/libssl.1.0.0.dylib
  Referenced from: /usr/local/var/mysql/virkdb/mysqldump
  Reason: image not found
Abort trap: 6

我正在使用 macOS High Sierra 和 homebrew 1.8.6。我曾尝试更新和升级我的 brew,但没有太大帮助。

我已经重新链接 openssl -

我按照@nino walker 的建议使用了 otool - 这是输出

/usr/local/var/mysql/virkdb/mysqldump:
    @rpath/libssl.1.0.0.dylib (compatibility version 1.0.0, current version 1.0.0)
    @rpath/libcrypto.1.0.0.dylib (compatibility version 1.0.0, current version 1.0.0)
    @rpath/libc++.1.dylib (compatibility version 1.0.0, current version 1.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)

标签: mysqlopenssllibssl

解决方案


@rpath前缀表示相对于可执行文件的加载路径。

您可以使用检查二进制文件的依赖项otool

otool -L /usr/local/var/mysql/virkdb/mysqldump(尝试otool -l ...很多细节)。

这里有一篇关于如何使用该工具和了解底层行为的有用博客文章:https ://medium.com/@donblas/fun-with-rpath-otool-and-install-name-tool-e3e41ae86172

根据这些知识,您可以确定它是否是构建/打包问题 - 您可以通过调整环境变量来解决它。


推荐阅读