mysql - perl DBD::mysql 不适用于 mysql 5.6?

标签 mysql perl osx-mountain-lion dbi perlbrew

我在 Mac OSX 10.8.2 上安装了 MySQL 5.6.10,位于/usr/local/mysql-5.6.10-osx10.7-x86_64/中。然后我尝试运行一个 Perl 程序,该程序使用 DBI 和 DBD::mysql 连接到 MySQL 数据库。我收到以下错误:

install_driver(mysql) failed: Can't load '/Users/chap/perl5/perlbrew/perls/perl-
5.16.1/lib/site_perl/5.16.1/darwin-2level/auto/DBD/mysql/mysql.bundle' 
for module DBD::mysql: dlopen(/Users/chap/perl5/perlbrew/perls/perl-
5.16.1/lib/site_perl/5.16.1/darwin-2level/auto/DBD/mysql/mysql.bundle, 
1): Library not loaded: /usr/local/lib/libmysqlclient.18.dylib

Perhaps a required shared library or dll isn't installed where expected

(当我使用“brew”(与 perlbrew 无关)将 mysql 5.5 安装到它自己的目录/usr/local/Cellar/时,效果很好。由于brew 还不知道 5.6,所以我安装了它手动。)

我能够从 mysql 命令行启动 mysqld 并成功连接。这个错误是否表明 Perl 的 DBD::mysql 模块有问题?它是最新的;也许它无法与 MySqL 5.6 对话?

谢谢!

最佳答案

我在 Mac 上安装 DBD::mysql 时遇到了几个问题,我发现可以解决以下问题 Mac OSX 10.6.8,带有 Perl 5.16.1 和 MySQL 5.5.27,其中 mysql 安装在/usr/local/中。 请仔细检查以下命令中使用的所有路径和用户名。

export DYLD_LIBRARY_PATH=/usr/local/lib:$DYLD_LIBRARY_PATH


curl -kL http://search.cpan.org/CPAN/authors/id/C/CA/CAPTTOFU/DBD-mysql-4.021.tar.gz > DBD-mysql-4.021.tar.gz
gunzip -c DBD-mysql-4.021.tar.gz | tar xopf - 

cd DBD-mysql-4.021 && perl ./Makefile.pl --testuser root --libs="-L/usr/local/mysql/lib -lmysqlclient -lpthread"

install_name_tool -change libmysqlclient.18.dylib /usr/local/mysql/lib/libmysqlclient.18.dylib blib/arch/auto/DBD/mysql/mysql.bundle

make test
sudo make install

然后检查连接(假设您仍然启用测试数据库和匿名用户)

perl -e "use DBD::mysql; my $dbh = DBI->connect('dbi:mysql:test:localhost::3306:mysql_socket=/tmp/mysql.sock'); $dbh->disconnect();"

关于mysql - perl DBD::mysql 不适用于 mysql 5.6?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15286991/

相关文章:

mysql - 更改数据库中列的数据类型

mysql - 无法从 MySQL Workbench 正向工程此数据库

objective-c - 尝试在 Xcode 4.5 中测试运行 iOS 4.3 的 iPad

java - 在配备 Retina 显示屏的 MacBook 上显示 Java BufferedImage 不起作用

django - 找不到错误 Psycopg2 Mac OS X Mountain Lion 符号 : _GSS_C_NT_HOSTBASED_SERVICE

php - 如何选择每第n条记录?

MySQL 按获胜机会排序 (%)

Berkeley DB 中的 Perl 复杂数据结构

php - 在 Perl 中匹配 PHP 套接字 SSL 选项

javascript - 将简单的 Perl 脚本翻译成 Python 以向客户端发送响应?