Mac 13.5.1(Intel)安装MariaDB因缺失libssl.1.0.0.dylib失败
解决MacOS 13.5.1(Intel)下MariaDB4j安装失败的问题
问题分析
报错核心是MariaDB4j打包的二进制文件依赖旧版OpenSSL 1.0.0的库文件,但MacOS 13.5.1和新版Homebrew已不再支持直接安装OpenSSL 1.0,导致依赖缺失。下面提供三种可行的解决思路:
方法1:创建兼容符号链接
通过将现有支持的OpenSSL版本(如1.1)的库文件链接到MariaDB4j期望的路径,绕过版本检测:
- 安装OpenSSL 1.1(Homebrew仍维护该版本):
brew install openssl@1.1 - 创建目标路径并生成符号链接:
sudo mkdir -p /usr/local/opt/openssl/lib sudo ln -s /usr/local/opt/openssl@1.1/lib/libssl.1.1.dylib /usr/local/opt/openssl/lib/libssl.1.0.0.dylib sudo ln -s /usr/local/opt/openssl@1.1/lib/libcrypto.1.1.dylib /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib - 重新运行应用的MariaDB安装流程。
方法2:修改二进制依赖路径(推荐)
直接修改MariaDB4j二进制文件的依赖指向,替换为已安装的OpenSSL 1.1库:
- 先安装OpenSSL 1.1:
brew install openssl@1.1 - 进入MariaDB4j的二进制目录(路径来自报错信息):
cd /private/var/folders/c3/yv5dj8tn19g0qyls_5hhhnm80000gn/T/MariaDB4j/base/bin/ - 使用
install_name_tool修改依赖路径:# 修改my_print_defaults的依赖 install_name_tool -change /usr/local/opt/openssl/lib/libssl.1.0.0.dylib /usr/local/opt/openssl@1.1/lib/libssl.1.1.dylib my_print_defaults install_name_tool -change /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib /usr/local/opt/openssl@1.1/lib/libcrypto.1.1.dylib my_print_defaults # 修改mysql_install_db的依赖 install_name_tool -change /usr/local/opt/openssl/lib/libssl.1.0.0.dylib /usr/local/opt/openssl@1.1/lib/libssl.1.1.dylib mysql_install_db install_name_tool -change /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib /usr/local/opt/openssl@1.1/lib/libcrypto.1.1.dylib mysql_install_db - 重新启动应用的数据库安装步骤。
注意:如果应用每次启动都会重新解压MariaDB4j的临时包,需要修改应用配置,指定自定义的MariaDB4j工作目录,避免修改被覆盖。
方法3:替换兼容的MariaDB二进制包
如果上述方法无效,可以手动替换MariaDB4j使用的二进制文件为兼容新版OpenSSL的版本:
- 从MariaDB官网下载与MariaDB4j版本匹配的MacOS Intel二进制包
- 解压后,将包内的
bin、lib等目录内容,替换到/private/var/folders/c3/yv5dj8tn19g0qyls_5hhhnm80000gn/T/MariaDB4j/base/对应目录下 - 重新运行安装流程。
内容的提问来源于stack exchange,提问作者Avyaan
相关产品推荐
相关产品推荐

