summaryrefslogtreecommitdiff
path: root/INSTALL-WIN-SOURCE
blob: ee3e35a91c88d6c22554ccb06b75f7ea6c42cb58 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
#########################################################
#                                                       #
#         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 developer 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.  You can
get the source for released versions of MySQL from:

http://www.mysql.com/downloads/

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 the initial
configuration scripts and some of the build steps 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)

-------------------------------------------------------
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. Create a source package yourself from the latest development 
     'BitKeeper' source tree.

If you are using the first option, you can skip the  next
section and go directly to 'BUILDING FROM VC++ WORKSPACE'.

-------------------------------------------------------
3. CREATING A SOURCE PACKAGE FROM THE 'BitKeeper' TREE
-------------------------------------------------------

To build the latest Windows source package, Please follow the 
following instructions from any of your '*UNIX*' operating 
systems (preferably Linux):

- Clone the BitKeeper source tree for MySQL (version 4.1
  or above, as desired).  For more information how to clone
  the BitKeeper source tree, follow the instructions at:

  http://www.mysql.com/doc/en/Installing_source_tree.html

- 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  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 the Windows source package.  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 is the version of the MySQL source tree you
   cloned.
 
 - Copy or upload to your Windows machine the Windows source
   package that you have just created, and compile it using
   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, then select all appropriate workspaces
from the 'build' -> 'batch build' option.

The simplest solution to build 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 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 send 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
---------------------------------------------------------

First ensure to set or copy my.ini or my.cnf file to your 
'data' directory that exists in the top-level directory or 
point to existing 'data' directory.

Now, start your server from the 'client_release' or
'client_debug' directory (depending on which server you
want to use), by following the instructions from:

http://www.mysql.com/doc/en/Windows_installation.html

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. Instead, stick to
  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