INSTALL-WIN-SOURCE
上传用户:romrleung
上传日期:2022-05-23
资源大小:18897k
文件大小:11k
源码类别:
MySQL数据库
开发平台:
Visual C++
- 2.8.6 Installing MySQL from Source on Windows
- ---------------------------------------------
- * Menu:
- * windows-vc-plus-plus-build:: Building MySQL Using VC++
- * windows-bitkeeper-build:: Creating a Windows Source Package from the Latest Development Source
- These instructions describe how to build MySQL binaries from source 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*: The instructions in this document are strictly for users who
- want to test MySQL on Windows from the latest source distribution or
- from the BitKeeper tree. For production use, MySQL AB does not advise
- using a MySQL server built by yourself from source. Normally, it is
- best to use precompiled binary distributions of MySQL that are built
- specifically for optimal performance on Windows by MySQL AB.
- Instructions for installing a binary distributions are available at
- *Note windows-installation::.
- To build MySQL on Windows from source, you need the following compiler
- and resources available on your Windows system:
- * Visual Studio 2003 compiler system (VC++ 7.0).
- * Between 3 and 5 GB disk space.
- * Windows 2000 or higher.
- The exact system requirements can be found here:
- `http://msdn.microsoft.com/vstudio/productinfo/sysreqs/default.aspx'
- You will also need a MySQL source distribution for Windows. There are
- two ways you can get a source distribution for MySQL version 4.1 and
- above:
- 1. Obtain a source distribution packaged by MySQL AB 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://dev.mysql.com/downloads/'.
- 2. 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. See *Note
- installing-source-tree:: for instructions how to download and
- install BitKeeper.
- If you are using a Windows source distribution, you can go directly to
- *Note windows-vc-plus-plus-build::. To build from the BitKeeper tree,
- proceed to *Note windows-bitkeeper-build::.
- If you find something not working as expected, or you have suggestions
- about ways to improve the current build process on Windows, please send
- a message to the `win32' mailing list. See *Note mailing-list::.
- File: manual.info, Node: windows-vc-plus-plus-build, Next: windows-bitkeeper-build, Prev: windows-source-build, Up: windows-source-build
- 2.8.6.1 Building MySQL Using VC++
- .................................
- *Note*: VC++ workspace files for MySQL 4.1 and above are compatible
- with Microsoft Visual Studio 2003 editions and tested by MySQL AB staff
- before each release.
- Follow this procedure to build MySQL:
- 1. Create a work directory (for example, `C:workdir').
- 2. Unpack the source distribution in the aforementioned directory
- using `WinZip' or other Windows tool that can read `.zip' files.
- 3. Start Visual Studio.
- 4. In the File menu, select
- Open Workspace
- .
- 5. Open the `mysql.dsw' workspace you find in the work directory.
- 6. From the `Build' menu, select the Set Active Configuration menu.
- 7. Click over the screen selecting
- mysqld - Win32 Debug
- and click OK.
- 8. Press F7 to begin the build of the debug server, libraries, and
- some client applications.
- 9. Compile the release versions that you want in the same way.
- 10. Debug versions of the programs and libraries are placed in the
- `client_debug' and `lib_debug' directories. Release versions of
- the programs and libraries are placed in the `client_release' and
- `lib_release' directories. Note that if you want to build both
- debug and release versions, you can select the
- Build All
- option from the Build menu.
- 11. Test the server. The server built using the preceding instructions
- expects that the MySQL base directory and data directory are
- `C:mysql' and `C:mysqldata' by default. If you want to test
- your server using the source tree root directory and its data
- directory as the base directory and data directory, you need to
- tell the server their pathnames. You can either do this on the
- command line with the -basedir and -datadir options, or place
- appropriate options in an option file (the `my.ini' file in your
- Windows directory or `C:my.cnf'). If you have an existing data
- directory elsewhere that you want to use, you can specify its
- pathname instead.
- 12. Start your server from the `client_release' or `client_debug'
- directory, depending on which server you want to use. The general
- server startup instructions are in *Note windows-installation::.
- You will need to adapt the instructions appropriately if you want
- to use a different base directory or data directory.
- 13. When the server is running in standalone fashion or as a service
- based on your configuration, try to connect to it from the `mysql'
- interactive command-line utility that exists in your
- `client_release' or `client_debug' directory.
- When you are satisfied that the programs you have built are working
- correctly, stop the server. Then install MySQL as follows:
- 1. Create the directories where you want to install MySQL. For
- example, to install into `C:mysql', use these commands:
- C:> mkdir C:mysql
- C:> mkdir C:mysqlbin
- C:> mkdir C:mysqldata
- C:> mkdir C:mysqlshare
- C:> mkdir C:mysqlscripts
- If you want to compile other clients and link them to MySQL, you
- should also create several additional directories:
- C:> mkdir C:mysqlinclude
- C:> mkdir C:mysqllib
- C:> mkdir C:mysqllibdebug
- C:> mkdir C:mysqllibopt
- If you want to benchmark MySQL, create this directory:
- C:> mkdir C:mysqlsql-bench
- Benchmarking requires Perl support.
- 2. From the `workdir' directory, copy into the `C:mysql' directory
- the following directories:
- C:> cd workdir
- C:workdir> copy client_release*.exe C:mysqlbin
- C:workdir> copy client_debugmysqld.exe C:mysqlbinmysqld-debug.exe
- C:workdir> xcopy scripts*.* C:mysqlscripts /E
- C:workdir> xcopy share*.* C:mysqlshare /E
- If you want to compile other clients and link them to MySQL, you
- should also copy several libraries and header files:
- C:workdir> copy lib_debugmysqlclient.lib C:mysqllibdebug
- C:workdir> copy lib_debuglibmysql.* C:mysqllibdebug
- C:workdir> copy lib_debugzlib.* C:mysqllibdebug
- C:workdir> copy lib_releasemysqlclient.lib C:mysqllibopt
- C:workdir> copy lib_releaselibmysql.* C:mysqllibopt
- C:workdir> copy lib_releasezlib.* C:mysqllibopt
- C:workdir> copy include*.h C:mysqlinclude
- C:workdir> copy libmysqllibmysql.def C:mysqlinclude
- If you want to benchmark MySQL, you should also do this:
- C:workdir> xcopy sql-bench*.* C:mysqlbench /E
- Set up and start the server in the same way as for the binary Windows
- distribution. See *Note windows-installation::.
- File: manual.info, Node: windows-bitkeeper-build, Prev: windows-vc-plus-plus-build, Up: windows-source-build
- 2.8.6.2 Creating a Windows Source Package from the Latest Development Source
- ............................................................................
- To create a 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. For example, the procedure is known to work well on Linux.
- 1. Copy the BitKeeper source tree for MySQL (version 4.1 or above, as
- desired). For more information on how to copy the source tree, see
- the instructions in *Note installing-source-tree::.
- 2. 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:
- shell> ./BUILD/compile-pentium-max
- 3. After making sure that the build process completed successfully,
- run the following utility script from top-level directory of your
- source tree:
- shell> ./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:
- * -help
- Display a help message.
- * -debug
- Print information about script operations, do not create
- package.
- * -tmp
- Specify the temporary location.
- * -suffix
- Suffix name for the package.
- * -dirname
- Directory name to copy files (intermediate).
- * -silent
- Do not print verbose list of files processed.
- * -tar
- Create `tar.gz' package instead of `.zip' package.
- By default, `make_win_src_distribution' creates a Zip-format
- archive with the name `mysql-VERSION-win-src.zip', where VERSION
- represents the version of your MySQL source tree.
- 4. Copy or upload to your Windows machine the Windows source package
- that you have just created. To compile it, use the instructions in
- *Note windows-vc-plus-plus-build::.
- File: manual.info, Node: windows-client-compiling, Prev: windows-source-build, Up: installing-source
- 2.8.7 Compiling MySQL Clients on Windows
- ----------------------------------------
- In your source files, you should include `my_global.h' before `mysql.h':
- #include <my_global.h>
- #include <mysql.h>
- `my_global.h' includes any other files needed for Windows compatibility
- (such as `windows.h') if you compile your program on Windows.
- You can either link your code with the dynamic `libmysql.lib' library,
- which is just a wrapper to load in `libmysql.dll' on demand, or link
- with the static `mysqlclient.lib' library.
- The MySQL client libraries are compiled as threaded libraries, so you
- should also compile your code to be multi-threaded.