######################################################### # # # HOWTO : INSTALL MySQL FROM SOURCE # # WINDOWS PORT # # # # Copyright (C) MySQL AB 1995-2003 # ######################################################### This is a simple 'HOWTO' document describing how to build MySQL binaries for versions 4.1 and above on Windows. Instructions are provided for building binaries from a standard source distribution or from the BitKeeper tree that contains the latest development source. --------------------------------------------------------- NOTE --------------------------------------------------------- Normally, it is best to use precompiled binary distributions of MySQL that are built specifically for optimal performance on Windows by MySQL AB. Binary distributions are available from: http://www.mysql.com/downloads/ The instructions in this document are strictly for users who want to test MySQL on Windows from the latest source or from the BitKeeper tree, and for internal MySQL developers. -------------------------------------------------------- TABLE OF CONTENTS -------------------------------------------------------- 1. REQUIREMENTS 2. OBTAINING A WINDOWS SOURCE DISTRIBUTION 3. CREATING A SOURCE PACKAGE FROM THE 'BitKeeper' TREE 4. BUILDING 'mysql server and clients' FROM VC++ WORKSPACE 5. BUILDING FROM 'nmake' MAKEFILES 6. STARTING THE MYSQL SERVER FOR THE FIRST TIME 7. TESTING THE CONNECTION 8. SPECIAL NOTES AND CONSIDERATIONS ------------------------------------------------------- 1. REQUIREMENTS ------------------------------------------------------- To build MySQL on Windows from source, you need the following compiler and resources available on your Windows system: - Microsoft Visual C++ 6.0 and above - ~45 MB disk space - 64 MB RAM You'll also need a MySQL source distribution, which you can obtain as described in section 2. ------------------------------------------------------- 2. OBTAINING A WINDOWS SOURCE DISTRIBUTION ------------------------------------------------------- There are two ways you can get a Windows source distribution for MySQL version 4.1 and above: I. Obtain a MySQL AB-distributed source distribution for the particular version of MySQL in which you are interested. Prepackaged source distributions are available for released versions of MySQL and can be obtained from: http://www.mysql.com/downloads/ II. Alternatively, you can package a source distribution yourself from the latest BitKeeper developer source tree. If you plan to do this, you must create the package on a Unix system and then transfer it to your Windows system. (The reason for this is that some of the configuration and build steps require tools that work only on Unix.) The BitKeeper approach thus requires: - A system running Unix, or a Unix-like system such as Linux - BitKeeper 3.0 installed on that system (you can obtain BitKeeper from http://www.bitkeeper.com) If you are using the first option, you can skip the next section and go directly to "BUILDING 'mysql server & clients' FROM VC++ WORKSPACE" ------------------------------------------------------- 3. CREATING A SOURCE PACKAGE FROM THE 'BitKeeper' TREE ------------------------------------------------------- To build the latest Windows source package from the current BitKeeper source tree, use the following instructions. Please note that this procedure must be performed on a system running a Unix or Unix-like operating system. (The procedure is known to work well on Linux, for example.) - Clone the BitKeeper source tree for MySQL (version 4.1 or above, as desired). For more information how to clone the source tree, see the instructions at: http://www.mysql.com/doc/en/Installing_source_tree.html - Configure and build the distribution so that you have a server binary to work with. One way to do this is to run the following command in the top-level directory of your source tree: ./BUILD/compile-pentium-max - After making sure that the build process completed successfully, run the following utility script from top-level directory of your source tree: ./scripts/make_win_src_distribution This script creates a Windows source package, to be used on your Windows system. You can supply different options to the script based on your needs. It accepts the following options: --debug Debug, without creating the package --tmp Specify the temporary location --suffix Suffix name for the package --dirname Directory name to copy files (intermediate) --silent Do not list verbosely files processed --tar Create tar.gz package instead of .zip --help Show this help message By default, make_win_src_distribution creates a zipped archive with the name mysql-$version-win-src.zip, where $version represents the version of your MySQL source tree. - Copy or upload to your Windows machine the Windows source package that you have just created. To compile it, use the instructions in the next section. --------------------------------------------------------- 4. BUILDING 'mysql server & clients' FROM VC++ WORKSPACE --------------------------------------------------------- NOTE: MySQL 4.1 and above VC++ workspace files are compatible with Microsoft Visual Studio 6.0 and above(7.0/.NET) editions and tested by MySQL folks before each release. Unpack the Windows source zipped archive to a folder and open mysql.dsw from your top-level directory. If you want to build both release and debug versions, then select 'build' -> 'buildall' option. To build only release or debug versions, select all appropriate workspaces from the 'build' -> 'batch build' option. The simplest solution to building the basic clients and core server is to set your current active workspace as 'mysqld' release or debug version, and just hit 'build' or 'F7', which creates the necessary client binaries in the 'client_release' or 'client_debug' directories. The libraries are placed in the 'lib_release' and 'lib_debug' directories for release and debug versions, respectively. Now you have built the distribution. If you get any compiler errors, please cross check and email the compiler output to win32@lists.mysql.com for further assistance. --------------------------------------------------------- 5. BUILDING FROM 'nmake' MAKEFILES --------------------------------------------------------- TODO from MySQL PIEFU team. --------------------------------------------------------- 6. STARTING THE MYSQL SERVER FOR THE FIRST TIME --------------------------------------------------------- The server built using the preceding instructions will expect that the MySQL base directory and data directory are C:\mysql and C:\mysql\data by default. If you want to test your server using the source root directory and its data directory as the base directory and data directory, you will need to tell the server their pathnames. You can either do this on the command line with the --basedir and --data-dir options, or place appropriate options in an option file (C:\my.cnf or the my.ini file in your Windows directory). If you have an existing data directory elsewhere that you want to use, you can specify its pathname instead. Start your server from the 'client_release' or 'client_debug' directory (depending on which server you want to use). The general instructions are given here: http://www.mysql.com/doc/en/Windows_installation.html You'll have to adapt the instructions appropriately if you want to use a different base directory and/or data directory. That's all!!! See, it's as simple to build MySQL on Windows as on any other platform!!! --------------------------------------------------------- 7. TESTING THE CONNECTION --------------------------------------------------------- Once the server is running in standalone fashion or as a service based on your configuration, try to connect to it from the 'mysql' command line SQL interactive utility that exists in your 'client_release' or 'client_debug' directory. --------------------------------------------------------- 8. SPECIAL NOTES AND CONSIDERATIONS --------------------------------------------------------- - For production use, MySQL AB does not advise using a MySQL server built by yourself from source. It is preferable to stick to using binaries shipped by MySQL AB. - If you find something not working as expected, or you have suggestions about ways to improve the current build process on Windows, please email to win32@lists.mysql.com. Thanks MySQL Team