其实已经装过很多次了,不过以前从来没有遇到今天这样的问题。虽然其实所有的环境配置都是一样的:RHEL4, Perl 5.8.5, MySQL4.1.8。
以前也遇到过报错信息为找不到mysql_config,当时只是把/path/to/mysql/bin添加到PATH环境变量中,就全部OK了。今天却不停的提示Can't load ...mysql/mysql.so for module DBD::mysql: libmysqlclient.so.14...。根据MySQL的文档,这是在编译DBD::mysql的时候,没有把libmysqlclient.so的正确路径编译进去。检查了很多遍之后确认并没有问题,-L/usr/local/mysql/lib/mysql已经在参数里面。也有人说法是认为没有安装mysqlclient,但是那些一边都是针对binary安装可能出现的错误,我从源码编译安装,照理不会出错,而且我的libmysqlclient.so明明白白就在/usr/local/mysql/lib/mysql下:
-rwxr-xr-x 1 root mysql 877 Feb 22 00:44 libmysqlclient.la
lrwxrwxrwx 1 root root 24 Feb 22 00:44 libmysqlclient.so -> libmysqlclient.so.14.0.0
lrwxrwxrwx 1 root root 24 Feb 22 00:44 libmysqlclient.so.14 -> libmysqlclient.so.14.0.0
-rwxr-xr-x 1 root mysql 391604 Feb 22 00:44 libmysqlclient.so.14.0.0
最终解决的办法是把libmysqlclient.so.14.0.0拷贝到/usr/lib下并命名为libmysqlclient.so.14。问题虽然解决,不过还是不知道为什么会这样。