manual.texi "windows" -> "Windows", where appropriate.

manual.texi	Mods to Windows-specific sections, chapter 4.
parent 9cd0b5f3
...@@ -2544,7 +2544,7 @@ which services were discovered on which dial-up numbers in your organization. ...@@ -2544,7 +2544,7 @@ which services were discovered on which dial-up numbers in your organization.
@item @uref{http://www.urbanresearch.com/software/utils/urbsql/index.html, urSQL} @item @uref{http://www.urbanresearch.com/software/utils/urbsql/index.html, urSQL}
SQL Editor and Query Utility. Custom syntax highlighting, editable SQL Editor and Query Utility. Custom syntax highlighting, editable
results grid, exportable result-sets, basic @strong{MySQL} admin functions, results grid, exportable result-sets, basic @strong{MySQL} admin functions,
Etc.. For windows. Etc.. For Windows.
@item @uref{http://www.edatanew.com/, MySQL Data Manager} @item @uref{http://www.edatanew.com/, MySQL Data Manager}
@strong{MySQL} Data Manager * is platform independent web client @strong{MySQL} Data Manager * is platform independent web client
...@@ -8850,7 +8850,7 @@ We are interested in finding someone to do a port, and we will help them ...@@ -8850,7 +8850,7 @@ We are interested in finding someone to do a port, and we will help them
with any technical questions they may have while doing the port. with any technical questions they may have while doing the port.
We have previously talked with some BeOS developers that have said that We have previously talked with some BeOS developers that have said that
@strong{MySQL} is 80% ported to BeOS, but we haven't heard from these @strong{MySQL} is 80% ported to BeOS, but we haven't heard from them
in a while. in a while.
@node Windows, OS/2, Source install system issues, Installing @node Windows, OS/2, Source install system issues, Installing
...@@ -8888,8 +8888,8 @@ To install either distribution, unzip it in some empty directory and run the ...@@ -8888,8 +8888,8 @@ To install either distribution, unzip it in some empty directory and run the
By default, @strong{MySQL}-Windows is configured to be installed in By default, @strong{MySQL}-Windows is configured to be installed in
@file{C:\mysql}. If you want to install @strong{MySQL} elsewhere, install it @file{C:\mysql}. If you want to install @strong{MySQL} elsewhere, install it
in @file{C:\mysql}, then move the installation to where you want it. If you in @file{C:\mysql} first, then move the installation to where you want it. If
do move @strong{MySQL}, you must tell @code{mysqld} where everything is by you do move @strong{MySQL}, you must tell @code{mysqld} where everything is by
supplying options to @code{mysqld}. Use @code{C:\mysql\bin\mysqld --help} to supplying options to @code{mysqld}. Use @code{C:\mysql\bin\mysqld --help} to
display all options! For example, if you have moved the @strong{MySQL} display all options! For example, if you have moved the @strong{MySQL}
distribution to @file{D:\programs\mysql}, you must start @code{mysqld} with: distribution to @file{D:\programs\mysql}, you must start @code{mysqld} with:
...@@ -8898,12 +8898,12 @@ distribution to @file{D:\programs\mysql}, you must start @code{mysqld} with: ...@@ -8898,12 +8898,12 @@ distribution to @file{D:\programs\mysql}, you must start @code{mysqld} with:
With all newer @strong{MySQL} versions, you can also create a With all newer @strong{MySQL} versions, you can also create a
@file{C:\my.cnf} file that holds any default options for the @file{C:\my.cnf} file that holds any default options for the
@strong{MySQL} server. Copy the file @file{\mysql\my-xxxxx.cnf} to @strong{MySQL} server. Copy the file @file{\mysql\my-xxxxx.cnf} to
@file{C:\my.cnf} and edit this to suit your setup. Note that you should @file{C:\my.cnf} and edit it to suit your setup. Note that you should
specify all paths with @samp{/} instead of @samp{\}. If you use specify all paths with @samp{/} instead of @samp{\}. If you use
@samp{\}, you need to specify this twice, as @samp{\} is the escape @samp{\}, you need to specify it twice, as @samp{\} is the escape
character in @strong{MySQL}. @xref{Option files}. character in @strong{MySQL}. @xref{Option files}.
Starting from @strong{MySQL} 3.23.38 the windows distribution includes Starting from @strong{MySQL} 3.23.38, the Windows distribution includes
both the normal and the @strong{MySQL-Max} binaries. The main benefit both the normal and the @strong{MySQL-Max} binaries. The main benefit
of using the normal @code{mysqld.exe} binary is that it's a little of using the normal @code{mysqld.exe} binary is that it's a little
faster and uses less resources. faster and uses less resources.
...@@ -8917,21 +8917,21 @@ symbolic links, BDB and InnoDB tables. ...@@ -8917,21 +8917,21 @@ symbolic links, BDB and InnoDB tables.
@item @code{mysqld-opt} @tab @item @code{mysqld-opt} @tab
Optimized binary with no support for transactional tables. Optimized binary with no support for transactional tables.
@item @code{mysqld-nt} @tab @item @code{mysqld-nt} @tab
Optimized for a Pentium pro processor. Has support for Optimized for a Pentium Pro processor. Has support for
named pipes. One can run this version on Win98, but in named pipes. You can run this version on Win98, but in
this case no named pipes are created and one must this case no named pipes are created and you must
have TCP/IP installed. have TCP/IP installed.
@item mysqld-max @tab @item @code{mysqld-max} @tab
Optimized binary with support for symbolic links, BDB and InnoDB tables. Optimized binary with support for symbolic links, BDB and InnoDB tables.
@item mysqld-max-nt @tab @item @code{mysqld-max-nt} @tab
Like mysqld-max, but compiled with support for named pipes. Like @code{mysqld-max}, but compiled with support for named pipes.
@end multitable @end multitable
All of the above binaries are optimized for the Pentium pro processor but All of the above binaries are optimized for the Pentium Pro processor but
should work on any Intel processor >= i386. should work on any Intel processor >= i386.
NOTE: If you want to use InnoDB tables, you need to specify some startup NOTE: If you want to use InnoDB tables, there are certain startup
options in your my.ini file! @xref{InnoDB start}. options that must be specified in your @file{my.ini} file! @xref{InnoDB start}.
@node Win95 start, NT start, Windows installation, Windows @node Win95 start, NT start, Windows installation, Windows
@subsection Starting MySQL on Windows 95 or Windows 98 @subsection Starting MySQL on Windows 95 or Windows 98
...@@ -8950,7 +8950,7 @@ the above doesn't apply for Win98. ...@@ -8950,7 +8950,7 @@ the above doesn't apply for Win98.
To start the @code{mysqld} server, you should start an MS-DOS window and type: To start the @code{mysqld} server, you should start an MS-DOS window and type:
@example @example
C:\mysql\bin\mysqld C:\> C:\mysql\bin\mysqld
@end example @end example
This will start @code{mysqld} in the background without a window. This will start @code{mysqld} in the background without a window.
...@@ -8958,25 +8958,25 @@ This will start @code{mysqld} in the background without a window. ...@@ -8958,25 +8958,25 @@ This will start @code{mysqld} in the background without a window.
You can kill the @strong{MySQL} server by executing: You can kill the @strong{MySQL} server by executing:
@example @example
C:\mysql\bin\mysqladmin -u root shutdown C:\> C:\mysql\bin\mysqladmin -u root shutdown
@end example @end example
Note that Win95/Win98 don't support creation of named pipes. On Note that Win95 and Win98 don't support creation of named pipes. On
Win95/Win98, you can only use named pipes to connect to a remote Win95 and Win98, you can only use named pipes to connect to a remote
@strong{MySQL} running on an NT server. @strong{MySQL} running on an NT server.
If @code{mysqld} doesn't start, please check whether or not the If @code{mysqld} doesn't start, please check whether or not the
@file{\mysql\mysql.err} file contains any reason for this. You can also @file{\mysql\mysql.err} file contains any reason for this. You can also
try to start it with @code{mysqld --standalone}; In this case you may try to start the server with @code{mysqld --standalone}; In this case, you may
get some useful information on the screen that may help solve this. get some useful information on the screen that may help solve the problem.
The last option is to start @code{mysqld} with @code{--standalone The last option is to start @code{mysqld} with @code{--standalone
--debug}. In this case @code{mysqld} will write a log file in --debug}. In this case @code{mysqld} will write a log file
@file{C:\mysqld.trace} that should contain the reason why @code{mysqld} @file{C:\mysqld.trace} that should contain the reason why @code{mysqld}
doesn't start. @xref{Making trace files}. doesn't start. @xref{Making trace files}.
@node NT start, Windows running, Win95 start, Windows @node NT start, Windows running, Win95 start, Windows
@subsection Starting MySQL on NT or Windows 2000 @subsection Starting MySQL on Windows NT or Windows 2000
The Win95/Win98 section also applies to @strong{MySQL} on NT/Win2000, with The Win95/Win98 section also applies to @strong{MySQL} on NT/Win2000, with
the following differences: the following differences:
...@@ -8991,38 +8991,40 @@ For NT/Win2000, the server name is @code{mysqld-nt}. Normally you ...@@ -8991,38 +8991,40 @@ For NT/Win2000, the server name is @code{mysqld-nt}. Normally you
should install @strong{MySQL} as a service on NT/Win2000: should install @strong{MySQL} as a service on NT/Win2000:
@example @example
C:\mysql\bin\mysqld-nt --install C:\> C:\mysql\bin\mysqld-nt --install
@end example
or or
C:\mysql\bin\mysqld-max-nt --install @example
C:\> C:\mysql\bin\mysqld-max-nt --install
@end example @end example
(You can also use @code{mysqld} binaries that doesn't end with (You can also use @code{mysqld} binaries that don't end with
@code{-nt.exe} on NT, but those cannot be started as a service or use @code{-nt.exe} on NT, but those cannot be started as a service or use
named pipes.) named pipes.)
You can start and stop the @strong{MySQL} service with: You can start and stop the @strong{MySQL} service with these commands:
@example @example
NET START mysql C:\> NET START mysql
NET STOP mysql C:\> NET STOP mysql
@end example @end example
Note that in this case you can't use any other options for @code{mysqld-nt}! Note that in this case you can't use any other options for @code{mysqld-nt}!
You can also run @code{mysqld-nt} as a stand-alone program on NT if you need You can also run @code{mysqld-nt} as a stand-alone program on NT if you need
to start @code{mysqld-nt} with any options! If you start @code{mysqld-nt} to start @code{mysqld-nt} with any options! If you start @code{mysqld-nt}
without options on NT, @code{mysqld-nt} tries to starts itself as a service without options on NT, @code{mysqld-nt} tries to start itself as a service
with the default service options. If you have stopped @code{mysqld-nt}, you with the default service options. If you have stopped @code{mysqld-nt}, you
have to start it with @code{NET START mysql}. have to start it with @code{NET START mysql}.
The service is installed with the name @code{MySQL}. Once installed, it must The service is installed with the name @code{MySQL}. Once installed, it must
be started using the Services Control Manager (SCM) Utility (found in Control be started using the Services Control Manager (SCM) Utility (found in Control
Panel) or by using the @code{NET START MySQL} command. If any options are Panel) or by using the @code{NET START MySQL} command. If any options are
desired, they must be specified as "Startup parameters" in the SCM utility desired, they must be specified as ``Startup parameters'' in the SCM utility
before you start the @strong{MySQL} service. Once running, @code{mysqld-nt} before you start the @strong{MySQL} service. Once running, @code{mysqld-nt}
can be stopped using @code{mysqladmin} or from the SCM utility or by using can be stopped using @code{mysqladmin}, or from the SCM utility or by using
the command @code{NET STOP MySQL}. If you use SCM to stop @code{mysqld-nt}, the command @code{NET STOP MySQL}. If you use SCM to stop @code{mysqld-nt},
there is a strange message from SCM about @code{mysqld shutdown normally}. there is a strange message from SCM about @code{mysqld shutdown normally}.
When run as a service, @code{mysqld-nt} has no access to a console and so no When run as a service, @code{mysqld-nt} has no access to a console and so no
...@@ -9089,10 +9091,10 @@ You can test whether or not @strong{MySQL} is working by executing the ...@@ -9089,10 +9091,10 @@ You can test whether or not @strong{MySQL} is working by executing the
following commands: following commands:
@example @example
C:\mysql\bin\mysqlshow C:\> C:\mysql\bin\mysqlshow
C:\mysql\bin\mysqlshow -u root mysql C:\> C:\mysql\bin\mysqlshow -u root mysql
C:\mysql\bin\mysqladmin version status proc C:\> C:\mysql\bin\mysqladmin version status proc
C:\mysql\bin\mysql test C:\> C:\mysql\bin\mysql test
@end example @end example
If @code{mysqld} is slow to answer to connections on Win95/Win98, there is If @code{mysqld} is slow to answer to connections on Win95/Win98, there is
...@@ -9110,25 +9112,25 @@ There are two versions of the @strong{MySQL} command-line tool: ...@@ -9110,25 +9112,25 @@ There are two versions of the @strong{MySQL} command-line tool:
@end multitable @end multitable
If you want to use @code{mysqlc.exe}, you must copy If you want to use @code{mysqlc.exe}, you must copy
@file{C:\mysql\lib\cygwinb19.dll} to @file{\windows\system} (or similar @file{C:\mysql\lib\cygwinb19.dll} to your Windows system directory
place). (@file{\windows\system} or similar place).
The default privileges on Windows give all local users full privileges The default privileges on Windows give all local users full privileges
to all databases. To make @strong{MySQL} more secure, you to all databases without specifying a password. To make @strong{MySQL}
should set a password for all users and remove the row in the more secure, you should set a password for all users and remove the row in
@code{mysql.user} table that has @code{Host='localhost'} and the @code{mysql.user} table that has @code{Host='localhost'} and
@code{User=''}. @code{User=''}.
You should also add a password for the @code{root} user. (The following You should also add a password for the @code{root} user. The following
example starts by removing the anonymous user, that allows anyone to access example starts by removing the anonymous user that can be used by anyone
the 'test' database.): to access the @code{test} database, then sets a @code{root} user password:
@example @example
C:\mysql\bin\mysql mysql C:\> C:\mysql\bin\mysql mysql
mysql> DELETE FROM user WHERE Host='localhost' AND User=''; mysql> DELETE FROM user WHERE Host='localhost' AND User='';
mysql> QUIT mysql> QUIT
C:\mysql\bin\mysqladmin reload C:\> C:\mysql\bin\mysqladmin reload
C:\mysql\bin\mysqladmin -u root password your_password C:\> C:\mysql\bin\mysqladmin -u root password your_password
@end example @end example
After you've set the password, if you want to take down the @code{mysqld} After you've set the password, if you want to take down the @code{mysqld}
...@@ -9160,14 +9162,14 @@ Here is a note about how to connect to get a secure connection to remote ...@@ -9160,14 +9162,14 @@ Here is a note about how to connect to get a secure connection to remote
@itemize @bullet @itemize @bullet
@item @item
Install an SSH client on your windows machine - As a user, the best non-free Install an SSH client on your Windows machine --- As a user, the best non-free
one I've found is from @code{SecureCRT} from @uref{http://www.vandyke.com/}. one I've found is from @code{SecureCRT} from @uref{http://www.vandyke.com/}.
Another option is @code{f-secure} from @uref{http://www.f-secure.com/}. You Another option is @code{f-secure} from @uref{http://www.f-secure.com/}. You
can also find some free ones on @strong{Google} at can also find some free ones on @strong{Google} at
@uref{http://directory.google.com/Top/Computers/Security/Products_and_Tools/Cryptography/SSH/Clients/Windows/}. @uref{http://directory.google.com/Top/Computers/Security/Products_and_Tools/Cryptography/SSH/Clients/Windows/}.
@item @item
Start your windows SSH client. Start your Windows SSH client.
Set @code{Host_Name = yourmysqlserver_URL_or_IP}. Set @code{Host_Name = yourmysqlserver_URL_or_IP}.
Set @code{userid=your_userid} to log in to your server (probably not the same Set @code{userid=your_userid} to log in to your server (probably not the same
as your @strong{MySQL} login/password. as your @strong{MySQL} login/password.
...@@ -9183,35 +9185,37 @@ Save everything, otherwise you'll have to redo it the next time. ...@@ -9183,35 +9185,37 @@ Save everything, otherwise you'll have to redo it the next time.
Log in to your server with SSH session you just created. Log in to your server with SSH session you just created.
@item @item
Start some ODBC application on your windows machine (for example Access). On your Windows machine, start some ODBC application (such as Access).
@item @item
Create a new file in windows and link to @strong{MySQL} using the ODBC driver the same way Create a new file in Windows and link to @strong{MySQL} using the ODBC
you normally do, EXCEPT type in @code{localhost} for the @strong{MySQL} host server - not @code{yourmysqlservername}. driver the same way you normally do, EXCEPT type in @code{localhost}
for the @strong{MySQL} host server --- not @code{yourmysqlservername}.
@end itemize @end itemize
You should now have your ODBC connection to @strong{MySQL} encrypted using SSH. You should now have an ODBC connection to @strong{MySQL}, encrypted using SSH.
@cindex symbolic links @cindex symbolic links
@cindex using multiple disks to start data @cindex using multiple disks to start data
@cindex disks, splitting data across @cindex disks, splitting data across
@node Windows symbolic links, Windows compiling, Windows and SSH, Windows @node Windows symbolic links, Windows compiling, Windows and SSH, Windows
@subsection Splitting Data Across Different Disks Under Windows @subsection Splitting Data Across Different Disks on Windows
On windows @strong{MySQL} Version 3.23.16 and above is compiled with the Beginning with @strong{MySQL} Version 3.23.16, the @strong{MySQL}
@code{-DUSE_SYMDIR} option. This allows you to put a database on distribution is compiled with the @code{-DUSE_SYMDIR} option. This allows
different disk by adding a symbolic link to it (in a similar manner that you to put a database on different disk by adding a symbolic link to it
symbolic links works on Unix). (in a manner similar to the way that symbolic links work on Unix).
On windows you make a symbolic link to a database by creating a file On Windows, you make a symbolic link to a database by creating a file
that contains the path to the destination directory and saving this in that contains the path to the destination directory and saving this in
the @file{mysql_data} directory under the filename @file{database.sym}. the @file{mysql_data} directory under the filename @file{database.sym}.
Note that the symbolic link will only be used if the directory Note that the symbolic link will be used only if the directory
@file{mysql_data_dir\database} doesn't exist. @file{mysql_data_dir\database} doesn't exist.
For example, if you want to have database @code{foo} on @file{D:\data\foo}, you For example, if the @strong{MySQL} data directory is @file{C:\mysql\data}
and you want to have database @code{foo} located at @file{D:\data\foo}, you
should create the file @file{C:\mysql\data\foo.sym} that contains the should create the file @file{C:\mysql\data\foo.sym} that contains the
text @code{D:\data\foo}. After this, all tables created in the database text @code{D:\data\foo}. After that, all tables created in the database
@code{foo} will be created in @file{D:\data\foo}. @code{foo} will be created in @file{D:\data\foo}.
@cindex compiling, on Windows @cindex compiling, on Windows
...@@ -9220,7 +9224,7 @@ text @code{D:\data\foo}. After this, all tables created in the database ...@@ -9220,7 +9224,7 @@ text @code{D:\data\foo}. After this, all tables created in the database
@subsection Compiling MySQL Clients on Windows @subsection Compiling MySQL Clients on Windows
In your source files, you should include @file{windows.h} before you include In your source files, you should include @file{windows.h} before you include
@code{mysql.h}: @file{mysql.h}:
@example @example
#if defined(_WIN32) || defined(_WIN64) #if defined(_WIN32) || defined(_WIN64)
...@@ -9257,10 +9261,10 @@ with the following exceptions: ...@@ -9257,10 +9261,10 @@ with the following exceptions:
@table @strong @table @strong
@item Win95 and threads @item Win95 and threads
Win95 leaks about 200 bytes of main memory for each thread creation. Because Win95 leaks about 200 bytes of main memory for each thread creation.
of this, you shouldn't run @code{mysqld} for an extended time on Win95 if Each connection in @strong{MySQL} creates a new thread, so you shouldn't
you do many connections, because each connection in @strong{MySQL} creates run @code{mysqld} for an extended time on Win95 if your server handles
a new thread! WinNT and Win98 don't suffer from this bug. many connections! WinNT and Win98 don't suffer from this bug.
@item Concurrent reads @item Concurrent reads
@strong{MySQL} depends on the @code{pread()} and @code{pwrite()} calls to be @strong{MySQL} depends on the @code{pread()} and @code{pwrite()} calls to be
...@@ -9268,9 +9272,9 @@ able to mix @code{INSERT} and @code{SELECT}. Currently we use mutexes ...@@ -9268,9 +9272,9 @@ able to mix @code{INSERT} and @code{SELECT}. Currently we use mutexes
to emulate @code{pread()}/@code{pwrite()}. We will, in the long run, to emulate @code{pread()}/@code{pwrite()}. We will, in the long run,
replace the file level interface with a virtual interface so that we can replace the file level interface with a virtual interface so that we can
use the @code{readfile()}/@code{writefile()} interface on NT to get more speed. use the @code{readfile()}/@code{writefile()} interface on NT to get more speed.
The current implementation will however limit the number of open files The current implementation limits the number of open files @strong{MySQL}
@strong{MySQL} can use to 1024, which means that you will not be able to can use to 1024, which means that you will not be able to run as many
run as many concurrent threads on NT as on Unix. concurrent threads on NT as on Unix.
@item Blocking read @item Blocking read
@strong{MySQL} uses a blocking read for each connection. @strong{MySQL} uses a blocking read for each connection.
...@@ -9293,8 +9297,8 @@ If a connection hangs, it's impossible to break it without killing ...@@ -9293,8 +9297,8 @@ If a connection hangs, it's impossible to break it without killing
connections. connections.
@end itemize @end itemize
We plan to fix this when our Windows developers have figured out a nice We plan to fix this problem when our Windows developers have figured out a
workaround for this. nice workaround.
@item UDF functions @item UDF functions
For the moment, @strong{MySQL}-Windows does not support user-definable For the moment, @strong{MySQL}-Windows does not support user-definable
...@@ -9310,18 +9314,25 @@ utility in Win95. You must take it down with @code{mysqladmin shutdown}. ...@@ -9310,18 +9314,25 @@ utility in Win95. You must take it down with @code{mysqladmin shutdown}.
@item Case-insensitive names @item Case-insensitive names
Filenames are case insensitive on Windows, so database and table names Filenames are case insensitive on Windows, so database and table names
are also case insensitive in @strong{MySQL} for Windows. The only are also case insensitive in @strong{MySQL} for Windows. The only
restriction is that database and table names must be given in the same restriction is that database and table names must be specified using the same
case throughout a given statement. @xref{Name case sensitivity}. case throughout a given statement. @xref{Name case sensitivity}.
@item The @samp{\} directory character @item The @samp{\} directory character
Pathname components in Win95 are separated by the @samp{\} character, which is Pathname components in Win95 are separated by the @samp{\} character, which is
also the escape character in @strong{MySQL}. If you are using @code{LOAD also the escape character in @strong{MySQL}. If you are using @code{LOAD
DATA INFILE} or @code{SELECT ... INTO OUTFILE}, you must double the @samp{\} DATA INFILE} or @code{SELECT ... INTO OUTFILE}, you must double the @samp{\}
character or use Unix style filenames @samp{/} characters: character:
@example @example
LOAD DATA INFILE "C:\\tmp\\skr.txt" INTO TABLE skr; mysql> LOAD DATA INFILE "C:\\tmp\\skr.txt" INTO TABLE skr;
SELECT * INTO OUTFILE 'C:/tmp/skr.txt' FROM skr; mysql> SELECT * INTO OUTFILE 'C:\\tmp\\skr.txt' FROM skr;
@end example
Alternatively, use Unix style filenames with @samp{/} characters:
@example
mysql> LOAD DATA INFILE "C:/tmp/skr.txt" INTO TABLE skr;
mysql> SELECT * INTO OUTFILE 'C:/tmp/skr.txt' FROM skr;
@end example @end example
@item @code{Can't open named pipe} error @item @code{Can't open named pipe} error
...@@ -9335,8 +9346,8 @@ error 2017: can't open named pipe to host: . pipe... ...@@ -9335,8 +9346,8 @@ error 2017: can't open named pipe to host: . pipe...
@tindex .my.cnf file @tindex .my.cnf file
This is because the release version of @strong{MySQL} uses named pipes on NT This is because the release version of @strong{MySQL} uses named pipes on NT
by default. You can avoid this error by using the @code{--host=localhost} by default. You can avoid this error by using the @code{--host=localhost}
option to the new @strong{MySQL} clients or create a file @file{C:\my.cnf} option to the new @strong{MySQL} clients or create an option file
that contains the following information: @file{C:\my.cnf} that contains the following information:
@example @example
[client] [client]
...@@ -9357,16 +9368,16 @@ following information: ...@@ -9357,16 +9368,16 @@ following information:
@end example @end example
@item @code{ALTER TABLE} @item @code{ALTER TABLE}
While you are doing an @code{ALTER TABLE} the table is locked from usage While you are executing an @code{ALTER TABLE} statement, the table is locked
by other threads. This has to do with the fact that you on Windows can't from usage by other threads. This has to do with the fact that on Windows,
delete a file that is in use by another threads. (We may in the future you can't delete a file that is in use by another threads. (In the future,
find some way to go around this problem.) we may find some way to work around this problem.)
@item @code{DROP TABLE} on a table that is in use by a @code{MERGE} table will not work. @item @code{DROP TABLE} on a table that is in use by a @code{MERGE} table will not work
The @code{MERGE} handler does it table mapping hidden from @strong{MySQL}. The @code{MERGE} handler does its table mapping hidden from @strong{MySQL}.
Because Windows doesn't allow one to drop files that are open, you have Because Windows doesn't allow you to drop files that are open, you first
to first flush all @code{MERGE} tables (with @code{FLUSH TABLES}) or drop the must flush all @code{MERGE} tables (with @code{FLUSH TABLES}) or drop the
@code{MERGE} table before droping the table. We will fix this at the same @code{MERGE} table before dropping the table. We will fix this at the same
time we introduce @code{VIEW}s. time we introduce @code{VIEW}s.
@end table @end table
...@@ -9389,14 +9400,14 @@ Add some nice start and shutdown icons to the @strong{MySQL} installation. ...@@ -9389,14 +9400,14 @@ Add some nice start and shutdown icons to the @strong{MySQL} installation.
Create a tool to manage registry entries for the @strong{MySQL} startup Create a tool to manage registry entries for the @strong{MySQL} startup
options. The registry entry reading is already coded into @file{mysqld.cc}, options. The registry entry reading is already coded into @file{mysqld.cc},
but it should be recoded to be more parameter oriented. The tool should but it should be recoded to be more parameter oriented. The tool should
also be able to update the @file{\my.cnf} file if the user prefers to use also be able to update the @file{C:\my.cnf} option file if the user prefers
this instead of the registry. to use that instead of the registry.
@item @item
When registering @code{mysqld} as a service with @code{--install} (on NT) When registering @code{mysqld} as a service with @code{--install} (on NT)
it would be nice if you could also add default options on the command line. it would be nice if you could also add default options on the command line.
For the moment, the workaround is to update the @file{C:\my.cnf} file For the moment, the workaround is to list the parameters in the
instead. @file{C:\my.cnf} file instead.
@item @item
When you suspend a laptop running Win95, the @code{mysqld} daemon doesn't When you suspend a laptop running Win95, the @code{mysqld} daemon doesn't
...@@ -9419,10 +9430,6 @@ It would be nice if the socket read and write functions in @file{net.c} were ...@@ -9419,10 +9430,6 @@ It would be nice if the socket read and write functions in @file{net.c} were
interruptible. This would make it possible to kill open threads with interruptible. This would make it possible to kill open threads with
@code{mysqladmin kill} on Windows. @code{mysqladmin kill} on Windows.
@item
Documentation of which Windows programs work with @strong{MySQL}-Windows or
@strong{MyODBC} and what must be done to get them working.
@item @item
@code{mysqld} always starts in the "C" locale and not in the default locale. @code{mysqld} always starts in the "C" locale and not in the default locale.
We would like to have @code{mysqld} use the current locale for the sort order. We would like to have @code{mysqld} use the current locale for the sort order.
...@@ -9486,14 +9493,14 @@ For example, in Unix, the shared module might be named @file{example.so} ...@@ -9486,14 +9493,14 @@ For example, in Unix, the shared module might be named @file{example.so}
and you would load a function from it like this: and you would load a function from it like this:
@example @example
CREATE FUNCTION metaphon RETURNS STRING SONAME "example.so"; mysql> CREATE FUNCTION metaphon RETURNS STRING SONAME "example.so";
@end example @end example
Is OS/2, the module would be named @file{example.udf}, but you would not Is OS/2, the module would be named @file{example.udf}, but you would not
specify the module extension: specify the module extension:
@example @example
CREATE FUNCTION metaphon RETURNS STRING SONAME "example"; mysql> CREATE FUNCTION metaphon RETURNS STRING SONAME "example";
@end example @end example
@cindex binary distributions @cindex binary distributions
...@@ -14038,7 +14045,7 @@ A tab character. ...@@ -14038,7 +14045,7 @@ A tab character.
@findex (Control-Z) \z @findex (Control-Z) \z
@item \z @item \z
ASCII(26) (Control-Z). This character can be encoded to allow you to ASCII(26) (Control-Z). This character can be encoded to allow you to
go around the problem that ASCII(26) stands for END-OF-FILE on windows. go around the problem that ASCII(26) stands for END-OF-FILE on Windows.
(ASCII(26) will cause problems if you try to use (ASCII(26) will cause problems if you try to use
@code{mysql database < filename}). @code{mysql database < filename}).
...@@ -14339,7 +14346,7 @@ adopt a consistent convention, such as always creating databases and ...@@ -14339,7 +14346,7 @@ adopt a consistent convention, such as always creating databases and
tables using lowercase names. tables using lowercase names.
One way to avoid this problem is to start @code{mysqld} with @code{-O One way to avoid this problem is to start @code{mysqld} with @code{-O
lower_case_table_names=1}. By default this option is 1 on windows and 0 on lower_case_table_names=1}. By default this option is 1 on Windows and 0 on
Unix. Unix.
If @code{lower_case_table_names} is 1 @strong{MySQL} will convert all If @code{lower_case_table_names} is 1 @strong{MySQL} will convert all
...@@ -32005,7 +32012,7 @@ the following configure options: ...@@ -32005,7 +32012,7 @@ the following configure options:
You can find the @strong{MySQL}-max binaries at You can find the @strong{MySQL}-max binaries at
@uref{http://www.mysql.com/downloads/mysql-max-3.23.html}. @uref{http://www.mysql.com/downloads/mysql-max-3.23.html}.
The windows @strong{MySQL} 3.23 binary distribution includes both the The Windows @strong{MySQL} 3.23 binary distribution includes both the
standard @strong{mysqld.exe} binary and the @code{mysqld-max.exe} binary. standard @strong{mysqld.exe} binary and the @code{mysqld-max.exe} binary.
@uref{http://www.mysql.com/downloads/mysql-3.23.html}. @uref{http://www.mysql.com/downloads/mysql-3.23.html}.
@xref{Windows installation}. @xref{Windows installation}.
...@@ -35491,7 +35498,7 @@ most of the Unix ODBC managers. You can find a list at these in the ...@@ -35491,7 +35498,7 @@ most of the Unix ODBC managers. You can find a list at these in the
@strong{ODBC}-related links section on the @strong{MySQL} useful links page. @strong{ODBC}-related links section on the @strong{MySQL} useful links page.
@xref{Useful Links}. @xref{Useful Links}.
To install @strong{MyODBC} on windows, you should download the To install @strong{MyODBC} on Windows, you should download the
appropriate @strong{MyODBC} .zip file (for Windows or NT/Win2000), appropriate @strong{MyODBC} .zip file (for Windows or NT/Win2000),
unpack it with @code{WINZIP}, or some similar program, and execute the unpack it with @code{WINZIP}, or some similar program, and execute the
@code{SETUP.EXE} file. @code{SETUP.EXE} file.
...@@ -35618,18 +35625,18 @@ through the @code{InConnectionString} argument in the ...@@ -35618,18 +35625,18 @@ through the @code{InConnectionString} argument in the
@multitable @columnfractions .2 .2 .6 @multitable @columnfractions .2 .2 .6
@item @strong{Parameter} @tab @strong{Default value} @tab @strong{Comment} @item @strong{Parameter} @tab @strong{Default value} @tab @strong{Comment}
@item user @tab ODBC (on windows) @tab The username used to connect to @strong{MySQL}. @item user @tab ODBC (on Windows) @tab The username used to connect to @strong{MySQL}.
@item server @tab localhost @tab The hostname of the @strong{MySQL} server. @item server @tab localhost @tab The hostname of the @strong{MySQL} server.
@item database @tab @tab The default database @item database @tab @tab The default database
@item option @tab 0 @tab A integer by which you can specify how @strong{MyODBC} should work. See below. @item option @tab 0 @tab A integer by which you can specify how @strong{MyODBC} should work. See below.
@item port @tab 3306 @tab The TCP/IP port to use if @code{server} is not @code{localhost}. @item port @tab 3306 @tab The TCP/IP port to use if @code{server} is not @code{localhost}.
@item stmt @tab @tab A statement that will be executed when connection to @code{MySQL}. @item stmt @tab @tab A statement that will be executed when connection to @code{MySQL}.
@item password @tab @tab The password for the @code{server} @code{user} combination. @item password @tab @tab The password for the @code{server} @code{user} combination.
@item socket @tab @tab The socket or windows pipe to connect to. @item socket @tab @tab The socket or Windows pipe to connect to.
@end multitable @end multitable
The option argument is used to tell @strong{MyODBC} that the client isn't 100% The option argument is used to tell @strong{MyODBC} that the client isn't 100%
ODBC compliant. On windows, one normally sets the option flag by ODBC compliant. On Windows, one normally sets the option flag by
toggling the different options on the connection screen but one can also toggling the different options on the connection screen but one can also
set this in the opton argument. The following options are listed in the set this in the opton argument. The following options are listed in the
same order as they appear in the @strong{MyODBC} connect screen: same order as they appear in the @strong{MyODBC} connect screen:
...@@ -36119,8 +36126,8 @@ FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '\\' ...@@ -36119,8 +36126,8 @@ FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '\\'
@node Borland C++, , Apache, Common programs @node Borland C++, , Apache, Common programs
@section Borland C++ @section Borland C++
You can compile the @strong{MySQL} windows source with Borland C++ 5.02. You can compile the @strong{MySQL} Windows source with Borland C++ 5.02.
(The windows source includes only projects for Microsoft VC++, for (The Windows source includes only projects for Microsoft VC++, for
Borland C++ you have to do the project files yourself). Borland C++ you have to do the project files yourself).
One known problem with Borland C++ is that it uses a different structure One known problem with Borland C++ is that it uses a different structure
...@@ -38113,7 +38120,7 @@ switch to a new log) by executing @code{FLUSH LOGS}. @xref{FLUSH}. ...@@ -38113,7 +38120,7 @@ switch to a new log) by executing @code{FLUSH LOGS}. @xref{FLUSH}.
@code{mysqld} writes all errors to the stderr, which the @code{mysqld} writes all errors to the stderr, which the
@code{safe_mysqld} script redirects to a file called @code{safe_mysqld} script redirects to a file called
@code{'hostname'.err}. (On windows @code{mysqld} writes this directly @code{'hostname'.err}. (On Windows, @code{mysqld} writes this directly
to @file{mysql.err}). to @file{mysql.err}).
This contains information on when mysqld was started and stopped and This contains information on when mysqld was started and stopped and
...@@ -41099,7 +41106,7 @@ the socket handling should be thread safe. ...@@ -41099,7 +41106,7 @@ the socket handling should be thread safe.
In the older binaries we distribute on our Web site, the client In the older binaries we distribute on our Web site, the client
libraries are not normally compiled with the thread-safe option (the libraries are not normally compiled with the thread-safe option (the
windows binaries are by default compiled to be thread safe). Windows binaries are by default compiled to be thread safe).
Newer binary distributions should have both a normal and a Newer binary distributions should have both a normal and a
thread-safe client library. thread-safe client library.
...@@ -43361,7 +43368,7 @@ You can always find the latest version ...@@ -43361,7 +43368,7 @@ You can always find the latest version
@uref{http://www.trash.net/~ffischer/admin/index.html, here}. @uref{http://www.trash.net/~ffischer/admin/index.html, here}.
@item @uref{http://www.mysql.com/Downloads/Win32/MySQL-Maker-1.0.zip,MySQL-Maker 1.0}. @item @uref{http://www.mysql.com/Downloads/Win32/MySQL-Maker-1.0.zip,MySQL-Maker 1.0}.
Shareware @strong{MySQL} client for windows. It's WYSIWYG tool which allows Shareware @strong{MySQL} client for Windows. It's WYSIWYG tool which allows
you to create, change and delete databases and tables. you to create, change and delete databases and tables.
You can change field - structure and add, change and delete data in You can change field - structure and add, change and delete data in
these tables directly without ODBC-driver. these tables directly without ODBC-driver.
...@@ -45349,7 +45356,7 @@ The slave now logs when it connects to the master. ...@@ -45349,7 +45356,7 @@ The slave now logs when it connects to the master.
Fixed a core dump bug when doing @code{FLUSH MASTER} if you didn't specify Fixed a core dump bug when doing @code{FLUSH MASTER} if you didn't specify
a filename argument to @code{--log-bin}. a filename argument to @code{--log-bin}.
@item @item
Added missing @file{ha_berkeley.x} files to the @strong{MySQL} windows Added missing @file{ha_berkeley.x} files to the @strong{MySQL} Windows
@item @item
Fixed some mutex bugs in the log code that could cause thread blocks if new Fixed some mutex bugs in the log code that could cause thread blocks if new
log files couldn't be created. log files couldn't be created.
...@@ -46644,7 +46651,7 @@ compile all relevant files for 3.22.33 :( ...@@ -46644,7 +46651,7 @@ compile all relevant files for 3.22.33 :(
@appendixsubsec Changes in release 3.22.33 @appendixsubsec Changes in release 3.22.33
@itemize @bullet @itemize @bullet
@item @item
Fixed problems in windows when locking tables with @code{LOCK TABLE} Fixed problems in Windows when locking tables with @code{LOCK TABLE}
@item @item
Quicker kill of @code{SELECT DISTINCT} queries. Quicker kill of @code{SELECT DISTINCT} queries.
@end itemize @end itemize
...@@ -50016,7 +50023,7 @@ Allow update of variables in @code{UPDATE} statements. For example: ...@@ -50016,7 +50023,7 @@ Allow update of variables in @code{UPDATE} statements. For example:
@code{myisamchk}, @code{REPAIR} and @code{OPTIMIZE TABLE} should be able @code{myisamchk}, @code{REPAIR} and @code{OPTIMIZE TABLE} should be able
to handle cases where the data and/or index files are symbolic links. to handle cases where the data and/or index files are symbolic links.
@item @item
Add simulation of @code{pread()}/@code{pwrite()} on windows to enable Add simulation of @code{pread()}/@code{pwrite()} on Windows to enable
concurrent inserts. concurrent inserts.
@item @item
A logfile analyzer that could parsed out information about which tables A logfile analyzer that could parsed out information about which tables
...@@ -50316,7 +50323,7 @@ send mail to @email{mysql@@lists.mysql.com} and ask for help. Please use the ...@@ -50316,7 +50323,7 @@ send mail to @email{mysql@@lists.mysql.com} and ask for help. Please use the
@code{mysqlbug} script for all bug reports or questions regarding the @code{mysqlbug} script for all bug reports or questions regarding the
@strong{MySQL} version you are using! @strong{MySQL} version you are using!
In the windows @strong{MySQL} distribution @code{mysqld.exe} is by In the Windows @strong{MySQL} distribution, @code{mysqld.exe} is by
default compiled with support for trace files. default compiled with support for trace files.
@node Making trace files, Using gdb on mysqld, Compiling for debugging, Debugging server @node Making trace files, Using gdb on mysqld, Compiling for debugging, Debugging server
...@@ -50331,7 +50338,7 @@ You can check this by executing @code{mysqld -V}. If the version number ...@@ -50331,7 +50338,7 @@ You can check this by executing @code{mysqld -V}. If the version number
ends with @code{-debug}, it's compiled with support for trace files. ends with @code{-debug}, it's compiled with support for trace files.
Start the @code{mysqld} server with a trace log in @file{/tmp/mysqld.trace} Start the @code{mysqld} server with a trace log in @file{/tmp/mysqld.trace}
(or @file{C:\mysqld.trace} on windows): (or @file{C:\mysqld.trace} on Windows):
@code{mysqld --debug} @code{mysqld --debug}
...@@ -50658,7 +50665,7 @@ One uses the debug package by invoking the program with the ...@@ -50658,7 +50665,7 @@ One uses the debug package by invoking the program with the
Most @strong{MySQL} programs has a default debug string that will be Most @strong{MySQL} programs has a default debug string that will be
used if you don't specify an option to @code{--debug}. The default used if you don't specify an option to @code{--debug}. The default
trace file is usually @code{/tmp/programname.trace} on Unix and trace file is usually @code{/tmp/programname.trace} on Unix and
@code{\programname.trace} on windows. @code{\programname.trace} on Windows.
The debug control string is a sequence of colon separated fields The debug control string is a sequence of colon separated fields
as follows: as follows:
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment