免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1857 | 回复: 0
打印 上一主题 下一主题

./configure命令常用选项详解 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-12-08 20:36 |只看该作者 |倒序浏览
Typical `configure' Options
....................................

The `configure' script gives you a great deal of control over how you
configure a MySQL source distribution.  Typically you do this using
options on the `configure' command line. You can also affect
`configure' using certain environment variables.
For a full list of options supported by `configure', run this command:
     shell> ./configure --help

Some of the `configure' options available are described here:

   * To compile just the MySQL client libraries and client programs and
     not the server, use the `--without-server' option:
          shell> ./configure --without-server

     If you have no C++ compiler, some client programs such as `mysql'
     cannot be compiled because they require C++.. In this case, you
     can remove the code in `configure' that tests for the C++ compiler
     and then run `./configure' with the `--without-server' option. The
     compile step should still try to build all clients, but you can
     ignore any warnings about files such as `mysql.cc'. (If `make'
     stops, try `make -k' to tell it to continue with the rest of the
     build even if errors occur.)

   * If you want to build the embedded MySQL library (`libmysqld.a'),
     use the `--with-embedded-server' option.

   * If you don't want your log files and database directories located
     under `/usr/local/var', use a `configure' command something like
     one of these:
          shell> ./configure --prefix=/usr/local/mysql
          shell> ./configure --prefix=/usr/local \
                     --localstatedir=/usr/local/mysql/data

     The first command changes the installation prefix so that
     everything is installed under `/usr/local/mysql' rather than the
     default of `/usr/local'. The second command preserves the default
     installation prefix, but overrides the default location for
     database directories (normally `/usr/local/var') and changes it to
     `/usr/local/mysql/data'.

     You can also specify the installation directory and data directory
     locations at server startup time by using the `--basedir' and
     `--datadir' options. These can be given on the command line or in
     an MySQL option file, although it is more common to use an option
     file. See *Note option-files::.

   * If you are using Unix and you want the MySQL socket file location
     to be somewhere other than the default location (normally in the
     directory `/tmp' or `/var/run'), use a `configure' command like
     this:
          shell> ./configure \
                     --with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock

     The socket filename must be an absolute pathname. You can also
     change the location of `mysql.sock' at server startup by using a
     MySQL option file.

   * If you want to compile statically linked programs (for example, to
     make a binary distribution, to get better performance, or to work
     around problems with some Red Hat Linux distributions), run
     `configure' like this:
          shell> ./configure --with-client-ldflags=-all-static \
                     --with-mysqld-ldflags=-all-static

   * If you are using `gcc' and don't have `libg++' or `libstdc++'
     installed, you can tell `configure' to use `gcc' as your C++
     compiler:
          shell> CC=gcc CXX=gcc ./configure

     When you use `gcc' as your C++ compiler, it does not attempt to
     link in `libg++' or `libstdc++'. This may be a good thing to do
     even if you have those libraries installed. Some versions of them
     have caused strange problems for MySQL users in the past.
     The following list indicates some compilers and environment
     variable settings that are commonly used with each one.
        * `gcc' 2.7.2:
               CC=gcc CXX=gcc CXXFLAGS="-O3 -felide-constructors"
        * `egcs' 1.0.3a:
               CC=gcc CXX=gcc CXXFLAGS="-O3 -felide-constructors \
               -fno-exceptions -fno-rtti"
        * `gcc' 2.95.2:
               CFLAGS="-O3 -mpentiumpro" CXX=gcc CXXFLAGS="-O3 -mpentiumpro \
               -felide-constructors -fno-exceptions -fno-rtti"
        * `pgcc' 2.90.29 or newer:
               CFLAGS="-O3 -mpentiumpro -mstack-align-double" CXX=gcc \
               CXXFLAGS="-O3 -mpentiumpro -mstack-align-double \
               -felide-constructors -fno-exceptions -fno-rtti"

     In most cases, you can get a reasonably optimized MySQL binary by
     using the options from the preceding list and adding the following
     options to the `configure' line:
          --prefix=/usr/local/mysql --enable-assembler \
          --with-mysqld-ldflags=-all-static
     The full `configure' line would, in other words, be something like
     the following for all recent `gcc' versions:
          CFLAGS="-O3 -mpentiumpro" CXX=gcc CXXFLAGS="-O3 -mpentiumpro \
          -felide-constructors -fno-exceptions -fno-rtti" ./configure \
          --prefix=/usr/local/mysql --enable-assembler \
          --with-mysqld-ldflags=-all-static
     The binaries we provide on the MySQL Web site at
     `http://dev.mysql.com/downloads/' are all compiled with full
     optimization and should be perfect for most users. See *Note
     mysql-binaries::. There are some configuration settings you can
     tweak to build an even faster binary, but these are only for
     advanced users. See *Note compile-and-link-options::.
     If the build fails and produces errors about your compiler or
     linker not being able to create the shared library
     `libmysqlclient.so.N' (where N is a version number), you can work
     around this problem by giving the `--disable-shared' option to
     `configure'. In this case, `configure' does not build a shared
     `libmysqlclient.so.N' library.

   * By default, MySQL uses the `latin1' (cp1252 West European)
     character set. To change the default set, use the `--with-charset'
     option:
          shell> ./configure --with-charset=CHARSET

     CHARSET may be one of `binary', `armscii8', `ascii', `big5',
     `cp1250', `cp1251', `cp1256', `cp1257', `cp850', `cp852', `cp866',
     `cp932', `dec8', `eucjpms', `euckr', `gb2312', `gbk', `geostd8',
     `greek', `hebrew', `hp8', `keybcs2', `koi8r', `koi8u', `latin1',
     `latin2', `latin5', `latin7', `macce', `macroman', `sjis', `swe7',
     `tis620', `ucs2', `ujis', `utf8'. See *Note character-sets::.
     (Additional character sets might be available. Check the output
     from `./configure --help' for the current list.)
     The default collation may also be specified. MySQL uses the
     `latin1_swedish_ci' collation by default.  To change this, use the
     `--with-collation' option:
          shell> ./configure --with-collation=COLLATION

     To change both the character set and the collation, use both the
     `--with-charset' and `--with-collation' options. The collation
     must be a legal collation for the character set. (Use the `SHOW
     COLLATION' statement to determine which collations are available
     for each character set.)
     *Warning:* If you change character sets after having created any
     tables, you must run `myisamchk -r -q
     --set-collation=COLLATION_NAME' _on every `MyISAM' table_. Your
     indexes may be sorted incorrectly otherwise. This can happen if
     you install MySQL, create some tables, and then reconfigure MySQL
     to use a different character set and reinstall it.
     With the `configure' option `--with-extra-charsets=LIST', you can
     define which additional character sets should be compiled into the
     server. LIST is one of the following:
        * A list of character set names separated by spaces
        * `complex' to include all character sets that can't be
          dynamically loaded
        * `all' to include all character sets into the binaries
     Clients that want to convert characters between the server and the
     client should use the `SET NAMES' statement. See *Note
     set-option::, and *Note charset-connection::.
   * To configure MySQL with debugging code, use the `--with-debug'
     option:
          shell> ./configure --with-debug

     This causes a safe memory allocator to be included that can find
     some errors and that provides output about what is happening. See
     Debugging a MySQL Server
     (
http://dev.mysql.com/doc/refman/5.0/en/debugging-server.html
).

     As of MySQL 5.0.25, using `--with-debug' to configure MySQL with
     debugging support enables you to use the
     `--debug="d,parser_debug"' option when you start the server. This
     causes the Bison parser that is used to process SQL statements to
     dump a parser trace to the server's standard error output.
     Typically, this output is written to the error log.

   * If your client programs are using threads, you must compile a
     thread-safe version of the MySQL client library with the
     `--enable-thread-safe-client' configure option. This creates a
     `libmysqlclient_r' library with which you should link your threaded
     applications.

   * It is possible to build MySQL 5.0 with large table support using
     the `--with-big-tables' option, beginning with MySQL 5.0.4.

     This option causes the variables that store table row counts to be
     declared as `unsigned long long' rather than `unsigned long'. This
     enables tables to hold up to approximately 1.844E+19 ((2^32)^2)
     rows rather than 2^32 (~4.295E+09) rows. Previously it was
     necessary to pass `-DBIG_TABLES' to the compiler manually in order
     to enable this feature.

   * Run `configure' with the `--disable-grant-options' option to cause
     the the `--bootstrap', `--skip-grant-tables', and `--init-file'
     options for `mysqld' to be disabled. For Windows, the
     `configure.js' script recognizes the `DISABLE_GRANT_OPTIONS' flag,
     which has the same effect. The capability is available as of MySQL
     5.0.34.

   * See *Note operating-system-specific-notes::, for options that
     pertain to particular operating systems.

   * See *Note secure-using-ssl::, for options that pertain to
     configuring MySQL to support secure (encrypted) connections.



本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/87863/showart_1686202.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP