我们致力于一个MySQL知识的分享网站

  |   本站Feed      

编译x86_64下静态DBD::MySQL模块

2009-06-23 18:42:22  |   才被阅读:307 次  |  
分类: MySQL基础知识  |   发布: OurMySQL  |   来源:AnySQL
标签:

    MySQL的客户端程序可以静态方式编译, 也就是将客户端程序和MySQL的客户端链接成一个可执行文件, 这样发布程序时就不需要额外安装MySQL客户端了, 比如让Perl支持MySQL的数据库, 就不想在每台机器上安装一个MySQL客户端, 只要将Perl拷过去就以使用.

    最好是找一台干静的版本较低的机器, 如没有新机器, 致少要编译一个独立的MySQL客户端, 不要和编译服务器端的混在一起. 取得并解压MySQL源代码后, 执行如下命令进行编译配置工作.

./configure –prefix=/usr/mysqlclient \
  –without-debug \
  –without-bench \
  –enable-thread-safe-client \
  –enable-assembler \
  –with-charset=utf8 \
  –with-extra-charsets=utf8,gbk \
  –with-collation=utf8_bin \
  –without-bench \
  –with-lib-ccflags=-fPIC \
  –disable-shared –with-pic \
  –without-server \
  –with-mysqld-user=oracle \
  –without-docs \
  –without-man

    然后下载DBD::MySQL的源代码, 执行如下命令进行编译配置.

perl Makefile.PL –mysql_config=/usr/mysqlclient/bin/mysql_config
make
make install

    这样编译生成的就是静态的::MySQL模块, 可以用ldd查看.

$ ldd mysql.so
    libc.so.6 => /lib64/tls/libc.so.6 (0×0000002a95729000)
    /lib64/ld-linux-x86-64.so.2 (0×000000552aaaa000)

    一开始在不干净(编译过Server版本)的源代码下编译了几次, 总是出现链接上的问题, 清干净就好了.

IT技术博客大学习

↑ 分享IT博客大学习的文章

相关文章

  • 目前没有相关的文章

Leave a Reply