"SfR Fresh" - the SfR Freeware/Shareware Archive

Member "mysql-5.0.67/INSTALL-SOURCE" of archive mysql-5.0.67.tar.gz:


As a special service "SfR Fresh" has tried to format the requested source page into HTML format using source code syntax highlighting with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. That can be also achieved for any archive member file by clicking within an archive contents listing on the first character of the file(path) respectively on the according byte size field.
    1 
    2 Chapter 2. Installing and Upgrading MySQL
    3 
    4 2.1. MySQL Installation Overview
    5 
    6    This chapter describes how to obtain and install MySQL. You can
    7    choose to install MySQL Enterprise or MySQL Community Server:
    8      * MySQL Enterprise is MySQL AB's commercial offering for modern
    9        enterprise businesses. It includes MySQL Enterprise Server and
   10        the services provided by MySQL Network. To install MySQL
   11        Enterprise, see Section 2.3, "Installing MySQL Enterprise."
   12      * MySQL  Community Server is for users who are comfortable
   13        configuring and administering MySQL by themselves. To install
   14        MySQL Community Server, see Section 2.4, "Installing MySQL
   15        Community Server."
   16 
   17    If you plan to upgrade an existing version of MySQL to a newer
   18    version rather than install MySQL for the first time, see Section
   19    2.4.17,  "Upgrading  MySQL,"  for  information about upgrade
   20    procedures  and about issues that you should consider before
   21    upgrading.
   22 
   23    If you are interested in migrating to MySQL from another database
   24    system, you may wish to read Section A.8, "MySQL 5.0 FAQ ---
   25    Migration,"  which contains answers to some common questions
   26    concerning migration issues.
   27 
   28 2.2. Determining your current MySQL version
   29 
   30    To determine the version and release of your currently installed
   31    MySQL installation, there are a number of options.
   32      * Using a command client (mysql), the server version of the
   33        MySQL server to which you are connected is shown once you are
   34        connected. The server version information includes community
   35        or enterprise accordingly.
   36        For example, here is the output from a MySQL Community Server
   37        edition installed on Linux:
   38 Welcome to the MySQL monitor.  Commands end with ; or \g.
   39 Your MySQL connection id is 6
   40 Server version: 5.0.27-standard MySQL Community Edition - Standard (G
   41 PL)
   42 
   43 Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
   44 
   45 mysql>
   46        This is an example of the output from MySQL Enterprise Server
   47        on Windows:
   48 Welcome to the MySQL monitor.  Commands end with ; or \g.
   49 Your MySQL connection id is 2
   50 Server version: 5.0.28-enterprise-gpl-nt MySQL Enterprise Server (GPL
   51 )
   52 
   53 Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
   54      * You may also determine the version information using the
   55        version  variables. Both the version and version_comment
   56        variables contain version information for the server to which
   57        you are connected. Use the SHOW VARIABLES statement to obtain
   58        the information you want, as shown in this example:
   59 mysql> SHOW VARIABLES LIKE "%version%";
   60 +-------------------------+------------------------------------------
   61 +
   62 | Variable_name           | Value
   63 |
   64 +-------------------------+------------------------------------------
   65 +
   66 | protocol_version        | 10
   67 |
   68 | version                 | 5.0.27-standard
   69 |
   70 | version_comment         | MySQL Community Edition - Standard (GPL)
   71 |
   72 | version_compile_machine | i686
   73 |
   74 | version_compile_os      | pc-linux-gnu
   75 |
   76 +-------------------------+------------------------------------------
   77 +
   78 5 rows in set (0.04 sec)
   79 
   80 Note
   81        MySQL Administrator shows the server version within the Server
   82        Information tab. However, only the value of version is shown.
   83      * The STATUS command displays the version as well as version
   84        comment information. For example:
   85 mysql> STATUS;
   86 --------------
   87 ./client/mysql  Ver 14.12 Distrib 5.0.29, for pc-linux-gnu (i686) usi
   88 ng readline 5.0
   89 
   90 Connection id:          8
   91 Current database:
   92 Current user:           mc@localhost
   93 SSL:                    Not in use
   94 Current pager:          /usr/bin/less
   95 Using outfile:          ''
   96 Using delimiter:        ;
   97 Server version:         5.0.27-standard MySQL Community Edition - Sta
   98 ndard (GPL)
   99 Protocol version:       10
  100 Connection:             Localhost via UNIX socket
  101 Server characterset:    latin1
  102 Db     characterset:    latin1
  103 Client characterset:    latin1
  104 Conn.  characterset:    latin1
  105 UNIX socket:            /tmp/mysql.sock
  106 Uptime:                 1 day 3 hours 58 min 43 sec
  107 
  108 Threads: 2  Questions: 17  Slow queries: 0  Opens: 11  Flush tables:
  109 1  Open tables: 6  Queries per second avg: 0.000
  110 --------------
  111 
  112 2.3. Installing MySQL Enterprise
  113 
  114    This section does not apply to MySQL Community Server users.
  115 
  116    This  section  contains  information  about  the components,
  117    installation and initial configuration requirements for installing
  118    MySQL Enterprise.
  119 
  120 2.3.1. Overview of MySQL Enterprise Installation
  121 
  122    To obtain MySQL Enterprise, visit http://enterprise.mysql.com if
  123    you're a customer. Otherwise, visit
  124    http://www.mysql.com/products/enterprise/. The platforms that are
  125    officially  supported  for  MySQL  Enterprise  are listed at
  126    http://www.mysql.com/support/supportedplatforms.html.
  127 
  128    MySQL Enterprise Server is available for download in the form of
  129    Quarterly Service Pack (QSP) or Monthly Rapid Update (MRU) binary
  130    releases.
  131 
  132    To install MySQL Enterprise Server, you should use the latest
  133    available  Quarterly  Service  Pack  (QSP). This includes an
  134    accumulation of the bug fixes provided in all predecessor QSP and
  135    MRU releases.
  136 
  137    MRU releases are provided on a monthly basis and represent the
  138    most  current  Enterprise  Server  bug fixes. Each MRU is an
  139    accumulation  of  the bug fixes included in its predecessor.
  140    Customers should standardize on the latest MRU release only if it
  141    includes a needed bug fix.
  142 
  143 2.3.2. Enterprise Server Distribution Types
  144 
  145    This section does not apply to MySQL Community Server users.
  146 
  147    Enterprise Server releases will be created for the following
  148    packages from the MySQL 5.0 tree:
  149      * mysql-enterprise: Released under a commercial license and
  150        includes the following storage engines: MyISAM, MEMORY, MERGE,
  151        InnoDB, ARCHIVE, BLACKHOLE, EXAMPLE, FEDERATED.
  152      * mysql-enterprise-gpl: Same as mysql-enterprise, but released
  153        under the GPL.
  154      * mysql-cluster: mysql-enterprise plus MySQL Cluster (NDB).
  155      * mysql-classic: Released under a commercial license, does not
  156        include InnoDB.
  157      * mysql-community: Same as mysql-enterprise-gpl, but available
  158        for the community, and released every 6 months.
  159 
  160    To  satisfy  different user requirements, we provide several
  161    servers. mysqld is an optimized server that is a smaller, faster
  162    binary. mysqld-debug is compiled with debugging support but is
  163    otherwise configured identically to the non-debug server.
  164 
  165    Each  of  these  servers  is  compiled  from the same source
  166    distribution, though with different configuration options. All
  167    native MySQL clients can connect to servers from either MySQL
  168    version.
  169 
  170 2.3.3. Installing the Enterprise MySQL Server
  171 
  172    For Windows and Mac OS X platforms you will need to use the MySQL
  173    installer. For all other other platforms, you will need to use the
  174    TAR, Zip or native package format (RPM, Solaris PKG) pafiles to
  175    perform the installation.
  176 
  177 2.3.4. Upgrading MySQL Enterprise Server
  178 
  179    This section does not apply to MySQL Community Server users.
  180 
  181    When upgrading to MySQL Enterprise from Community Server you need
  182    only follow the installation process to install and upgrade the
  183    packages to the latest version provided by MySQL Enterprise. You
  184    will also need to install the latest MySQL Enterprise Service Pack
  185    and any outstanding MySQL Hot-fix packs.
  186 
  187    Be aware, however, that you must take into account any of the
  188    changes when moving between major releases. You should also check
  189    the release notes (see Appendix C, "MySQL Enterprise Release
  190    Notes") for details on major changes between revisions of MySQL
  191    Enterprise Server. For details of changes in other packages in
  192    MySQL Enterprise, see Appendix E, "MySQL Change History."
  193 
  194    You should also review the notes and advice contained within
  195    Section 2.4.17, "Upgrading MySQL."
  196 
  197 2.3.5. Uninstalling MySQL Enterprise
  198 
  199    This section does not apply to MySQL Community Server users.
  200 
  201    You  can uninstall MySQL Enterprise using the standard tools
  202    according to your operating system.
  203 
  204 Note
  205 
  206    When uninstalling, any data files created are not removed. You
  207    will need to separately remove these files to completely remove
  208    MySQL from your system.
  209 
  210 2.3.5.1. Uninstalling on Windows
  211 
  212    To uninstall MySQL Enterprise on Windows you should use the Add or
  213    Remove Programs utility located within the Control Panel.
  214    Uninstalling MySQL Enterprise
  215 
  216    Packages within MySQL Enterprise must be removed individually. You
  217    may also use this option to remove packages that you no longer
  218    want or use.
  219 
  220    Any data you created while MySQL Enterprise was installed will not
  221    be removed. You will need to separately delete this information.
  222 
  223 2.3.5.2. Uninstalling on Linux (RPMs)
  224 
  225    To uninstall MySQL Enterprise on a Linux operating system that
  226    uses the RPM package format, you must remove each of the packages
  227    that  were  installed  by  the  MySQL  Enterprise  Installer
  228    individually.
  229 
  230    To do this, first obtain a list of the installed packages:
  231 shell> rpm -q -a|grep -i mysql
  232 mysql-docs-en-5.0.26-1
  233 MySQL-server-standard-5.0.26-0.rhel4
  234 mysql-connector-j-5.0.3-1
  235 MySQL-devel-standard-5.0.26-0.rhel4
  236 mysql-query-browser-5.0r4-1rhel4
  237 mysql-connector-odbc-3.51.12-1
  238 MySQL-client-standard-5.0.26-0.rhel4
  239 mysql-administrator-5.0r4-1rhel4
  240 mysql-gui-tools-5.0r4-1rhel4
  241 mysql-setup-wizard-1.0-1
  242 mysql-connector-net-1.0.7-1
  243 
  244    You  can remove these packages individually, or all together
  245    automatically, like this:
  246 shell> rpm -q -a|grep -i mysql|xargs rpm --erase
  247 
  248 2.4. Installing MySQL Community Server
  249 
  250 2.4.1. Overview of MySQL Community Server Installation
  251 
  252     1. Determine  whether  MySQL  runs and is supported on your
  253        platform.  Not all platforms are equally suitable for running
  254        MySQL, and not all platforms on which MySQL is known to run
  255        are officially supported by MySQL AB. For a list of platforms
  256        on which MySQL Community Server runs, see Section 2.4.2,
  257        "Operating Systems Supported by MySQL Community Server."
  258     2. Choose which distribution to install.  Several versions of
  259        MySQL  are available, and most are available in multiple
  260        distribution  formats.  You  can choose from prepackaged
  261        distributions containing binary (precompiled) programs or
  262        source code. When in doubt, use a binary distribution. We also
  263        provide public access to our current source trees for those
  264        who want to see our most recent developments and to help us
  265        test  new  code.  To determine which version and type of
  266        distribution you should use, see Section 2.4.3, "Choosing
  267        Which MySQL Distribution to Install."
  268     3. Download the distribution that you want to install.  For
  269        download instructions, see Section 2.4.4, "How to Get MySQL."
  270        To  verify  the  integrity  of the distribution, use the
  271        instructions in Section 2.4.5, "Verifying Package Integrity
  272        Using MD5 Checksums or GnuPG."
  273     4. Install the distribution.  To install MySQL from a binary
  274        distribution, use the instructions in Section 2.4.7, "Standard
  275        MySQL Installation Using a Binary Distribution." To install
  276        MySQL  from  a  source  distribution or from the current
  277        development source tree, use the instructions in Section
  278        2.4.15, "MySQL Installation Using a Source Distribution."
  279        If  you encounter installation difficulties, see Section
  280        2.4.19, "Operating System-Specific Notes," for information on
  281        solving problems for particular platforms.
  282     5. Perform  any  necessary  post-installation setup.  After
  283        installing MySQL, read Section 2.4.16, "Post-Installation
  284        Setup and Testing," which contains important information about
  285        making sure the MySQL server is working properly. It also
  286        describes how to secure the initial MySQL user accounts, which
  287        have no passwords until you assign passwords. The information
  288        in this section applies whether you install MySQL using a
  289        binary or source distribution.
  290     6. Perform setup for running benchmarks (optional).  If you want
  291        to use the MySQL benchmark scripts, Perl support for MySQL
  292        must be available. See Section 2.4.21, "Perl Installation
  293        Notes," for more information.
  294 
  295    The sections immediately following this one contain necessary
  296    information  about choosing, downloading, and verifying your
  297    distribution. The instructions in later sections of the chapter
  298    describe how to install the distribution that you choose. For
  299    binary distributions, see the instructions in Section 2.4.7,
  300    "Standard MySQL Installation Using a Binary Distribution." To
  301    build MySQL from source, use the instructions in Section 2.4.15,
  302    "MySQL Installation Using a Source Distribution."
  303 
  304 2.4.2. Operating Systems Supported by MySQL Community Server
  305 
  306    This section does not apply to MySQL Enterprise Server users.
  307 
  308    This section lists the operating systems on which MySQL Community
  309    Server is known to run.
  310 
  311 Important
  312 
  313    MySQL AB does not necessarily provide official support for all the
  314    platforms listed in this section. For information about those
  315    platforms which MySQL AB officially supports, see MySQL Server
  316    Supported Platforms
  317    (http://www.mysql.com/support/supportedplatforms.html) on the
  318    MySQL Web site.
  319 
  320    We use GNU Autoconf, so it is possible to port MySQL to all modern
  321    systems that have a C++ compiler and a working implementation of
  322    POSIX  threads. (Thread support is needed for the server. To
  323    compile  only the client code, the only requirement is a C++
  324    compiler.)
  325 
  326    MySQL has been reported to compile successfully on the following
  327    combinations of operating system and thread package.
  328      * AIX 4.x and 5.x with native threads. See Section 2.4.19.5.3,
  329        "IBM-AIX notes."
  330      * Amiga.
  331      * FreeBSD 5.x and up with native threads.
  332      * HP-UX 11.x with native threads. See Section 2.4.19.5.2, "HP-UX
  333        Version 11.x Notes."
  334      * Linux. MySQL builds on all fairly recent Linux distributions
  335        with glibc 2.3. See Section 2.4.19.1, "Linux Notes."
  336      * Mac OS X. See Section 2.4.19.2, "Mac OS X Notes."
  337      * NetBSD  1.3/1.4  Intel and NetBSD 1.3 Alpha. See Section
  338        2.4.19.4.2, "NetBSD Notes."
  339      * Novell NetWare 6.0 and 6.5. See Section 2.4.13, "Installing
  340        MySQL on NetWare."
  341      * OpenBSD 2.5 and with native threads. OpenBSD earlier than 2.5
  342        with  the  MIT-pthreads package. See Section 2.4.19.4.3,
  343        "OpenBSD 2.5 Notes."
  344      * SCO OpenServer 5.0.X with a recent port of the FSU Pthreads
  345        package. See Section 2.4.19.5.8, "SCO UNIX and OpenServer
  346        5.0.x Notes."
  347      * SCO Openserver 6.0.x. See Section 2.4.19.5.9, "SCO OpenServer
  348        6.0.x Notes."
  349      * SCO UnixWare 7.1.x. See Section 2.4.19.5.10, "SCO UnixWare
  350        7.1.x and OpenUNIX 8.0.0 Notes."
  351      * SGI Irix 6.x with native threads. See Section 2.4.19.5.7, "SGI
  352        Irix Notes."
  353      * Solaris 2.5 and above with native threads on SPARC and x86.
  354        See Section 2.4.19.3, "Solaris Notes."
  355      * Tru64 Unix. See Section 2.4.19.5.5, "Alpha-DEC-UNIX Notes
  356        (Tru64)."
  357      * Windows 2000, XP, and Windows Server 2003, as well as 32-bit
  358        Windows  Vista.  See Section 2.4.8, "Installing MySQL on
  359        Windows."
  360 
  361    MySQL has also been known to run on other systems in the past. See
  362    Section 2.4.19, "Operating System-Specific Notes." Some porting
  363    effort might be required for current versions of MySQL on these
  364    systems.
  365 
  366    Not all platforms are equally well suited for running MySQL. How
  367    well a certain platform is suited for a high-load mission-critical
  368    MySQL server is determined by the following factors:
  369      * General stability of the thread library.  A platform may have
  370        an excellent reputation otherwise, but MySQL is only as stable
  371        as the thread library it calls, even if everything else is
  372        perfect.
  373      * The capability of the kernel and the thread library to take
  374        advantage of symmetric multi-processor (SMP) systems.  When a
  375        process creates a thread, it should be possible for that
  376        thread to run on a CPU different from the original process.
  377      * Multi-threading and handling of mutexes.  The capability of
  378        the kernel and the thread library to run many threads that
  379        acquire and release a mutex over a short critical region
  380        frequently  without  excessive  context switches. If the
  381        implementation of pthread_mutex_lock() does not easily yield
  382        CPU time, this hurts MySQL tremendously. If this issue is not
  383        taken care of, adding extra CPUs actually makes MySQL slower.
  384      * Filesystem stability and performance.  MySQL's stability and
  385        performance are directly affected by those of the operating
  386        platform's filesystem. In particular, where large tables are
  387        in  use,  performance  is affected by the ability of the
  388        filesystem to deal with large files at all and to deal with
  389        them efficiently.
  390      * Expertise with the platform.  If we know a platform well, we
  391        enable platform-specific optimizations and fixes at compile
  392        time. We can also provide advice on configuring your system
  393        optimally for MySQL. This is also affected by the amount of
  394        testing we have done internally for similar configurations, as
  395        well  as  by  the  number  of  users that have run MySQL
  396        successfully on the platform in similar configurations. If
  397        these  figures  are high, the likelihood of encountering
  398        platform-specific surprises is much smaller.
  399 
  400 2.4.3. Choosing Which MySQL Distribution to Install
  401 
  402    This section does not apply to MySQL Enterprise Server users.
  403 
  404    When preparing to install MySQL, you should decide which version
  405    to use. MySQL development occurs in several release series, and
  406    you can pick the one that best fits your needs. After deciding
  407    which version to install, you can choose a distribution format.
  408    Releases are available in binary or source format.
  409 
  410 2.4.3.1. Choosing Which Version of MySQL to Install
  411 
  412    This section does not apply to MySQL Enterprise Server users.
  413 
  414    The first decision to make is whether you want to use a production
  415    (stable)  release  or  a  development  release. In the MySQL
  416    development process, multiple release series co-exist, each at a
  417    different stage of maturity:
  418      * MySQL 5.1 is the current development release series.
  419      * MySQL 5.0 is the current stable (production-quality) release
  420        series. New releases are issued for bugfixes only; no new
  421        features are being added that could effect stability.
  422      * MySQL   4.1,   4.0   and   3.23   are   the  old  stable
  423        (production-quality) release series. MySQL 4.1 is now at the
  424        end of the product lifecycle. Active development and support
  425        for these versions has ended. Extended support for MySQL 4.1
  426        and 4.0 is available. According to the MySQL Lifecycle Policy
  427        (seehttp://www.mysql.com/company/legal/lifecycle/#policy),
  428        only Security and Severity Level 1 issues will still be fixed
  429        for MySQL 4.0 and 4.1.
  430 
  431    We do not believe in a complete code freeze because this prevents
  432    us from making bugfixes and other fixes that must be done. By
  433    "somewhat frozen" we mean that we may add small things that should
  434    not affect anything that currently works in a production release.
  435    Naturally, relevant bugfixes from an earlier series propagate to
  436    later series.
  437 
  438    Normally, if you are beginning to use MySQL for the first time or
  439    trying to port it to some system for which there is no binary
  440    distribution, we recommend going with the production release
  441    series. Currently, this is MySQL 5.0. All MySQL releases, even
  442    those  from  development  series, are checked with the MySQL
  443    benchmarks and an extensive test suite before being issued.
  444 
  445    If you are running an older system and want to upgrade, but do not
  446    want to take the chance of having a non-seamless upgrade, you
  447    should upgrade to the latest version in the same release series
  448    you are using (where only the last part of the version number is
  449    newer than yours). We have tried to fix only fatal bugs and make
  450    only small, relatively "safe" changes to that version.
  451 
  452    If you want to use new features not present in the production
  453    release series, you can use a version from a development series.
  454    Note that development releases are not as stable as production
  455    releases.
  456 
  457    If you want to use the very latest sources containing all current
  458    patches and bugfixes, you can use one of our Bazaar repositories.
  459    These are not "releases" as such, but are available as previews of
  460    the code on which future releases are to be based.
  461 
  462    The MySQL naming scheme uses release names that consist of three
  463    numbers and a suffix; for example, mysql-5.0.12-beta. The numbers
  464    within the release name are interpreted as follows:
  465      * The first number (5) is the major version and describes the
  466        file format. All MySQL 5 releases have the same file format.
  467      * The second number (0) is the release level. Taken together,
  468        the major version and release level constitute the release
  469        series number.
  470      * The third number (12) is the version number within the release
  471        series. This is incremented for each new release. Usually you
  472        want the latest version for the series you have chosen.
  473 
  474    For each minor update, the last number in the version string is
  475    incremented.  When  there  are  major  new features or minor
  476    incompatibilities with previous versions, the second number in the
  477    version string is incremented. When the file format changes, the
  478    first number is increased.
  479 
  480    Release names also include a suffix to indicates the stability
  481    level of the release. Releases within a series progress through a
  482    set of suffixes to indicate how the stability level improves. The
  483    possible suffixes are:
  484      * alpha indicates that the release is for preview purposes only.
  485        Known bugs should be documented in the News section (see
  486        Appendix E, "MySQL Change History"). Most alpha releases
  487        implement new commands and extensions. Active development that
  488        may involve major code changes can occur in an alpha release.
  489        However, we do conduct testing before issuing a release.
  490      * beta indicates that the release is appropriate for use with
  491        new  development. Within beta releases, the features and
  492        compatibility should remain consistent. However, beta releases
  493        may contain numerous and major unaddressed bugs.
  494        No APIs, externally visible structures, or columns for SQL
  495        statements will change during future beta, release candidate,
  496        or production releases.
  497      * rc indicates a Release Candidate. Release candidates are
  498        believed to be stable, having passed all of MySQL's internal
  499        testing, and with all known fatal runtime bugs fixed. However,
  500        the release has not been in widespread use long enough to know
  501        for sure that all bugs have been identified. Only minor fixes
  502        are added. (A release candidate is what formerly was known as
  503        a gamma release.)
  504      * If there is no suffix, it indicates that the release is a
  505        General Availability (GA) or Production release. GA releases
  506        are stable, having successfully passed through all earlier
  507        release  stages and are believed to be reliable, free of
  508        serious bugs, and suitable for use in production systems. Only
  509        critical bugfixes are applied to the release.
  510 
  511    MySQL uses a naming scheme that is slightly different from most
  512    other products. In general, it is usually safe to use any version
  513    that has been out for a couple of weeks without being replaced by
  514    a new version within the same release series.
  515 
  516    All releases of MySQL are run through our standard tests and
  517    benchmarks to ensure that they are relatively safe to use. Because
  518    the  standard  tests are extended over time to check for all
  519    previously found bugs, the test suite keeps getting better.
  520 
  521    All releases have been tested at least with these tools:
  522      * Our internal test suite.  The mysql-test directory contains an
  523        extensive set of test cases. We run these tests for every
  524        server binary. See Section 28.1.2, "MySQL Test Suite," for
  525        more information about this test suite.
  526      * The MySQL benchmark suite.  This suite runs a range of common
  527        queries. It is also a test to determine whether the latest
  528        batch of optimizations actually made the code faster. See
  529        Section 7.1.4, "The MySQL Benchmark Suite."
  530      * The crash-me test.  This test tries to determine what features
  531        the  database  supports  and  what  its capabilities and
  532        limitations are. See Section 7.1.4, "The MySQL Benchmark
  533        Suite."
  534 
  535    We also test the newest MySQL version in our internal production
  536    environment, on at least one machine. We have more than 100GB of
  537    data to work with.
  538 
  539 2.4.3.2. Choosing a Distribution Format
  540 
  541    This section does not apply to MySQL Enterprise Server users.
  542 
  543    After choosing which version of MySQL to install, you should
  544    decide  whether  to  use  a  binary distribution or a source
  545    distribution. In most cases, you should probably use a binary
  546    distribution,  if  one  exists  for  your  platform.  Binary
  547    distributions are available in native format for many platforms,
  548    such as RPM files for Linux or PKG package installers for Mac OS X
  549    or Solaris. Distributions also are available as Zip archives or
  550    compressed tar files.
  551 
  552    Reasons to choose a binary distribution include the following:
  553      * Binary distributions generally are easier to install than
  554        source distributions.
  555      * To satisfy different user requirements, we provide several
  556        servers in binary distributions. mysqld is an optimized server
  557        that is a smaller, faster binary. mysqld-debug is compiled
  558        with debugging support.
  559        Each  of  these servers is compiled from the same source
  560        distribution, though with different configuration options. All
  561        native MySQL clients can connect to servers from either MySQL
  562        version.
  563 
  564    Under some circumstances, you may be better off installing MySQL
  565    from a source distribution:
  566      * You want to install MySQL at some explicit location. The
  567        standard  binary  distributions  are ready to run at any
  568        installation  location,  but you might require even more
  569        flexibility to place MySQL components where you want.
  570      * You want to configure mysqld to ensure that features are
  571        available that might not be included in the standard binary
  572        distributions. Here is a list of the most common extra options
  573        that you may want to use to ensure feature availability:
  574           + --with-berkeley-db (not available on all platforms)
  575           + --with-libwrap
  576           + --with-named-z-libs  (this  is done for some of the
  577             binaries)
  578           + --with-debug[=full]
  579      * You want to configure mysqld without some features that are
  580        included in the standard binary distributions. For example,
  581        distributions normally are compiled with support for all
  582        character sets. If you want a smaller MySQL server, you can
  583        recompile it with support for only the character sets you
  584        need.
  585      * You have a special compiler (such as pgcc) or want to use
  586        compiler options that are better optimized for your processor.
  587        Binary distributions are compiled with options that should
  588        work  on a variety of processors from the same processor
  589        family.
  590      * You want to use the latest sources from one of the Bazaar
  591        repositories to have access to all current bugfixes. For
  592        example, if you have found a bug and reported it to the MySQL
  593        development  team, the bugfix is committed to the source
  594        repository and you can access it there. The bugfix does not
  595        appear in a release until a release actually is issued.
  596      * You want to read (or modify) the C and C++ code that makes up
  597        MySQL. For this purpose, you should get a source distribution,
  598        because the source code is always the ultimate manual.
  599      * Source distributions contain more tests and examples than
  600        binary distributions.
  601 
  602 2.4.3.3. How and When Updates Are Released
  603 
  604    MySQL  is  evolving  quite  rapidly and we want to share new
  605    developments with other MySQL users. We try to produce a new
  606    release whenever we have new and useful features that others also
  607    seem to have a need for.
  608 
  609    We also try to help users who request features that are easy to
  610    implement. We take note of what our licensed users want, and we
  611    especially take note of what our support customers want and try to
  612    help them in this regard.
  613 
  614    No one is required to download a new release. The News section
  615    helps you determine whether the new release has something you
  616    really want. See Appendix E, "MySQL Change History."
  617 
  618    We use the following policy when updating MySQL:
  619      * Enterprise  Server releases are meant to appear every 18
  620        months, supplemented by quarterly service packs and monthly
  621        rapid updates. Community Server releases are meant to appear
  622        2-3 times per year.
  623      * Releases are issued within each series. Enterprise Server
  624        releases  are  numbered using even numbers (for example,
  625        5.0.20). Community Server releases are numbered using odd
  626        numbers (for example, 5.0.21).
  627      * Binary distributions for some platforms are made by us for
  628        major releases. Other people may make binary distributions for
  629        other systems, but probably less frequently.
  630      * We make fixes available as soon as we have identified and
  631        corrected small or non-critical but annoying bugs. The fixes
  632        are available in source form immediately from our public
  633        Bazaar repositories, and are included in the next release.
  634      * If by any chance a security vulnerability or critical bug is
  635        found in a release, our policy is to fix it in a new release
  636        as soon as possible. (We would like other companies to do
  637        this, too!)
  638 
  639 2.4.3.4. MySQL Binaries Compiled by MySQL AB
  640 
  641    This section does not apply to MySQL Enterprise Server users.
  642 
  643    As a service of MySQL AB, we provide a set of binary distributions
  644    of MySQL that are compiled on systems at our site or on systems
  645    where supporters of MySQL kindly have given us access to their
  646    machines.
  647 
  648    In addition to the binaries provided in platform-specific package
  649    formats, we offer binary distributions for a number of platforms
  650    in the form of compressed tar files (.tar.gz files). See Section
  651    2.4.7, "Standard MySQL Installation Using a Binary Distribution."
  652 
  653    The  RPM  distributions  for MySQL 5.0 releases that we make
  654    available through our Web site are generated by MySQL AB.
  655 
  656    For Windows distributions, see Section 2.4.8, "Installing MySQL on
  657    Windows."
  658 
  659    These   distributions   are   generated   using  the  script
  660    scripts/make_binary_distribution.
  661 
  662    The binaries are configured and built with the following compilers
  663    and options. This information can also be obtained by looking at
  664    the variables COMP_ENV_INFO and CONFIGURE_LINE inside the script
  665    bin/mysqlbug of every binary tar file distribution.
  666 
  667    Anyone who has more optimal options for any of the following
  668    configure commands can mail them to the MySQL internals mailing
  669    list. See Section 1.6.1, "MySQL Mailing Lists."
  670 
  671    If you want to compile a debug version of MySQL, you should add
  672    --with-debug or --with-debug=full to the following configure
  673    commands and remove any -fomit-frame-pointer options.
  674 
  675    The following binaries are built on MySQL AB development systems:
  676      * Linux 2.4.xx x86 with gcc 2.95.3:
  677 CFLAGS="-O2 -mcpu=pentiumpro" CXX=gcc CXXFLAGS="-O2 -mcpu=pentiumpro
  678 -felide-constructors" ./configure --prefix=/usr/local/mysql
  679 --with-extra-charsets=complex --enable-thread-safe-client
  680 --enable-local-infile --enable-assembler --disable-shared
  681 --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static
  682      * Linux 2.4.x x86 with icc (Intel C++ Compiler 8.1 or later
  683        releases):
  684 CC=icc CXX=icpc CFLAGS="-O3 -unroll2 -ip -mp -no-gcc -restrict"
  685 CXXFLAGS="-O3 -unroll2 -ip -mp -no-gcc -restrict" ./configure
  686 --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data
  687 --libexecdir=/usr/local/mysql/bin --with-extra-charsets=complex
  688 --enable-thread-safe-client --enable-local-infile --enable-assembler
  689 --disable-shared --with-client-ldflags=-all-static
  690 --with-mysqld-ldflags=-all-static --with-embedded-server --with-innod
  691 b
  692 
  693 Note
  694        Versions 8.1 and newer of the Intel compiler have separate
  695        drivers for 'pure' C (icc) and C++ (icpc); if you use icc
  696        version 8.0 or older for building MySQL, you need to set
  697        CXX=icc.
  698      * Linux 2.4.xx Intel Itanium 2 with ecc (Intel C++ Itanium
  699        Compiler 7.0):
  700 CC=ecc CFLAGS="-O2 -tpp2 -ip -nolib_inline" CXX=ecc CXXFLAGS="-O2
  701 -tpp2 -ip -nolib_inline" ./configure --prefix=/usr/local/mysql
  702 --with-extra-charsets=complex --enable-thread-safe-client
  703 --enable-local-infile
  704      * Linux  2.4.xx  Intel Itanium with ecc (Intel C++ Itanium
  705        Compiler 7.0):
  706 CC=ecc CFLAGS=-tpp1 CXX=ecc CXXFLAGS=-tpp1 ./configure
  707 --prefix=/usr/local/mysql --with-extra-charsets=complex
  708 --enable-thread-safe-client --enable-local-infile
  709      * Linux 2.4.xx alpha with ccc (Compaq C V6.2-505 / Compaq C++
  710        V6.3-006):
  711 CC=ccc CFLAGS="-fast -arch generic" CXX=cxx CXXFLAGS="-fast -arch
  712 generic -noexceptions -nortti" ./configure --prefix=/usr/local/mysql
  713 --with-extra-charsets=complex --enable-thread-safe-client
  714 --enable-local-infile --with-mysqld-ldflags=-non_shared
  715 --with-client-ldflags=-non_shared --disable-shared
  716      * Linux 2.x.xx ppc with gcc 2.95.4:
  717 CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-O3
  718 -fno-omit-frame-pointer -felide-constructors -fno-exceptions
  719 -fno-rtti" ./configure --prefix=/usr/local/mysql
  720 --localstatedir=/usr/local/mysql/data --libexecdir=/usr/local/mysql/b
  721 in
  722 --with-extra-charsets=complex --enable-thread-safe-client
  723 --enable-local-infile --disable-shared --with-embedded-server
  724 --with-innodb
  725      * Linux 2.4.xx s390 with gcc 2.95.3:
  726 CFLAGS="-O2" CXX=gcc CXXFLAGS="-O2 -felide-constructors" ./configure
  727 --prefix=/usr/local/mysql --with-extra-charsets=complex
  728 --enable-thread-safe-client --enable-local-infile --disable-shared
  729 --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static
  730      * Linux 2.4.xx x86_64 (AMD64) with gcc 3.2.1:
  731 CXX=gcc ./configure --prefix=/usr/local/mysql
  732 --with-extra-charsets=complex --enable-thread-safe-client
  733 --enable-local-infile --disable-shared
  734      * Sun Solaris 8 x86 with gcc 3.2.3:
  735 CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-O3
  736 -fno-omit-frame-pointer -felide-constructors -fno-exceptions
  737 -fno-rtti" ./configure --prefix=/usr/local/mysql
  738 --localstatedir=/usr/local/mysql/data --libexecdir=/usr/local/mysql/b
  739 in
  740 --with-extra-charsets=complex --enable-thread-safe-client
  741 --enable-local-infile --disable-shared --with-innodb
  742      * Sun Solaris 8 SPARC with gcc 3.2:
  743 CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-O3
  744 -fno-omit-frame-pointer -felide-constructors -fno-exceptions
  745 -fno-rtti" ./configure --prefix=/usr/local/mysql
  746 --with-extra-charsets=complex --enable-thread-safe-client
  747 --enable-local-infile --enable-assembler --with-named-z-libs=no
  748 --with-named-curses-libs=-lcurses --disable-shared
  749      * Sun Solaris 8 SPARC 64-bit with gcc 3.2:
  750 CC=gcc CFLAGS="-O3 -m64 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-O
  751 3
  752 -m64 -fno-omit-frame-pointer -felide-constructors -fno-exceptions
  753 -fno-rtti" ./configure --prefix=/usr/local/mysql
  754 --with-extra-charsets=complex --enable-thread-safe-client
  755 --enable-local-infile --with-named-z-libs=no
  756 --with-named-curses-libs=-lcurses --disable-shared
  757      * Sun Solaris 9 SPARC with gcc 2.95.3:
  758 CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-O3
  759 -fno-omit-frame-pointer -felide-constructors -fno-exceptions
  760 -fno-rtti" ./configure --prefix=/usr/local/mysql
  761 --with-extra-charsets=complex --enable-thread-safe-client
  762 --enable-local-infile --enable-assembler --with-named-curses-libs=-lc
  763 urses
  764 --disable-shared
  765      * Sun Solaris 9 SPARC with cc-5.0 (Sun Forte 5.0):
  766 CC=cc-5.0 CXX=CC ASFLAGS="-xarch=v9" CFLAGS="-Xa -xstrconst -mt
  767 -D_FORTEC_ -xarch=v9" CXXFLAGS="-noex -mt -D_FORTEC_ -xarch=v9"
  768 ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex
  769 --enable-thread-safe-client --enable-local-infile --enable-assembler
  770 --with-named-z-libs=no --enable-thread-safe-client --disable-shared
  771      * IBM AIX 4.3.2 ppc with gcc 3.2.3:
  772 CFLAGS="-O2 -mcpu=powerpc -Wa,-many " CXX=gcc CXXFLAGS="-O2
  773 -mcpu=powerpc -Wa,-many -felide-constructors -fno-exceptions
  774 -fno-rtti" ./configure --prefix=/usr/local/mysql
  775 --with-extra-charsets=complex --enable-thread-safe-client
  776 --enable-local-infile --with-named-z-libs=no --disable-shared
  777      * IBM AIX 4.3.3 ppc with xlC_r (IBM Visual Age C/C++ 6.0):
  778 CC=xlc_r CFLAGS="-ma -O2 -qstrict -qoptimize=2 -qmaxmem=8192"
  779 CXX=xlC_r CXXFLAGS ="-ma -O2 -qstrict -qoptimize=2 -qmaxmem=8192"
  780 ./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysq
  781 l/data
  782 --libexecdir=/usr/local/mysql/bin --with-extra-charsets=complex
  783 --enable-thread-safe-client --enable-local-infile --with-named-z-libs
  784 =no
  785 --disable-shared --with-innodb
  786      * IBM AIX 5.1.0 ppc with gcc 3.3:
  787 CFLAGS="-O2 -mcpu=powerpc -Wa,-many" CXX=gcc CXXFLAGS="-O2 -mcpu=powe
  788 rpc
  789 -Wa,-many -felide-constructors -fno-exceptions -fno-rtti" ./configure
  790 --prefix=/usr/local/mysql --with-extra-charsets=complex
  791 --enable-thread-safe-client --enable-local-infile --with-named-z-libs
  792 =no
  793 --disable-shared
  794      * IBM AIX 5.2.0 ppc with xlC_r (IBM Visual Age C/C++ 6.0):
  795 CC=xlc_r CFLAGS="-ma -O2 -qstrict -qoptimize=2 -qmaxmem=8192"
  796 CXX=xlC_r CXXFLAGS="-ma -O2 -qstrict -qoptimize=2 -qmaxmem=8192"
  797 ./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysq
  798 l/data
  799 --libexecdir=/usr/local/mysql/bin --with-extra-charsets=complex
  800 --enable-thread-safe-client --enable-local-infile --with-named-z-libs
  801 =no
  802 --disable-shared --with-embedded-server --with-innodb
  803      * HP-UX 10.20 pa-risc1.1 with gcc 3.1:
  804 CFLAGS="-DHPUX -I/opt/dce/include -O3 -fPIC" CXX=gcc CXXFLAGS="-DHPUX
  805 -I/opt/dce /include -felide-constructors -fno-exceptions -fno-rtti
  806 -O3 -fPIC" ./configure --prefix=/usr/local/mysql
  807 --with-extra-charsets=complex --enable-thread-safe-client
  808 --enable-local-infile --with-pthread --with-named-thread-libs=-ldce
  809 --with-lib-ccflags=-fPIC --disable-shared
  810      * HP-UX 11.00 pa-risc with aCC (HP ANSI C++ B3910B A.03.50):
  811 CC=cc CXX=aCC CFLAGS=+DAportable CXXFLAGS=+DAportable ./configure
  812 --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data
  813 --libexecdir=/usr/local/mysql/bin --with-extra-charsets=complex
  814 --enable-thread-safe-client --enable-local-infile --disable-shared
  815 --with-embedded-server --with-innodb
  816      * HP-UX 11.11 pa-risc2.0 64bit with aCC (HP ANSI C++ B3910B
  817        A.03.33):
  818 CC=cc CXX=aCC CFLAGS=+DD64 CXXFLAGS=+DD64 ./configure
  819 --prefix=/usr/local/mysql --with-extra-charsets=complex
  820 --enable-thread-safe-client --enable-local-infile --disable-shared
  821      * HP-UX 11.11 pa-risc2.0 32bit with aCC (HP ANSI C++ B3910B
  822        A.03.33):
  823 CC=cc CXX=aCC CFLAGS="+DAportable" CXXFLAGS="+DAportable" ./configure
  824 --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data
  825 --libexecdir=/usr/local/mysql/bin --with-extra-charsets=complex
  826 --enable-thread-safe-client --enable-local-infile --disable-shared
  827 --with-innodb
  828      * HP-UX  11.22  ia64 64bit with aCC (HP aC++/ANSI C B3910B
  829        A.05.50):
  830 CC=cc CXX=aCC CFLAGS="+DD64 +DSitanium2" CXXFLAGS="+DD64 +DSitanium2"
  831 ./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysq
  832 l/data
  833 --libexecdir=/usr/local/mysql/bin --with-extra-charsets=complex
  834 --enable-thread-safe-client --enable-local-infile --disable-shared
  835 --with-embedded-server --with-innodb
  836      * Apple Mac OS X 10.2 powerpc with gcc 3.1:
  837 CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-O3
  838 -fno-omit-frame-pointer -felide-constructors -fno-exceptions
  839 -fno-rtti" ./configure --prefix=/usr/local/mysql
  840 --with-extra-charsets=complex --enable-thread-safe-client
  841 --enable-local-infile --disable-shared
  842      * FreeBSD 4.7 i386 with gcc 2.95.4:
  843 CFLAGS=-DHAVE_BROKEN_REALPATH ./configure --prefix=/usr/local/mysql
  844 --with-extra-charsets=complex --enable-thread-safe-client
  845 --enable-local-infile --enable-assembler --with-named-z-libs=not-used
  846 --disable-shared
  847      * FreeBSD 4.7 i386 using LinuxThreads with gcc 2.95.4:
  848 CFLAGS="-DHAVE_BROKEN_REALPATH -D__USE_UNIX98 -D_REENTRANT
  849 -D_THREAD_SAFE -I/usr/local/include/pthread/linuxthreads"
  850 CXXFLAGS="-DHAVE_BROKEN_REALPATH -D__USE_UNIX98 -D_REENTRANT
  851 -D_THREAD_SAFE -I/usr/local/include/pthread/linuxthreads" ./configure
  852 --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data
  853 --libexecdir=/usr/local/mysql/bin --enable-thread-safe-client
  854 --enable-local-infile --enable-assembler
  855 --with-named-thread-libs="-DHAVE_GLIBC2_STYLE_GETHOSTBYNAME_R
  856 -D_THREAD_SAFE -I /usr/local/include/pthread/linuxthreads
  857 -L/usr/local/lib -llthread -llgcc_r" --disable-shared
  858 --with-embedded-server --with-innodb
  859      * QNX Neutrino 6.2.1 i386 with gcc 2.95.3qnx-nto 20010315:
  860 CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-O3
  861 -fno-omit-frame-pointer -felide-constructors -fno-exceptions
  862 -fno-rtti" ./configure --prefix=/usr/local/mysql
  863 --with-extra-charsets=complex --enable-thread-safe-client
  864 --enable-local-infile --disable-shared
  865 
  866    The following binaries are built on third-party systems kindly
  867    provided to MySQL AB by other users. These are provided only as a
  868    courtesy; MySQL AB does not have full control over these systems,
  869    so we can provide only limited support for the binaries built on
  870    them.
  871      * SCO Unix 3.2v5.0.7 i386 with gcc 2.95.3:
  872 CFLAGS="-O3 -mpentium" LDFLAGS=-static CXX=gcc CXXFLAGS="-O3 -mpentiu
  873 m
  874 -felide-constructors" ./configure --prefix=/usr/local/mysql
  875 --with-extra-charsets=complex --enable-thread-safe-client
  876 --enable-local-infile --with-named-z-libs=no --enable-thread-safe-cli
  877 ent
  878 --disable-shared
  879      * SCO UnixWare 7.1.4 i386 with CC 3.2:
  880 CC=cc CFLAGS="-O" CXX=CC ./configure --prefix=/usr/local/mysql
  881 --with-extra-charsets=complex --enable-thread-safe-client
  882 --enable-local-infile --with-named-z-libs=no --enable-thread-safe-cli
  883 ent
  884 --disable-shared --with-readline
  885      * SCO OpenServer 6.0.0 i386 with CC 3.2:
  886 CC=cc CFLAGS="-O" CXX=CC ./configure --prefix=/usr/local/mysql
  887 --with-extra-charsets=complex --enable-thread-safe-client
  888 --enable-local-infile --with-named-z-libs=no --enable-thread-safe-cli
  889 ent
  890 --disable-shared --with-readline
  891      * Compaq  Tru64 OSF/1 V5.1 732 alpha with cc/cxx (Compaq C
  892        V6.3-029i / DIGITAL C++ V6.1-027):
  893 CC="cc -pthread" CFLAGS="-O4 -ansi_alias -ansi_args -fast -inline
  894 speed -speculate all" CXX="cxx -pthread" CXXFLAGS="-O4 -ansi_alias
  895 -fast -inline speed -speculate all -noexceptions -nortti" ./configure
  896 --prefix=/usr/local/mysql --with-extra-charsets=complex
  897 --enable-thread-safe-client --enable-local-infile
  898 --with-named-thread-libs="-lpthread -lmach -lexc -lc" --disable-share
  899 d
  900 --with-mysqld-ldflags=-all-static
  901      * SGI Irix 6.5 IP32 with gcc 3.0.1:
  902 CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXXFLAGS="-O3
  903 -fno-omit-frame-pointer -felide-constructors -fno-exceptions
  904 -fno-rtti" ./configure --prefix=/usr/local/mysql
  905 --with-extra-charsets=complex --enable-thread-safe-client
  906 --enable-local-infile --disable-shared
  907      * FreeBSD/sparc64 5.0 with gcc 3.2.1:
  908 CFLAGS=-DHAVE_BROKEN_REALPATH ./configure --prefix=/usr/local/mysql
  909 --localstatedir=/usr/local/mysql/data --libexecdir=/usr/local/mysql/b
  910 in
  911 --with-extra-charsets=complex --enable-thread-safe-client
  912 --enable-local-infile --disable-shared --with-innodb
  913 
  914    The following compile options have been used for binary packages
  915    that MySQL AB provided in the past. These binaries no longer are
  916    being  updated,  but the compile options are listed here for
  917    reference purposes.
  918      * Linux 2.2.xx SPARC with egcs 1.1.2:
  919 CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-O3
  920 -fno-omit-frame-pointer -felide-constructors -fno-exceptions
  921 -fno-rtti" ./configure --prefix=/usr/local/mysql
  922 --with-extra-charsets=complex --enable-thread-safe-client
  923 --enable-local-infile --enable-assembler --disable-shared
  924      * Linux 2.2.x x86 with gcc 2.95.2:
  925 CFLAGS="-O3 -mpentiumpro" CXX=gcc CXXFLAGS="-O3 -mpentiumpro
  926 -felide-constructors -fno-exceptions -fno-rtti" ./configure
  927 --prefix=/usr/local/mysql --enable-assembler
  928 --with-mysqld-ldflags=-all-static --disable-shared
  929 --with-extra-charsets=complex
  930      * SunOS 4.1.4 2 sun4c with gcc 2.7.2.1:
  931 CC=gcc CXX=gcc CXXFLAGS="-O3 -felide-constructors" ./configure
  932 --prefix=/usr/local/mysql --disable-shared --with-extra-charsets=comp
  933 lex
  934 --enable-assembler
  935      * SunOS 5.5.1 (and above) sun4u with egcs 1.0.3a or 2.90.27 or
  936        gcc 2.95.2 and newer:
  937 CC=gcc CFLAGS="-O3" CXX=gcc CXXFLAGS="-O3 -felide-constructors
  938 -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql
  939 --with-low-memory --with-extra-charsets=complex --enable-assembler
  940      * SunOS 5.6 i86pc with gcc 2.8.1:
  941 CC=gcc CXX=gcc CXXFLAGS=-O3 ./configure --prefix=/usr/local/mysql
  942 --with-low-memory --with-extra-charsets=complex
  943      * BSDI BSD/OS 3.1 i386 with gcc 2.7.2.1:
  944 CC=gcc CXX=gcc CXXFLAGS=-O ./configure --prefix=/usr/local/mysql
  945 --with-extra-charsets=complex
  946      * BSDI BSD/OS 2.1 i386 with gcc 2.7.2:
  947 CC=gcc CXX=gcc CXXFLAGS=-O3 ./configure --prefix=/usr/local/mysql
  948 --with-extra-charsets=complex
  949      * AIX 4.2 with gcc 2.7.2.2:
  950 CC=gcc CXX=gcc CXXFLAGS=-O3 ./configure --prefix=/usr/local/mysql
  951 --with-extra-charsets=complex
  952 
  953 2.4.4. How to Get MySQL
  954 
  955    This section does not apply to MySQL Enterprise Server users.
  956 
  957    Check our downloads page at http://dev.mysql.com/downloads/ for
  958    information about the current version of MySQL and for downloading
  959    instructions. For a complete up-to-date list of MySQL download
  960    mirror sites, see http://dev.mysql.com/downloads/mirrors.html. You
  961    can also find information there about becoming a MySQL mirror site
  962    and how to report a bad or out-of-date mirror.
  963 
  964    Our main mirror is located at http://mirrors.sunsite.dk/mysql/.
  965 
  966 2.4.5. Verifying Package Integrity Using MD5 Checksums or GnuPG
  967 
  968    This section does not apply to MySQL Enterprise Server users.
  969 
  970    After you have downloaded the MySQL package that suits your needs
  971    and before you attempt to install it, you should make sure that it
  972    is intact and has not been tampered with. MySQL AB offers three
  973    means of integrity checking:
  974      * MD5 checksums
  975      * Cryptographic signatures using GnuPG, the GNU Privacy Guard
  976      * For RPM packages, the built-in RPM integrity verification
  977        mechanism
  978 
  979    The following sections describe how to use these methods.
  980 
  981    If you notice that the MD5 checksum or GPG signatures do not
  982    match, first try to download the respective package one more time,
  983    perhaps  from  another mirror site. If you repeatedly cannot
  984    successfully verify the integrity of the package, please notify us
  985    about such incidents, including the full package name and the
  986    download site you have been using, at webmaster@mysql.com or
  987    build@mysql.com. Do not report downloading problems using the
  988    bug-reporting system.
  989 
  990 2.4.5.1. Verifying the MD5 Checksum
  991 
  992    This section does not apply to MySQL Enterprise Server users.
  993 
  994    After you have downloaded a MySQL package, you should make sure
  995    that  its MD5 checksum matches the one provided on the MySQL
  996    download pages. Each package has an individual checksum that you
  997    can verify with the following command, where package_name is the
  998    name of the package you downloaded:
  999 shell> md5sum package_name
 1000 
 1001    Example:
 1002 shell> md5sum mysql-standard-5.0.68-linux-i686.tar.gz
 1003 aaab65abbec64d5e907dcd41b8699945  mysql-standard-5.0.68-linux-i686.ta
 1004 r.gz
 1005 
 1006    You should verify that the resulting checksum (the string of
 1007    hexadecimal digits) matches the one displayed on the download page
 1008    immediately below the respective package.
 1009 
 1010 Note
 1011 
 1012    Make sure to verify the checksum of the archive file (for example,
 1013    the .zip or .tar.gz file) and not of the files that are contained
 1014    inside of the archive.
 1015 
 1016    Note that not all operating systems support the md5sum command. On
 1017    some, it is simply called md5, and others do not ship it at all.
 1018    On Linux, it is part of the GNU Text Utilities package, which is
 1019    available for a wide range of platforms. You can download the
 1020    source code from http://www.gnu.org/software/textutils/ as well.
 1021    If you have OpenSSL installed, you can use the command openssl md5
 1022    package_name instead. A Windows implementation of the md5 command
 1023    line utility is available from http://www.fourmilab.ch/md5/.
 1024    winMd5Sum is a graphical MD5 checking tool that can be obtained
 1025    from http://www.nullriver.com/index/products/winmd5sum.
 1026 
 1027 2.4.5.2. Signature Checking Using GnuPG
 1028 
 1029    This section does not apply to MySQL Enterprise Server users.
 1030 
 1031    Another method of verifying the integrity and authenticity of a
 1032    package is to use cryptographic signatures. This is more reliable
 1033    than using MD5 checksums, but requires more work.
 1034 
 1035    At MySQL AB, we sign MySQL downloadable packages with GnuPG (GNU
 1036    Privacy  Guard).  GnuPG is an Open Source alternative to the
 1037    well-known Pretty Good Privacy (PGP) by Phil Zimmermann. See
 1038    http://www.gnupg.org/ for more information about GnuPG and how to
 1039    obtain and install it on your system. Most Linux distributions
 1040    ship with GnuPG installed by default. For more information about
 1041    GnuPG, see http://www.openpgp.org/.
 1042 
 1043    To verify the signature for a specific package, you first need to
 1044    obtain a copy of MySQL AB's public GPG build key, which you can
 1045    download from http://www.keyserver.net/. The key that you want to
 1046    obtain is named build@mysql.com. Alternatively, you can cut and
 1047    paste the key directly from the following text:
 1048 Key ID:
 1049 pub  1024D/5072E1F5 2003-02-03
 1050      MySQL Package signing key (www.mysql.com) <build@mysql.com>
 1051 Fingerprint: A4A9 4068 76FC BD3C 4567  70C8 8C71 8D3B 5072 E1F5
 1052 
 1053 Public Key (ASCII-armored):
 1054 
 1055 -----BEGIN PGP PUBLIC KEY BLOCK-----
 1056 Version: GnuPG v1.0.6 (GNU/Linux)
 1057 Comment: For info see http://www.gnupg.org
 1058 
 1059 mQGiBD4+owwRBAC14GIfUfCyEDSIePvEW3SAFUdJBtoQHH/nJKZyQT7h9bPlUWC3
 1060 RODjQReyCITRrdwyrKUGku2FmeVGwn2u2WmDMNABLnpprWPkBdCk96+OmSLN9brZ
 1061 fw2vOUgCmYv2hW0hyDHuvYlQA/BThQoADgj8AW6/0Lo7V1W9/8VuHP0gQwCgvzV3
 1062 BqOxRznNCRCRxAuAuVztHRcEAJooQK1+iSiunZMYD1WufeXfshc57S/+yeJkegNW
 1063 hxwR9pRWVArNYJdDRT+rf2RUe3vpquKNQU/hnEIUHJRQqYHo8gTxvxXNQc7fJYLV
 1064 K2HtkrPbP72vwsEKMYhhr0eKCbtLGfls9krjJ6sBgACyP/Vb7hiPwxh6rDZ7ITnE
 1065 kYpXBACmWpP8NJTkamEnPCia2ZoOHODANwpUkP43I7jsDmgtobZX9qnrAXw+uNDI
 1066 QJEXM6FSbi0LLtZciNlYsafwAPEOMDKpMqAK6IyisNtPvaLd8lH0bPAnWqcyefep
 1067 rv0sxxqUEMcM3o7wwgfN83POkDasDbs3pjwPhxvhz6//62zQJ7Q7TXlTUUwgUGFj
 1068 a2FnZSBzaWduaW5nIGtleSAod3d3Lm15c3FsLmNvbSkgPGJ1aWxkQG15c3FsLmNv
 1069 bT6IXQQTEQIAHQUCPj6jDAUJCWYBgAULBwoDBAMVAwIDFgIBAheAAAoJEIxxjTtQ
 1070 cuH1cY4AnilUwTXn8MatQOiG0a/bPxrvK/gCAJ4oinSNZRYTnblChwFaazt7PF3q
 1071 zIhMBBMRAgAMBQI+PqPRBYMJZgC7AAoJEElQ4SqycpHyJOEAn1mxHijft00bKXvu
 1072 cSo/pECUmppiAJ41M9MRVj5VcdH/KN/KjRtW6tHFPYhMBBMRAgAMBQI+QoIDBYMJ
 1073 YiKJAAoJELb1zU3GuiQ/lpEAoIhpp6BozKI8p6eaabzF5MlJH58pAKCu/ROofK8J
 1074 Eg2aLos+5zEYrB/LsrkCDQQ+PqMdEAgA7+GJfxbMdY4wslPnjH9rF4N2qfWsEN/l
 1075 xaZoJYc3a6M02WCnHl6ahT2/tBK2w1QI4YFteR47gCvtgb6O1JHffOo2HfLmRDRi
 1076 Rjd1DTCHqeyX7CHhcghj/dNRlW2Z0l5QFEcmV9U0Vhp3aFfWC4Ujfs3LU+hkAWzE
 1077 7zaD5cH9J7yv/6xuZVw411x0h4UqsTcWMu0iM1BzELqX1DY7LwoPEb/O9Rkbf4fm
 1078 Le11EzIaCa4PqARXQZc4dhSinMt6K3X4BrRsKTfozBu74F47D8Ilbf5vSYHbuE5p
 1079 /1oIDznkg/p8kW+3FxuWrycciqFTcNz215yyX39LXFnlLzKUb/F5GwADBQf+Lwqq
 1080 a8CGrRfsOAJxim63CHfty5mUc5rUSnTslGYEIOCR1BeQauyPZbPDsDD9MZ1ZaSaf
 1081 anFvwFG6Llx9xkU7tzq+vKLoWkm4u5xf3vn55VjnSd1aQ9eQnUcXiL4cnBGoTbOW
 1082 I39EcyzgslzBdC++MPjcQTcA7p6JUVsP6oAB3FQWg54tuUo0Ec8bsM8b3Ev42Lmu
 1083 QT5NdKHGwHsXTPtl0klk4bQk4OajHsiy1BMahpT27jWjJlMiJc+IWJ0mghkKHt92
 1084 6s/ymfdf5HkdQ1cyvsz5tryVI3Fx78XeSYfQvuuwqp2H139pXGEkg0n6KdUOetdZ
 1085 Whe70YGNPw1yjWJT1IhMBBgRAgAMBQI+PqMdBQkJZgGAAAoJEIxxjTtQcuH17p4A
 1086 n3r1QpVC9yhnW2cSAjq+kr72GX0eAJ4295kl6NxYEuFApmr1+0uUq/SlsQ==
 1087 =YJkx
 1088 -----END PGP PUBLIC KEY BLOCK-----
 1089 
 1090    To import the build key into your personal public GPG keyring, use
 1091    gpg --import. For example, if you have saved the key in a file
 1092    named mysql_pubkey.asc, the import command looks like this:
 1093 shell> gpg --import mysql_pubkey.asc
 1094 
 1095    After you have downloaded and imported the public build key,
 1096    download  your  desired  MySQL package and the corresponding
 1097    signature, which also is available from the download page. The
 1098    signature file has the same name as the distribution file with an
 1099    .asc extension. For example:
 1100    Distribution file mysql-standard-5.0.68-linux-i686.tar.gz
 1101    Signature file    mysql-standard-5.0.68-linux-i686.tar.gz.asc
 1102 
 1103    Make sure that both files are stored in the same directory and
 1104    then run the following command to verify the signature for the
 1105    distribution file:
 1106 shell> gpg --verify package_name.asc
 1107 
 1108    Example:
 1109 shell> gpg --verify mysql-standard-5.0.68-linux-i686.tar.gz.asc
 1110 gpg: Signature made Tue 12 Jul 2005 23:35:41 EST using DSA key ID 507
 1111 2E1F5
 1112 gpg: Good signature from "MySQL Package signing key (www.mysql.com) <
 1113 build@mysql.com>"
 1114 
 1115    The Good signature message indicates that everything is all right.
 1116    You can ignore any insecure memory warning you might obtain.
 1117 
 1118    See the GPG documentation for more information on how to work with
 1119    public keys.
 1120 
 1121 2.4.5.3. Signature Checking Using RPM
 1122 
 1123    This section does not apply to MySQL Enterprise Server users.
 1124 
 1125    For RPM packages, there is no separate signature. RPM packages
 1126    have a built-in GPG signature and MD5 checksum. You can verify a
 1127    package by running the following command:
 1128 shell> rpm --checksig package_name.rpm
 1129 
 1130    Example:
 1131 shell> rpm --checksig MySQL-server-5.0.68-0.glibc23.i386.rpm
 1132 MySQL-server-5.0.68-0.glibc23.i386.rpm: md5 gpg OK
 1133 
 1134 Note
 1135 
 1136    If you are using RPM 4.1 and it shows the error (GPG) NOT OK
 1137    (MISSING KEYS: GPG#5072e1f5) even though you have imported the
 1138    MySQL public build key into your own GPG keyring, you need to
 1139    import the key into the RPM keyring first. RPM 4.1 no longer uses
 1140    your personal GPG keyring (or GPG itself). Rather, it maintains
 1141    its own keyring because it is a system-wide application and a
 1142    user's GPG public keyring is a user-specific file. To import the
 1143    MySQL public key into the RPM keyring, first obtain the key as
 1144    described in Section 2.4.5.2, "Signature Checking Using GnuPG."
 1145    Then use rpm --import to import the key. For example, if you have
 1146    saved the public key in a file named mysql_pubkey.asc, import it
 1147    using this command:
 1148 shell> rpm --import mysql_pubkey.asc
 1149 
 1150    If you need to obtain the MySQL public key, see Section 2.4.5.2,
 1151    "Signature Checking Using GnuPG."
 1152 
 1153 2.4.6. Installation Layouts
 1154 
 1155    This section describes the default layout of the directories
 1156    created by installing binary or source distributions provided by
 1157    MySQL AB. A distribution provided by another vendor might use a
 1158    layout different from those shown here.
 1159 
 1160    For MySQL 5.0 on Windows, the default installation directory is
 1161    C:\Program Files\MySQL\MySQL Server 5.0. (Some Windows users
 1162    prefer to install in C:\mysql, the directory that formerly was
 1163    used as the default. However, the layout of the subdirectories
 1164    remains the same.) The installation directory has the following
 1165    subdirectories:
 1166    Directory Contents
 1167    bin       Client programs and the mysqld server
 1168    data      Log files, databases
 1169    Docs      Manual in CHM format
 1170    examples  Example programs and scripts
 1171    include   Include (header) files
 1172    lib       Libraries
 1173    scripts   Utility scripts
 1174    share     Error message files
 1175 
 1176    Installations created from MySQL AB's Linux RPM distributions
 1177    result in files under the following system directories:
 1178    Directory            Contents
 1179    /usr/bin             Client programs and scripts
 1180    /usr/sbin            The mysqld server
 1181    /var/lib/mysql       Log files, databases
 1182    /usr/share/info      Manual in Info format
 1183    /usr/share/man       Unix man pages
 1184    /usr/include/mysql   Include (header) files
 1185    /usr/lib/mysql       Libraries
 1186    /usr/share/mysql     Error message and character set files
 1187    /usr/share/sql-bench Benchmarks
 1188 
 1189    On Unix, a tar file binary distribution is installed by unpacking
 1190    it  at  the  installation  location  you  choose  (typically
 1191    /usr/local/mysql) and creates the following directories in that
 1192    location:
 1193    Directory   Contents
 1194    bin         Client programs and the mysqld server
 1195    data        Log files, databases
 1196    docs        Manual in Info format
 1197    man         Unix manual pages
 1198    include     Include (header) files
 1199    lib         Libraries
 1200    scripts     mysql_install_db
 1201    share/mysql Error message files
 1202    sql-bench   Benchmarks
 1203 
 1204    A source distribution is installed after you configure and compile
 1205    it.  By  default, the installation step installs files under
 1206    /usr/local, in the following subdirectories:
 1207    Directory     Contents
 1208    bin           Client programs and scripts
 1209    include/mysql Include (header) files
 1210    Docs          Manual in Info, CHM formats
 1211    man           Unix manual pages
 1212    lib/mysql     Libraries
 1213    libexec       The mysqld server
 1214    share/mysql   Error message files
 1215    sql-bench     Benchmarks and crash-me test
 1216    var           Databases and log files
 1217 
 1218    Within  its  installation  directory, the layout of a source
 1219    installation differs from that of a binary installation in the
 1220    following ways:
 1221      * The mysqld server is installed in the libexec directory rather
 1222        than in the bin directory.
 1223      * The data directory is var rather than data.
 1224      * mysql_install_db is installed in the bin directory rather than
 1225        in the scripts directory.
 1226      * The header file and library directories are include/mysql and
 1227        lib/mysql rather than include and lib.
 1228 
 1229    You can create your own binary installation from a compiled source
 1230    distribution by executing the scripts/make_binary_distribution
 1231    script from the top directory of the source distribution.
 1232 
 1233 2.4.7. Standard MySQL Installation Using a Binary Distribution
 1234 
 1235    This section does not apply to MySQL Enterprise Server users.
 1236 
 1237    The next several sections cover the installation of MySQL on
 1238    platforms where we offer packages using the native packaging
 1239    format  of  the  respective platform. (This is also known as
 1240    performing a binary installation.) However, binary distributions
 1241    of MySQL are available for many other platforms as well. See
 1242    Section 2.4.14, "Installing MySQL from tar.gz Packages on Other
 1243    Unix-Like Systems," for generic installation instructions for
 1244    these packages that apply to all platforms.
 1245 
 1246    See Section 2.4, "Installing MySQL Community Server," for more
 1247    information on what other binary distributions are available and
 1248    how to obtain them.
 1249 
 1250 2.4.8. Installing MySQL on Windows
 1251 
 1252    This section does not apply to MySQL Enterprise Server users.
 1253 
 1254    A native Windows distribution of MySQL has been available from
 1255    MySQL AB since version 3.21 and represents a sizable percentage of
 1256    the daily downloads of MySQL. This section describes the process
 1257    for installing MySQL on Windows.
 1258 
 1259 Note
 1260 
 1261    If you are upgrading MySQL from an existing installation older
 1262    than MySQL 4.1.5, you must first perform the procedure described
 1263    in Section 2.4.8.14, "Upgrading MySQL on Windows."
 1264 
 1265    To run MySQL on Windows, you need the following:
 1266      * A Windows operating system such as 2000, XP, Vista, or Windows
 1267        Server 2003. Only 32-bit and 64-bit versions of Windows 2000
 1268        and later are supported; however, 64-bit Windows Vista is not
 1269        yet supported. Windows 95/98/ME and versions of Windows older
 1270        than these are no longer supported.
 1271        A Windows operating system permits you to run the MySQL server
 1272        as a service. See Section 2.4.8.11, "Starting MySQL as a
 1273        Windows Service."
 1274        Generally,  you should install MySQL on Windows using an
 1275        account that has administrator rights. Otherwise, you may
 1276        encounter problems with certain operations such as editing the
 1277        PATH environment variable or accessing the Service Control
 1278        Manager.
 1279      * TCP/IP protocol support.
 1280      * Enough space on the hard drive to unpack, install, and create
 1281        the databases in accordance with your requirements (generally
 1282        a minimum of 200 megabytes is recommended.)
 1283 
 1284    For a list of limitations within the Windows version of MySQL, see
 1285    Section F.7.3, "Windows Platform Limitations."
 1286 
 1287    There may also be other requirements, depending on how you plan to
 1288    use MySQL:
 1289      * If you plan to connect to the MySQL server via ODBC, you need
 1290        a Connector/ODBC driver. See Chapter 27, "Connectors."
 1291      * If you need tables with a size larger than 4GB, install MySQL
 1292        on an NTFS or newer filesystem. Don't forget to use MAX_ROWS
 1293        and AVG_ROW_LENGTH when you create tables. See Section 12.1.5,
 1294        "CREATE TABLE Syntax."
 1295 
 1296    MySQL for Windows is available in several distribution formats:
 1297      * Binary  distributions are available that contain a setup
 1298        program that installs everything you need so that you can
 1299        start the server immediately. Another binary distribution
 1300        format contains an archive that you simply unpack in the
 1301        installation  location  and then configure yourself. For
 1302        details,  see Section 2.4.8.1, "Choosing An Installation
 1303        Package."
 1304      * The source distribution contains all the code and support
 1305        files for building the executables using the Visual Studio
 1306        compiler system.
 1307 
 1308    Generally speaking, you should use a binary distribution that
 1309    includes an installer. It is simpler to use than the others, and
 1310    you need no additional tools to get MySQL up and running. The
 1311    installer for the Windows version of MySQL, combined with a GUI
 1312    Configuration Wizard, automatically installs MySQL, creates an
 1313    option file, starts the server, and secures the default user
 1314    accounts.
 1315 
 1316 Caution
 1317 
 1318    Using virus scanning software such as Norton/Symantec Anti-Virus
 1319    on directories containing MySQL data and temporary tables can
 1320    cause issues, both in terms of the performance of MySQL and the
 1321    virus-scanning software mis-identifying the contents of the files
 1322    as  containing  spam.  This is because of the fingerprinting
 1323    mechanism used by the virus scanning software, and the way in
 1324    which  MySQL  rapidly  updates different files, which may be
 1325    identified as a potential security risk.
 1326 
 1327    After installing MySQL Server, it is recommended that you disable
 1328    virus scanning on main directory (datadir) being used to store
 1329    your MySQL table data. There is usually a system built into the
 1330    virus  scanning  software to allow certain directories to be
 1331    specifically ignored during virus scanning.
 1332 
 1333    In addition, by default, MySQL creates temporary files in the
 1334    standard Windows temporary directory. To prevent the temporary
 1335    files  also  being  scanned, you should configure a separate
 1336    temporary directory for MySQL temporary files and add this to the
 1337    virus scanning exclusion list. To do this, add a configuration
 1338    option for the tmpdir parameter to your my.ini configuration file.
 1339    For more information, see Section 2.4.8.7, "Creating an Option
 1340    File," and tmpdir.
 1341 
 1342    The following section describes how to install MySQL on Windows
 1343    using a binary distribution. To use an installation package that
 1344    does not include an installer, follow the procedure described in
 1345    Section 2.4.8.5, "Installing MySQL from a Noinstall Zip Archive."
 1346    To install using a source distribution, see Section 2.4.15.6,
 1347    "Installing MySQL from Source on Windows."
 1348 
 1349    MySQL  distributions  for  Windows  can  be  downloaded from
 1350    http://dev.mysql.com/downloads/. See Section 2.4.4, "How to Get
 1351    MySQL."
 1352 
 1353 2.4.8.1. Choosing An Installation Package
 1354 
 1355    This section does not apply to MySQL Enterprise Server users.
 1356 
 1357    For MySQL 5.0, there are three installation packages to choose
 1358    from when installing MySQL on Windows:
 1359      * The Essentials package.  This package has a filename similar
 1360        to mysql-essential-5.0.68-win32.msi and contains the minimum
 1361        set of files needed to install MySQL on Windows, including the
 1362        Configuration Wizard. This package does not include optional
 1363        components such as the embedded server and benchmark suite.
 1364      * The Complete package.  This package has a filename similar to
 1365        mysql-5.0.68-win32.zip and contains all files needed for a
 1366        complete Windows installation, including the Configuration
 1367        Wizard. This package includes optional components such as the
 1368        embedded server and benchmark suite.
 1369      * The no-install archive.  This package has a filename similar
 1370        to mysql-noinstall-5.0.68-win32.zip and contains all the files
 1371        found in the Complete install package, with the exception of
 1372        the Configuration Wizard. This package does not include an
 1373        automated  installer, and must be manually installed and
 1374        configured.
 1375 
 1376    The  Essentials package is recommended for most users. It is
 1377    provided as an .msi file for use with the Windows Installer. The
 1378    Complete and Noinstall distributions are packaged as Zip archives.
 1379    To use them, you must have a tool that can unpack .zip files.
 1380 
 1381    Your choice of install package affects the installation process
 1382    you must follow. If you choose to install either the Essentials or
 1383    Complete install packages, see Section 2.4.8.2, "Installing MySQL
 1384    with the Automated Installer." If you choose to install MySQL from
 1385    the Noinstall archive, see Section 2.4.8.5, "Installing MySQL from
 1386    a Noinstall Zip Archive."
 1387 
 1388 2.4.8.2. Installing MySQL with the Automated Installer
 1389 
 1390    New MySQL users can use the MySQL Installation Wizard and MySQL
 1391    Configuration  Wizard to install MySQL on Windows. These are
 1392    designed to install and configure MySQL in such a way that new
 1393    users can immediately get started using MySQL.
 1394 
 1395    The MySQL Installation Wizard and MySQL Configuration Wizard are
 1396    available in the Essentials and Complete install packages. They
 1397    are recommended for most standard MySQL installations. Exceptions
 1398    include users who need to install multiple instances of MySQL on a
 1399    single server host and advanced users who want complete control of
 1400    server configuration.
 1401 
 1402 2.4.8.3. Using the MySQL Installation Wizard
 1403 
 1404 2.4.8.3.1. Introduction to the Installation Wizard
 1405 
 1406    MySQL Installation Wizard is an installer for the MySQL server
 1407    that uses the latest installer technologies for Microsoft Windows.
 1408    The MySQL Installation Wizard, in combination with the MySQL
 1409    Configuration Wizard, allows a user to install and configure a
 1410    MySQL server that is ready for use immediately after installation.
 1411 
 1412    The MySQL Installation Wizard is the standard installer for all
 1413    MySQL server distributions, version 4.1.5 and higher. Users of
 1414    previous versions of MySQL need to shut down and remove their
 1415    existing MySQL installations manually before installing MySQL with
 1416    the MySQL Installation Wizard. See Section 2.4.8.3.7, "Upgrading
 1417    MySQL with the Installation Wizard," for more information on
 1418    upgrading from a previous version.
 1419 
 1420    The  Microsoft  Windows  Installer (MSI) is the standard for
 1421    application installations on Windows 2000 and later versions. The
 1422    MySQL Installation Wizard makes use of this technology to provide
 1423    a smoother and more flexible installation process.
 1424 
 1425    The  Microsoft Windows Installer Engine was updated with the
 1426    release of Windows XP; those using a previous version of Windows
 1427    can   reference   this   Microsoft  Knowledge  Base  article
 1428    (http://support.microsoft.com/default.aspx?scid=kb;EN-US;292539)
 1429    for information on upgrading to the latest version of the Windows
 1430    Installer Engine.
 1431 
 1432    In addition, Microsoft has introduced the WiX (Windows Installer
 1433    XML) toolkit, which is the first highly acknowledged Open Source
 1434    project from Microsoft. We have switched to WiX because it is an
 1435    Open  Source project and it allows us to handle the complete
 1436    Windows installation process in a flexible manner using scripts.
 1437 
 1438    Improving the MySQL Installation Wizard depends on the support and
 1439    feedback of users. If you find that the MySQL Installation Wizard
 1440    is lacking some feature important to you, or if you discover a
 1441    bug, please report it in our bugs database using the instructions
 1442    given in Section 1.7, "How to Report Bugs or Problems."
 1443 
 1444 2.4.8.3.2. Downloading and Starting the MySQL Installation Wizard
 1445 
 1446    MySQL   installation   packages   can   be  downloaded  from
 1447    http://dev.mysql.com/downloads/. If the package you download is
 1448    contained within a Zip archive, you need to extract the archive
 1449    first.
 1450 
 1451 Note
 1452 
 1453    If you are installing on Windows Vista it is best to open a port
 1454    for MySQL to use before beginning the installation. To do this,
 1455    first ensure that you are logged in as an administrator, then go
 1456    to the Control Panel and double-click the Windows Firewall icon.
 1457    Choose the Allow a program through Windows Firewall option and
 1458    click the Add port button. Enter MySQL into the Name text box and
 1459    3306 (or other port of your choice) into the Port number text box.
 1460    Also ensure that the TCP protocol radio button is selected. If you
 1461    wish, you can also limit access to the MySQL server by choosing
 1462    the Change scope button. Confirm your choices by clicking the OK
 1463    button. If you do not open a port prior to installation, you
 1464    cannot configure the MySQL server immediately after installation.
 1465    Additionally,  when running the MySQL Installation Wizard on
 1466    Windows  Vista, ensure that you are logged in as a user with
 1467    administrative rights.
 1468 
 1469    The process for starting the wizard depends on the contents of the
 1470    installation package you download. If there is a setup.exe file
 1471    present, double-click it to start the installation process. If
 1472    there  is an .msi file present, double-click it to start the
 1473    installation process.
 1474    MySQL Installer Main Screen (Windows)
 1475 
 1476 2.4.8.3.3. Choosing an Installation Type
 1477 
 1478    There are three installation types available: Typical, Complete,
 1479    and Custom.
 1480    MySQL Installer Setup type (Windows)
 1481 
 1482    The Typical installation type installs the MySQL server, the mysql
 1483    command-line  client,  and  the  command-line utilities. The
 1484    command-line clients and utilities include mysqldump, myisamchk,
 1485    and several other tools to help you manage the MySQL server.
 1486 
 1487    The Complete installation type installs all components included in
 1488    the installation package. The full installation package includes
 1489    components such as the embedded server library, the benchmark
 1490    suite, support scripts, and documentation.
 1491 
 1492    The Custom installation type gives you complete control over which
 1493    packages you wish to install and the installation path that is
 1494    used. See Section 2.4.8.3.4, "The Custom Installation Dialog," for
 1495    more information on performing a custom install.
 1496 
 1497    If you choose the Typical or Complete installation types and click
 1498    the Next button, you advance to the confirmation screen to verify
 1499    your choices and begin the installation. If you choose the Custom
 1500    installation type and click the Next button, you advance to the
 1501    custom installation dialog, described in Section 2.4.8.3.4, "The
 1502    Custom Installation Dialog."
 1503 
 1504 2.4.8.3.4. The Custom Installation Dialog
 1505 
 1506    This section does not apply to MySQL Enterprise Server users.
 1507 
 1508    If  you wish to change the installation path or the specific
 1509    components that are installed by the MySQL Installation Wizard,
 1510    choose the Custom installation type.
 1511    MySQL Installer Custom Installation (Windows)
 1512 
 1513    A tree view on the left side of the custom install dialog lists
 1514    all available components. Components that are not installed have a
 1515    red X icon; components that are installed have a gray icon. To
 1516    change whether a component is installed, click on that component's
 1517    icon and choose a new option from the drop-down list that appears.
 1518 
 1519    You can change the default installation path by clicking the
 1520    Change... button to the right of the displayed installation path.
 1521 
 1522    After choosing your installation components and installation path,
 1523    click the Next button to advance to the confirmation dialog.
 1524 
 1525 2.4.8.3.5. The Confirmation Dialog
 1526 
 1527    This section does not apply to MySQL Enterprise Server users.
 1528 
 1529    Once you choose an installation type and optionally choose your
 1530    installation components, you advance to the confirmation dialog.
 1531    Your installation type and installation path are displayed for you
 1532    to review.
 1533    MySQL Installer Installation Summary (Windows)
 1534 
 1535    To install MySQL if you are satisfied with your settings, click
 1536    the  Install button. To change your settings, click the Back
 1537    button. To exit the MySQL Installation Wizard without installing
 1538    MySQL, click the Cancel button.
 1539 
 1540    After installation is complete, you have the option of registering
 1541    with the MySQL web site. Registration gives you access to post in
 1542    the MySQL forums at forums.mysql.com (http://forums.mysql.com),
 1543    along  with  the  ability  to  report bugs at bugs.mysql.com
 1544    (http://bugs.mysql.com) and to subscribe to our newsletter. The
 1545    final  screen  of  the  installer  provides a summary of the
 1546    installation  and  gives  you the option to launch the MySQL
 1547    Configuration Wizard, which you can use to create a configuration
 1548    file, install the MySQL service, and configure security settings.