GetFree Asked: 2009-04-05 16:04:49 +0800 CST2009-04-05 16:04:49 +0800 CST 2009-04-05 16:04:49 +0800 CST 配置选项 MySQL 服务器是用什么编译的? 772 我在 Linux 机器上运行 MySQL 服务器 5.0.67。 我怎么知道使用了哪些配置选项来编译它? 我对--with-mysqld-ldflags选项感兴趣,以便了解 mysql 是静态链接还是动态链接。 linux mysql 4 个回答 Voted Best Answer MilliaLover 2010-04-26T02:01:30+08:002010-04-26T02:01:30+08:00 mysqlbug您可以使用命令行实用程序查看配置选项。 在您的 shell 类型中mysqlbug,您将看到一个用于提交错误的模板电子邮件。 在该电子邮件的底部,您可以看到配置行,其中包含编译 MySQL 副本的所有选项。 默认情况下--with-mysqld-ldflags省略,这意味着服务器将被动态编译。 http://dev.mysql.com/doc/refman/5.0/en/configure-options.html andri 2009-04-05T16:08:44+08:002009-04-05T16:08:44+08:00 它不会得到您所要求的确切内容,但您可以使用ldd. 当二进制文件被动态链接时,输出如下所示: $ ldd test-dyn linux-vdso.so.1 => (0x00007fffce7fe000) libc.so.6 => /lib64/libc.so.6 (0x000000391f000000) /lib64/ld-linux-x86-64.so.2 (0x000000391ec00000) ...并在静态链接的二进制文件上,如下所示: $ ldd test-stat not a dynamic executable Zoredache 2009-04-05T16:36:06+08:002009-04-05T16:36:06+08:00 哪个版本的 Linux?详细信息将在源代码包中。 对于基于 Debian/Ubuntu,您可以使用apt-get source packagename. 然后查看运行构建的 debian/rules 脚本。 GetFree 2009-04-05T17:16:40+08:002009-04-05T17:16:40+08:00 当我运行 ldd 我得到这个: root@hostname3 [~]# ldd /usr/sbin/mysqld linux-gate.so.1 => (0x00139000) librt.so.1 => /lib/librt.so.1 (0x00ba2000) libdl.so.2 => /lib/libdl.so.2 (0x00ae3000) libpthread.so.0 => /lib/libpthread.so.0 (0x00b12000) libcrypt.so.1 => /lib/libcrypt.so.1 (0x00bad000) libnsl.so.1 => /lib/libnsl.so.1 (0x00be1000) libm.so.6 => /lib/libm.so.6 (0x00ae9000) libc.so.6 => /lib/libc.so.6 (0x0099d000) /lib/ld-linux.so.2 (0x0097f000) 这是否意味着mysqld是静态链接的?
mysqlbug
您可以使用命令行实用程序查看配置选项。在您的 shell 类型中
mysqlbug
,您将看到一个用于提交错误的模板电子邮件。在该电子邮件的底部,您可以看到配置行,其中包含编译 MySQL 副本的所有选项。
默认情况下
--with-mysqld-ldflags
省略,这意味着服务器将被动态编译。http://dev.mysql.com/doc/refman/5.0/en/configure-options.html
它不会得到您所要求的确切内容,但您可以使用
ldd
.当二进制文件被动态链接时,输出如下所示:
...并在静态链接的二进制文件上,如下所示:
哪个版本的 Linux?详细信息将在源代码包中。
对于基于 Debian/Ubuntu,您可以使用
apt-get source packagename
. 然后查看运行构建的 debian/rules 脚本。当我运行 ldd 我得到这个:
这是否意味着mysqld是静态链接的?