Commit d7a8efc3 authored by unknown's avatar unknown

NuSphere editor's changes to pages 65-100 of manual.texi.


Docs/manual.texi:
  NuSphere editor's changes to pages 65-100.
parent 1add42f6
...@@ -254,7 +254,7 @@ System-specific issues ...@@ -254,7 +254,7 @@ System-specific issues
* Solaris x86:: Solaris x86 notes * Solaris x86:: Solaris x86 notes
* SunOS:: SunOS 4 notes * SunOS:: SunOS 4 notes
* Linux:: Linux notes (all Linux versions) * Linux:: Linux notes (all Linux versions)
* Alpha-DEC-Unix:: Alpha-DEC-Unix notes * Alpha-DEC-UNIX:: Alpha-DEC-UNIX notes
* Alpha-DEC-OSF1:: Alpha-DEC-OSF1 notes * Alpha-DEC-OSF1:: Alpha-DEC-OSF1 notes
* SGI-Irix:: SGI-Irix notes * SGI-Irix:: SGI-Irix notes
* FreeBSD:: FreeBSD notes * FreeBSD:: FreeBSD notes
...@@ -2885,9 +2885,9 @@ Many users don't read mail with a browser! ...@@ -2885,9 +2885,9 @@ Many users don't read mail with a browser!
@chapter MySQL Licensing and Support @chapter MySQL Licensing and Support
@menu @menu
* Licensing Policy:: @strong{MySQL} licensing policy * Licensing policy:: @strong{MySQL} licensing policy
* Copyright:: Copyrights used by @strong{MySQL} * Copyright:: Copyrights used by @strong{MySQL}
* Licensing Examples:: Example licensing situations * Licensing examples:: Example licensing situations
* Cost:: @strong{MySQL} licensing and support costs * Cost:: @strong{MySQL} licensing and support costs
* Support:: Types of commercial support * Support:: Types of commercial support
@end menu @end menu
...@@ -2994,7 +2994,7 @@ discussed in @ref{Payment information}. ...@@ -2994,7 +2994,7 @@ discussed in @ref{Payment information}.
@section Copyrights Used by MySQL @section Copyrights Used by MySQL
@menu @menu
* Copyright Changes:: Possible future copyright changes * Copyright changes:: Possible future copyright changes
@end menu @end menu
There are several different copyrights on the @strong{MySQL} distribution: There are several different copyrights on the @strong{MySQL} distribution:
...@@ -3137,7 +3137,7 @@ enterprise. ...@@ -3137,7 +3137,7 @@ enterprise.
@cindex Licensing costs @cindex Licensing costs
@cindex Support costs @cindex Support costs
@node Cost, Support, Licensing examples, Licensing and Support @node Cost, Support, Licensing examples, Licensing and Support
@section @strong{MySQL} licensing and support costs @section @strong{MySQL} Licensing and Support Costs
@menu @menu
* Payment information:: Payment information * Payment information:: Payment information
...@@ -5872,7 +5872,7 @@ Finally, you should install this new Perl. Again, the output of @code{make ...@@ -5872,7 +5872,7 @@ Finally, you should install this new Perl. Again, the output of @code{make
perl} indicates the command to use. perl} indicates the command to use.
@node Source install system issues, Windows, Perl support, Installing @node Source install system issues, Windows, Perl support, Installing
@section System-specific issues @section System-specific Issues
The following sections indicate some of the issues that have been observed to The following sections indicate some of the issues that have been observed to
occur on particular systems when installing @strong{MySQL} from a source occur on particular systems when installing @strong{MySQL} from a source
...@@ -5901,7 +5901,7 @@ distribution. ...@@ -5901,7 +5901,7 @@ distribution.
@end menu @end menu
@node Solaris, Solaris 2.7, Source install system issues, Source install system issues @node Solaris, Solaris 2.7, Source install system issues, Source install system issues
@subsection Solaris notes @subsection Solaris Notes
On Solaris, you may run into trouble even before you get the @strong{MySQL} On Solaris, you may run into trouble even before you get the @strong{MySQL}
distribution unpacked! Solaris @code{tar} can't handle long file names, so distribution unpacked! Solaris @code{tar} can't handle long file names, so
...@@ -5916,9 +5916,9 @@ In this case, you must use GNU @code{tar} (@code{gtar}) to unpack the ...@@ -5916,9 +5916,9 @@ In this case, you must use GNU @code{tar} (@code{gtar}) to unpack the
distribution. You can find a precompiled copy for Solaris at distribution. You can find a precompiled copy for Solaris at
@uref{http://www.mysql.com/Downloads/}. @uref{http://www.mysql.com/Downloads/}.
Sun native threads work only on Solaris 2.5 and higher. For 2.4 and Sun native threads work only on Solaris 2.5 and higher. For Version 2.4 and
earlier versions, @strong{MySQL} will automatically use earlier, @strong{MySQL} will automatically use MIT-pt threads.
MIT-pthreads. @xref{MIT-pthreads}. @xref{MIT-pthreads}.
If you get the following error from configure: If you get the following error from configure:
...@@ -5927,7 +5927,7 @@ checking for restartable system calls... configure: error can not run test ...@@ -5927,7 +5927,7 @@ checking for restartable system calls... configure: error can not run test
programs while cross compiling programs while cross compiling
@end example @end example
This means that you have something wrong with your compiler installation! this means that you have something wrong with your compiler installation!
In this case you should upgrade your compiler to a newer version. You may In this case you should upgrade your compiler to a newer version. You may
also be able to solve this problem by inserting the following row into the also be able to solve this problem by inserting the following row into the
@code{config.cache} file: @code{config.cache} file:
...@@ -5985,7 +5985,7 @@ libc internal error: _rmutex_unlock: rmutex not held ...@@ -5985,7 +5985,7 @@ libc internal error: _rmutex_unlock: rmutex not held
Add @code{-mt} to @code{CFLAGS} and @code{CXXFLAGS} and try again. Add @code{-mt} to @code{CFLAGS} and @code{CXXFLAGS} and try again.
If you get the following error when compiling @strong{MySQL} with @code{gcc}, If you get the following error when compiling @strong{MySQL} with @code{gcc},
it means that your @code{gcc} is not configured for your version of Solaris! it means that your @code{gcc} is not configured for your version of Solaris:
@example @example
shell> gcc -O3 -g -O2 -DDBUG_OFF -o thr_alarm ... shell> gcc -O3 -g -O2 -DDBUG_OFF -o thr_alarm ...
...@@ -6054,7 +6054,7 @@ you don't have @code{zlib} installed, you have two options: ...@@ -6054,7 +6054,7 @@ you don't have @code{zlib} installed, you have two options:
If you want to be able to use the compressed communication protocol, If you want to be able to use the compressed communication protocol,
you need to get and install zlib from ftp.gnu.org. you need to get and install zlib from ftp.gnu.org.
@item @item
Configure with @code{--with-named-z-libs=no} Configure with @code{--with-named-z-libs=no}.
@end itemize @end itemize
If you are using gcc and have problems with loading @code{UDF} functions If you are using gcc and have problems with loading @code{UDF} functions
...@@ -6066,14 +6066,13 @@ If you would like @strong{MySQL} to start automatically, you can copy ...@@ -6066,14 +6066,13 @@ If you would like @strong{MySQL} to start automatically, you can copy
symbolic link to it named @code{/etc/rc3.d/S99mysql.server}. symbolic link to it named @code{/etc/rc3.d/S99mysql.server}.
@node Solaris 2.7, Solaris x86, Solaris, Source install system issues @node Solaris 2.7, Solaris x86, Solaris, Source install system issues
@subsection Solaris 2.7 / 2.8 notes @subsection Solaris 2.7/2.8 Notes
You can normally use a Solaris 2.6 binary on Solaris 2.7 and 2.8. Most You can normally use a Solaris 2.6 binary on Solaris 2.7 and 2.8. Most
of the Solaris 2.6 issues also apply for Solaris 2.7 and 2.8. of the Solaris 2.6 issues also apply for Solaris 2.7 and 2.8.
Note that @strong{MySQL} 3.23.4 and above should be able to autodetect Note that @strong{MySQL} Version 3.23.4 and above should be able to autodetect
new versions of Solaris and enable workarounds for the following new versions of Solaris and enable workarounds for the following problems!
problems!
Solaris 2.7 / 2.8 has some bugs in the include files. You may see the Solaris 2.7 / 2.8 has some bugs in the include files. You may see the
following error when you use @code{gcc}: following error when you use @code{gcc}:
...@@ -6103,7 +6102,7 @@ way, after you make the fix, you should remove @file{config.cache} and run ...@@ -6103,7 +6102,7 @@ way, after you make the fix, you should remove @file{config.cache} and run
If you get errors like this when you run @code{make}, it's because If you get errors like this when you run @code{make}, it's because
@code{configure} didn't detect the @file{curses.h} file (probably @code{configure} didn't detect the @file{curses.h} file (probably
because of the error in @code{/usr/include/widec.h}: because of the error in @code{/usr/include/widec.h}):
@example @example
In file included from mysql.cc:50: In file included from mysql.cc:50:
...@@ -6111,13 +6110,13 @@ In file included from mysql.cc:50: ...@@ -6111,13 +6110,13 @@ In file included from mysql.cc:50:
/usr/include/term.h:1081: syntax error before `;' /usr/include/term.h:1081: syntax error before `;'
@end example @end example
The solution to this is to do one of the following steps: The solution to this is to do one of the following:
@itemize @bullet @itemize @bullet
@item @item
Configure with @code{CFLAGS=-DHAVE_CURSES_H CXXFLAGS=-DHAVE_CURSES_H ./configure} Configure with @code{CFLAGS=-DHAVE_CURSES_H CXXFLAGS=-DHAVE_CURSES_H ./configure}.
@item @item
Edit @file{/usr/include/widec.h} as indicted above and rerun configure Edit @file{/usr/include/widec.h} as indicted above and rerun configure.
@item @item
Remove the @code{#define HAVE_TERM} line from @file{config.h} file and Remove the @code{#define HAVE_TERM} line from @file{config.h} file and
run @code{make} again. run @code{make} again.
...@@ -6130,9 +6129,9 @@ following methods: ...@@ -6130,9 +6129,9 @@ following methods:
@itemize @bullet @itemize @bullet
@item @item
Add @file{/usr/local/lib} to @code{LD_LIBRARY_PATH} Add @file{/usr/local/lib} to @code{LD_LIBRARY_PATH}.
@item @item
Add a link to @code{libz.so} from @code{/lib} Add a link to @code{libz.so} from @code{/lib}.
@item @item
If you are using Solaris 8, you can install the optional zlib from your If you are using Solaris 8, you can install the optional zlib from your
Solaris 8 CD distribution. Solaris 8 CD distribution.
...@@ -6141,7 +6140,7 @@ configure @strong{MySQL} with the @code{--with-named-z-libs=no} option. ...@@ -6141,7 +6140,7 @@ configure @strong{MySQL} with the @code{--with-named-z-libs=no} option.
@end itemize @end itemize
@node Solaris x86, SunOS, Solaris 2.7, Source install system issues @node Solaris x86, SunOS, Solaris 2.7, Source install system issues
@subsection Solaris x86 notes @subsection Solaris x86 Notes
If you are using @code{gcc} or @code{egcs} on Solaris x86 and you If you are using @code{gcc} or @code{egcs} on Solaris x86 and you
experience problems with core dumps under load, you should use the experience problems with core dumps under load, you should use the
...@@ -6161,7 +6160,7 @@ If this doesn't help, you should compile a debug version and run ...@@ -6161,7 +6160,7 @@ If this doesn't help, you should compile a debug version and run
it with a trace file or under @code{gdb}. @xref{Debugging server}. it with a trace file or under @code{gdb}. @xref{Debugging server}.
@node SunOS, Linux, Solaris x86, Source install system issues @node SunOS, Linux, Solaris x86, Source install system issues
@subsection SunOS 4 notes @subsection SunOS 4 Notes
On SunOS 4, MIT-pthreads is needed to compile @strong{MySQL}, which in turn On SunOS 4, MIT-pthreads is needed to compile @strong{MySQL}, which in turn
means you will need GNU @code{make}. means you will need GNU @code{make}.
...@@ -6181,23 +6180,23 @@ When compiling @code{mysqld}, there will be some @code{implicit declaration ...@@ -6181,23 +6180,23 @@ When compiling @code{mysqld}, there will be some @code{implicit declaration
of function} warnings. These may be ignored. of function} warnings. These may be ignored.
@node Linux, Alpha-DEC-UNIX, SunOS, Source install system issues @node Linux, Alpha-DEC-UNIX, SunOS, Source install system issues
@subsection Linux notes (all Linux versions) @subsection Linux Notes (All Linux Versions)
@strong{MySQL} uses LinuxThreads on Linux. If you are using an old @strong{MySQL} uses LinuxThreads on Linux. If you are using an old
Linux version that doesn't have @code{glibc2}, you must install Linux version that doesn't have @code{glibc2}, you must install
LinuxThreads before trying to compile LinuxThreads before trying to compile
@strong{MySQL}. @uref{http://www.mysql.com/Downloads/Linux} @strong{MySQL}. @uref{http://www.mysql.com/Downloads/Linux}
Note that @code{glibc} versions before and including 2.1.1 has a fatal Note that @code{glibc} versions before and including Version 2.1.1 have a fatal
bug in @code{pthread_mutex_timedwait} handling, which is used when you bug in @code{pthread_mutex_timedwait} handling, which is used when you
do @code{INSERT DELAYED}. If you are using @code{INSERT DELAYED}, you do @code{INSERT DELAYED}. If you are using @code{INSERT DELAYED}, you
@strong{MUST} add the following patch to your glibc library: @strong{MUST} add the following patch to your glibc library:
@uref{http://www.mysql.com/Downloads/Patches/glibc-pthread_cond_timedwait.patch}. @uref{http://www.mysql.com/Downloads/Patches/glibc-pthread_cond_timedwait.patch}.
@strong{MySQL} 3.23.7 and the @strong{MySQL} 3.22.32 contains a @strong{MySQL} Versions 3.23.7 and 3.22.32 contain a temporary
temporary workaround for this bug. workaround for this bug.
If you plan to have 1000+ concurrent connections, you will need to make If you plan to have 1000+ concurrent connections, you will need to make
some changes to LinuxThreads, recompile it, and re-link MySQL against some changes to LinuxThreads, recompile it, and relink MySQL against
the new @file{libpthread.a}. Increase @code{PTHREAD_THREADS_MAX} in the new @file{libpthread.a}. Increase @code{PTHREAD_THREADS_MAX} in
@file{sysdeps/unix/sysv/linux/bits/local_lim.h} to 4096 and decrease @file{sysdeps/unix/sysv/linux/bits/local_lim.h} to 4096 and decrease
@code{STACK_SIZE} in @file{internals.h} to 256 KB. Note that MySQL @code{STACK_SIZE} in @file{internals.h} to 256 KB. Note that MySQL
...@@ -6207,39 +6206,39 @@ is the default of 2 MB. ...@@ -6207,39 +6206,39 @@ is the default of 2 MB.
If you have glibc 2.1.3-65 or newer, you don't have to increase STACK_SIZE; If you have glibc 2.1.3-65 or newer, you don't have to increase STACK_SIZE;
You can instead just change the @code{thread_stack} value for @code{mysqld}. You can instead just change the @code{thread_stack} value for @code{mysqld}.
If you use a lot of concurrent connections, you may suffer from a 2.2 If you use a lot of concurrent connections, you may suffer from a Version 2.2
kernel "feature" that penalizes a process for forking or cloning a child kernel "feature" that penalizes a process for forking or cloning a child
in an attempt to prevent a fork bomb attack. This will cause MySQL not in an attempt to prevent a fork bomb attack. This will cause MySQL not
to scale well as you increase the number of concurrent clients. On to scale well as you increase the number of concurrent clients. On
single CPU systems, we have seen this manifested in a very slow thread single CPU systems, we have seen this manifested in a very slow thread
creation - which means it may take a long time to connect to MySQL ( as creation - which means it may take a long time to connect to MySQL (as
long as 1 minute), and it may take just as long to shut it down. On long as 1 minute), and it may take just as long to shut it down. On
multiple CPU systems, we have observed a gradual drop in query speed as multiple CPU systems, we have observed a gradual drop in query speed as
the number of clients increases. In the process of trying to find a the number of clients increases. In the process of trying to find a
solution, we have received a kernel patch from one of our users, who solution, we have received a kernel patch from one of our users, who
claimed it made a lot of difference for his site. We have done some claimed it made a lot of difference for his site. We have done some
limited testing in which the patch greatly improved the scalabitility of limited testing in which the patch greatly improved the scalabitility of
MySQL. The patch is available MySQL. The patch is available here
@uref{http://www.mysql.com/Downloads/Patches/linux-fork.patch,here} - be (@uref{http://www.mysql.com/Downloads/Patches/linux-fork.patch}). Be
warned, though, that we assume no reponsibility for any damage that this warned, though, that we assume no reponsibility for any damage that this
patch could do - use at your own risk. We have also been told by the patch could do. Use it at your own risk. We have also been told by the
Linux kernel developers that this problem is fixed in 2.4, although we Linux kernel developers that this problem is fixed in Version 2.4, although
have not yet done any testing. we have not yet done any testing.
We have also tested @strong{MySQL} on Linux 2.4 on a 2 CPU machine and We have also tested @strong{MySQL} on Linux Version 2.4 on a 2 CPU machine and
@strong{MySQL} scales MUCH better on this! If your plan to set up a @strong{MySQL} scales MUCH better on this! If your plan to set up a
dedicated Linux SMP machine to run @code{MySQL} under heavy, we dedicated Linux SMP machine to run @code{MySQL} under heavy load, we
recommend that you give 2.4 a try! recommend that you give Version 2.4 a try!
The current implementation of mutex in Linuxthreads is also very bad for The current implementation of mutex in Linuxthreads is also very bad for
programs with many threads that only holds the mutex for a short time. programs with many threads that only hold the mutex for a short time.
We have made a patch available for glibc 2.1, We have made a patch available for glibc 2.1,
@uref{http://www.mysql.com/Downloads/Linux/linuxthreads-2.1-patch,linuxthreads-2.1-patch} @uref{http://www.mysql.com/Downloads/Linux/linuxthreads-2.1-patch,linuxthreads-2.1-patch}
and for glibc 2.2, and for glibc 2.2,
@uref{http://www.mysql.com/Downloads/Linux/linuxthreads-2.2-patch,linuxthreads-2.2-patch}. @uref{http://www.mysql.com/Downloads/Linux/linuxthreads-2.2-patch,linuxthreads-2.2-patch}.
If you apply the patches, you are doing this at your own risk; We can If you apply the patches, you are doing this at your own risk. We can
only say that they appear to work excellent for us!. only say that they appear to work well for us!.
If you can't start @code{mysqld} or if @code{mysql_install_db} doesn't work, If you can't start @code{mysqld} or if @code{mysql_install_db} doesn't work,
please continue reading! This only happens on Linux system with problems in please continue reading! This only happens on Linux system with problems in
...@@ -6251,7 +6250,7 @@ would compile yourself! @xref{Compile and link options}. ...@@ -6251,7 +6250,7 @@ would compile yourself! @xref{Compile and link options}.
One known problem with the binary distribution is that with older Linux One known problem with the binary distribution is that with older Linux
systems that use @code{libc} (like RedHat 4.x or Slackware), you will get systems that use @code{libc} (like RedHat 4.x or Slackware), you will get
some non-fatal problems with hostname resolution some non-fatal problems with hostname resolution.
@xref{Binary notes-Linux}. @xref{Binary notes-Linux}.
@code{myisamchk} hangs with @code{libc.so.5.3.12}. Upgrading to the newest @code{myisamchk} hangs with @code{libc.so.5.3.12}. Upgrading to the newest
...@@ -6269,16 +6268,16 @@ connections to MySQL on a unpatched system. The page ...@@ -6269,16 +6268,16 @@ connections to MySQL on a unpatched system. The page
go around this limit. go around this limit.
If you see a dead @code{mysqld} daemon process with @code{ps}, this usually If you see a dead @code{mysqld} daemon process with @code{ps}, this usually
means that you have found a bug in @strong{MySQL} or you have got a corrupted means that you have found a bug in @strong{MySQL} or you have a corrupted
table. @xref{Crashing}. table. @xref{Crashing}.
If you want to get a core dump on Linux if mysqld dies with a SIGSEGV To get a core dump on Linux if mysqld dies with a SIGSEGV
signal, you can start mysqld with the @code{--core-file} option. Note signal, you can start mysqld with the @code{--core-file} option. Note
that you also probably need to raise the @code{core file size} with that you also probably need to raise the @code{core file size} with
@code{ulimit}! @code{ulimit}!
If you are using LinuxThreads and @code{mysqladmin shutdown} doesn't work, If you are using LinuxThreads and @code{mysqladmin shutdown} doesn't work,
you must upgrade to LinuxThreads 0.7.1 or newer. you must upgrade to LinuxThreads Version 0.7.1 or newer.
If you are using RedHat, you might get errors like this: If you are using RedHat, you might get errors like this:
...@@ -6291,7 +6290,7 @@ If you are using RedHat, you might get errors like this: ...@@ -6291,7 +6290,7 @@ If you are using RedHat, you might get errors like this:
If so, you should upgrade your version of @code{rpm} to If so, you should upgrade your version of @code{rpm} to
@file{rpm-2.4.11-1.i386.rpm} and @file{rpm-devel-2.4.11-1.i386.rpm} (or later). @file{rpm-2.4.11-1.i386.rpm} and @file{rpm-devel-2.4.11-1.i386.rpm} (or later).
You can get the upgrades of libraries to RedHat 4.2 from You can get the upgrades of libraries to RedHat Version 4.2 from
@uref{ftp://ftp.redhat.com/updates/4.2/i386}. Or @uref{ftp://ftp.redhat.com/updates/4.2/i386}. Or
@uref{http://www.sunsite.unc.edu/pub/Linux/distributions/redhat/code/rpm/} @uref{http://www.sunsite.unc.edu/pub/Linux/distributions/redhat/code/rpm/}
for other distributions. for other distributions.
...@@ -6302,7 +6301,7 @@ If you are linking your own @strong{MySQL} client and get the error: ...@@ -6302,7 +6301,7 @@ If you are linking your own @strong{MySQL} client and get the error:
ld.so.1: ./my: fatal: libmysqlclient.so.4: open failed: No such file or directory ld.so.1: ./my: fatal: libmysqlclient.so.4: open failed: No such file or directory
@end example @end example
when executing them, the problem can be avoided by one of the following When executing them, the problem can be avoided by one of the following
methods: methods:
@itemize @bullet @itemize @bullet
...@@ -6340,12 +6339,12 @@ CC=fcc CFLAGS="-O -K fast -K lib -K omitfp -Kpreex -D_GNU_SOURCE -DCONST=const - ...@@ -6340,12 +6339,12 @@ CC=fcc CFLAGS="-O -K fast -K lib -K omitfp -Kpreex -D_GNU_SOURCE -DCONST=const -
@end menu @end menu
@node Linux-x86, Linux-RedHat50, Linux, Linux @node Linux-x86, Linux-RedHat50, Linux, Linux
@subsubsection Linux-x86 notes @subsubsection Linux-x86 Notes
@strong{MySQL} requires @code{libc} version 5.4.12 or newer. It's known to @strong{MySQL} requires @code{libc} Version 5.4.12 or newer. It's known to
work with @code{libc} 5.4.46. @code{glibc} version 2.0.6 and later should work with @code{libc} 5.4.46. @code{glibc} Version 2.0.6 and later should
also work. There have been some problems with the @code{glibc} RPMs from also work. There have been some problems with the @code{glibc} RPMs from
RedHat so if you have problems, check whether or not there are any updates! RedHat, so if you have problems, check whether or not there are any updates!
The @code{glibc} 2.0.7-19 and 2.0.7-29 RPMs are known to work. The @code{glibc} 2.0.7-19 and 2.0.7-29 RPMs are known to work.
On some older Linux distributions, @code{configure} may produce an error On some older Linux distributions, @code{configure} may produce an error
...@@ -6378,14 +6377,14 @@ shell> /usr/sbin/update-rc.d mysql.server defaults 99 ...@@ -6378,14 +6377,14 @@ shell> /usr/sbin/update-rc.d mysql.server defaults 99
@end example @end example
@code{mysql.server} can be found in the @file{share/mysql} directory @code{mysql.server} can be found in the @file{share/mysql} directory
under the @strong{MySQL} installation directory, or in the under the @strong{MySQL} installation directory or in the
@file{support-files} directory of the @strong{MySQL} source tree. @file{support-files} directory of the @strong{MySQL} source tree.
If @code{mysqld} always core dumps when it starts up, the problem may be that If @code{mysqld} always core dumps when it starts up, the problem may be that
you have an old @file{/lib/libc.a}. Try renaming it, then remove you have an old @file{/lib/libc.a}. Try renaming it, then remove
@file{sql/mysqld} and do a new @code{make install} and try again. This @file{sql/mysqld} and do a new @code{make install} and try again. This
problem has been reported on some Slackware installations. RedHat 5.0 has problem has been reported on some Slackware installations. RedHat Version 5.0
also a similar problem with some new @code{glibc} versions. also has a similar problem with some new @code{glibc} versions.
@xref{Linux-RedHat50}. @xref{Linux-RedHat50}.
If you get the following error when linking @code{mysqld}, If you get the following error when linking @code{mysqld},
...@@ -6403,7 +6402,7 @@ shell> CXX=gcc ./configure ...@@ -6403,7 +6402,7 @@ shell> CXX=gcc ./configure
@end example @end example
@node Linux-RedHat50, Linux-RedHat51, Linux-x86, Linux @node Linux-RedHat50, Linux-RedHat51, Linux-x86, Linux
@subsubsection RedHat 5.0 notes @subsubsection RedHat Version 5.0 Notes
If you have any problems with @strong{MySQL} on RedHat, you should start by If you have any problems with @strong{MySQL} on RedHat, you should start by
upgrading @code{glibc} to the newest possible version! upgrading @code{glibc} to the newest possible version!
...@@ -6415,7 +6414,7 @@ any trouble! ...@@ -6415,7 +6414,7 @@ any trouble!
The updates are needed because there is a bug in @code{glibc} 2.0.5 in how The updates are needed because there is a bug in @code{glibc} 2.0.5 in how
@code{pthread_key_create} variables are freed. With @code{glibc} 2.0.5, you @code{pthread_key_create} variables are freed. With @code{glibc} 2.0.5, you
must use a statically-linked @strong{MySQL} binary distribution. If you must use a statically linked @strong{MySQL} binary distribution. If you
want to compile from source, you must install the corrected version of want to compile from source, you must install the corrected version of
LinuxThreads from @uref{http://www.mysql.com/Downloads/Linux} or upgrade your LinuxThreads from @uref{http://www.mysql.com/Downloads/Linux} or upgrade your
@code{glibc}. @code{glibc}.
...@@ -6432,8 +6431,8 @@ like this: ...@@ -6432,8 +6431,8 @@ like this:
shell> ./configure --with-mysqld-ldflags=-all-static shell> ./configure --with-mysqld-ldflags=-all-static
@end example @end example
On Redhat 5.0, the easy way out is to install the @code{glibc} 2.0.7-19 RPM On Redhat Version 5.0, the easy way out is to install the @code{glibc}
and run @code{configure} @strong{without} the 2.0.7-19 RPM and run @code{configure} @strong{without} the
@code{--with-mysqld-ldflags=-all-static} option. @code{--with-mysqld-ldflags=-all-static} option.
For the source distribution of @code{glibc} 2.0.7, a patch that is easy to For the source distribution of @code{glibc} 2.0.7, a patch that is easy to
...@@ -6453,13 +6452,13 @@ wide range of different problems. ...@@ -6453,13 +6452,13 @@ wide range of different problems.
@xref{Debugging server}. @xref{Debugging server}.
@node Linux-RedHat51, Linux-SPARC, Linux-RedHat50, Linux @node Linux-RedHat51, Linux-SPARC, Linux-RedHat50, Linux
@subsubsection RedHat 5.1 notes @subsubsection RedHat Version 5.1 notes
The @code{glibc} of RedHat 5.1 (@code{glibc} 2.0.7-13) has a memory leak, so The @code{glibc} of RedHat Version 5.1 (@code{glibc} 2.0.7-13) has a memory
to get a stable @strong{MySQL} version, you must upgrade @code{glibc} to leak, so to get a stable @strong{MySQL} version, you must upgrade @code{glibc},
2.0.7-19, downgrade @code{glibc} or use a binary version of @code{mysqld}. If to 2.0.7-19, downgrade @code{glibc} or use a binary version of @code{mysqld}.
you don't do this, you will encounter memory problems (out of memory, etc., If you don't do this, you will encounter memory problems (out of memory, etc.).
etc.). The most common error in this case is: The most common error in this case is:
@example @example
Can't create a new thread (errno 11). If you are not out of available Can't create a new thread (errno 11). If you are not out of available
...@@ -6478,7 +6477,7 @@ than your Linux kernel is configured for. In this case you should raise ...@@ -6478,7 +6477,7 @@ than your Linux kernel is configured for. In this case you should raise
the limits in @file{include/linux/tasks.h} and recompile your kernel! the limits in @file{include/linux/tasks.h} and recompile your kernel!
@node Linux-SPARC, Linux-Alpha, Linux-RedHat51, Linux @node Linux-SPARC, Linux-Alpha, Linux-RedHat51, Linux
@subsubsection Linux-SPARC notes @subsubsection Linux-SPARC Notes
In some implementations, @code{readdir_r()} is broken. The symptom is that In some implementations, @code{readdir_r()} is broken. The symptom is that
@code{SHOW DATABASES} always returns an empty set. This @code{SHOW DATABASES} always returns an empty set. This
...@@ -6491,14 +6490,12 @@ be found at ...@@ -6491,14 +6490,12 @@ be found at
against the Linux distribution @file{sparclinux-2.0.30.tar.gz} that is against the Linux distribution @file{sparclinux-2.0.30.tar.gz} that is
available at @code{vger.rutgers.edu} (a version of Linux that was available at @code{vger.rutgers.edu} (a version of Linux that was
never merged with the official 2.0.30). You must also install never merged with the official 2.0.30). You must also install
LinuxThreads 0.6 or newer. LinuxThreads Version 0.6 or newer.
Thanks to @email{jacques@@solucorp.qc.ca} for this information.
@node Linux-Alpha, MKLinux, Linux-SPARC, Linux @node Linux-Alpha, MKLinux, Linux-SPARC, Linux
@subsubsection Linux-Alpha notes @subsubsection Linux-Alpha Notes
@strong{MySQL} 3.23.12 is the first @strong{MySQL} version that is @strong{MySQL} Version 3.23.12 is the first @strong{MySQL} version that is
tested on Linux-Alpha. If you plan to use @strong{MySQL} on tested on Linux-Alpha. If you plan to use @strong{MySQL} on
Linux-Alpha, you should ensure that you have this version or newer. Linux-Alpha, you should ensure that you have this version or newer.
...@@ -6507,7 +6504,7 @@ it appears to work nicely. The main thing we haven't yet had time to test ...@@ -6507,7 +6504,7 @@ it appears to work nicely. The main thing we haven't yet had time to test
is how things works with many concurrent users. is how things works with many concurrent users.
When we compiled @strong{MySQL} we where using SuSE 6.3, kernel 2.2.13-SMP, When we compiled @strong{MySQL} we where using SuSE 6.3, kernel 2.2.13-SMP,
egcs 1.1.2 and libc-2.1.2-28. egcs 1.1.2, and libc-2.1.2-28.
We used the following configure line: We used the following configure line:
...@@ -6560,13 +6557,13 @@ effect that you can't kill clients that are ``sleeping'' on a connection with ...@@ -6560,13 +6557,13 @@ effect that you can't kill clients that are ``sleeping'' on a connection with
will die when it issues its next command. will die when it issues its next command.
@node MKLinux, Qube2, Linux-Alpha, Linux @node MKLinux, Qube2, Linux-Alpha, Linux
@subsubsection MkLinux notes @subsubsection MkLinux Notes
@strong{MySQL} should work on MkLinux with the newest @code{glibc} package @strong{MySQL} should work on MkLinux with the newest @code{glibc} package
(tested with @code{glibc} 2.0.7). (tested with @code{glibc} 2.0.7).
@node Qube2, Linux-Ia64, MKLinux, Linux @node Qube2, Linux-Ia64, MKLinux, Linux
@subsubsection Qube2 Linux notes @subsubsection Qube2 Linux Notes
To get @strong{MySQL} to work on Qube2, (Linux Mips), you need the To get @strong{MySQL} to work on Qube2, (Linux Mips), you need the
newest @code{glibc} libraries (@code{glibc-2.0.7-29C2} is known to newest @code{glibc} libraries (@code{glibc-2.0.7-29C2} is known to
...@@ -6575,7 +6572,7 @@ work). You must also use the @code{egcs} C++ compiler ...@@ -6575,7 +6572,7 @@ work). You must also use the @code{egcs} C++ compiler
@node Linux-Ia64, , Qube2, Linux @node Linux-Ia64, , Qube2, Linux
@subsubsection Linux Ia64 notes @subsubsection Linux IA64 Notes
To get @strong{MySQL} to compile on Linux Ia64, we had to do the following To get @strong{MySQL} to compile on Linux Ia64, we had to do the following
(we assume that this will be easier when next gcc version for ia64 is (we assume that this will be easier when next gcc version for ia64 is
...@@ -6602,7 +6599,7 @@ make_install ...@@ -6602,7 +6599,7 @@ make_install
and @strong{mysqld} should be ready to run. and @strong{mysqld} should be ready to run.
@node Alpha-DEC-UNIX, Alpha-DEC-OSF1, Linux, Source install system issues @node Alpha-DEC-UNIX, Alpha-DEC-OSF1, Linux, Source install system issues
@subsection Alpha-DEC-UNIX notes (Tru64) @subsection Alpha-DEC-UNIX Notes (Tru64)
If you are using egcs 1.1.2 on Digital UNIX, you should upgrade to gcc If you are using egcs 1.1.2 on Digital UNIX, you should upgrade to gcc
2.95.2, as egcs on DEC has some serious bugs! 2.95.2, as egcs on DEC has some serious bugs!
...@@ -6680,7 +6677,7 @@ scripts/mysql_install_db ...@@ -6680,7 +6677,7 @@ scripts/mysql_install_db
@end example @end example
@node Alpha-DEC-OSF1, SGI-Irix, Alpha-DEC-UNIX, Source install system issues @node Alpha-DEC-OSF1, SGI-Irix, Alpha-DEC-UNIX, Source install system issues
@subsection Alpha-DEC-OSF1 notes @subsection Alpha-DEC-OSF1 Notes
If you have problems compiling and have DEC @code{CC} and @code{gcc} If you have problems compiling and have DEC @code{CC} and @code{gcc}
installed, try running @code{configure} like this: installed, try running @code{configure} like this:
...@@ -6742,7 +6739,7 @@ shell> CFLAGS=-D_PTHREAD_USE_D4 CXX=gcc CXXFLAGS=-O3 ./configure .... ...@@ -6742,7 +6739,7 @@ shell> CFLAGS=-D_PTHREAD_USE_D4 CXX=gcc CXXFLAGS=-O3 ./configure ....
@end example @end example
If you have problems with signals (@strong{MySQL} dies unexpectedly If you have problems with signals (@strong{MySQL} dies unexpectedly
under high load) you may have found an OS bug with threads and under high load), you may have found an OS bug with threads and
signals. In this case you can tell @strong{MySQL} not to use signals by signals. In this case you can tell @strong{MySQL} not to use signals by
configuring with: configuring with:
...@@ -6764,17 +6761,17 @@ sql_acl.cc:1456: Internal compiler error in `scan_region', at except.c:2566 ...@@ -6764,17 +6761,17 @@ sql_acl.cc:1456: Internal compiler error in `scan_region', at except.c:2566
Please submit a full bug report. Please submit a full bug report.
@end example @end example
To fix this you should change to the @code{sql} directory and do a 'cut To fix this you should change to the @code{sql} directory and do a ``cut
and paste' of the last @code{gcc} line, but change @code{-O3} to and paste'' of the last @code{gcc} line, but change @code{-O3} to
@code{-O0} (or add @code{-O0} immediately after @code{gcc} if you don't @code{-O0} (or add @code{-O0} immediately after @code{gcc} if you don't
have any @code{-O} option on your compile line. After this is done you have any @code{-O} option on your compile line.) After this is done you
can just change back to the top level directly and run @code{make} can just change back to the top-level directly and run @code{make}
again. again.
@node SGI-Irix, FreeBSD, Alpha-DEC-OSF1, Source install system issues @node SGI-Irix, FreeBSD, Alpha-DEC-OSF1, Source install system issues
@subsection SGI-Irix notes @subsection SGI-Irix Notes
If you are using Irix 6.5.3 or newer @code{mysqld} will only be able to If you are using Irix Version 6.5.3 or newer @code{mysqld} will only be able to
create threads if you run it as a user with @code{CAP_SCHED_MGT} create threads if you run it as a user with @code{CAP_SCHED_MGT}
privileges (like @code{root}) or give the @code{mysqld} server this privilege privileges (like @code{root}) or give the @code{mysqld} server this privilege
with the following shell command: with the following shell command:
...@@ -6810,7 +6807,7 @@ If you get the something like the following error when compiling ...@@ -6810,7 +6807,7 @@ If you get the something like the following error when compiling
"/usr/include/curses.h", line 82: error(1084): invalid combination of type "/usr/include/curses.h", line 82: error(1084): invalid combination of type
@end example @end example
Then type the following in the top-level directory of your @strong{MySQL} then type the following in the top-level directory of your @strong{MySQL}
source tree: source tree:
@example @example
...@@ -6821,7 +6818,7 @@ shell> make ...@@ -6821,7 +6818,7 @@ shell> make
There have also been reports of scheduling problems. If only one thread is There have also been reports of scheduling problems. If only one thread is
running, things go slow. Avoid this by starting another client. This may lead running, things go slow. Avoid this by starting another client. This may lead
to a 2-to-10-fold increase in execution speed thereafter for the other to a 2-to-10-fold increase in execution speed thereafter for the other
thread. This is a poorly-understood problem with Irix threads; you may have thread. This is a poorly understood problem with Irix threads; you may have
to improvise to find solutions until this can be fixed. to improvise to find solutions until this can be fixed.
If you are compiling with @code{gcc}, you can use the following If you are compiling with @code{gcc}, you can use the following
...@@ -6833,14 +6830,14 @@ shell> CC=gcc CXX=gcc CXXFLAGS=-O3 \ ...@@ -6833,14 +6830,14 @@ shell> CC=gcc CXX=gcc CXXFLAGS=-O3 \
@end example @end example
@node FreeBSD, NetBSD, SGI-Irix, Source install system issues @node FreeBSD, NetBSD, SGI-Irix, Source install system issues
@subsection FreeBSD notes @subsection FreeBSD Notes
FreeBSD 3.x is recommended for running @strong{MySQL} since it the thread package FreeBSD 3.x is recommended for running @strong{MySQL} since the thread package
is much more integrated. is much more integrated.
The easiest and therefor the preferred way to install is to use the The easiest and therefor the preferred way to install is to use the
mysql-server and mysql-client ports available on mysql-server and mysql-client ports available on
@uref{http://www.freebsd.org} @uref{http://www.freebsd.org}.
Using these gives you: Using these gives you:
@itemize @bullet @itemize @bullet
...@@ -6850,15 +6847,15 @@ of FreeBSD enabled. ...@@ -6850,15 +6847,15 @@ of FreeBSD enabled.
@item @item
Automatic configuration and build. Automatic configuration and build.
@item @item
Startup scripts installed in /usr/local/etc/rc.d Startup scripts installed in /usr/local/etc/rc.d.
@item @item
Ability to see which files that are installed with pkg_info -L. And to Ability to see which files that are installed with pkg_info -L. And to
remove them all with pkg_delete if you no longer want @strong{MySQL} on that remove them all with pkg_delete if you no longer want @strong{MySQL} on that
machine. machine.
@end itemize @end itemize
It is recomended to use MIT-pthreads on FreeBSD 2.x and native threads on It is recomended you use MIT-pthreads on FreeBSD 2.x and native threads on
versions 3 and up. It is possible to run with with native threads on some late Versions 3 and up. It is possible to run with with native threads on some late
2.2.x versions but you may encounter problems shutting down mysqld. 2.2.x versions but you may encounter problems shutting down mysqld.
Be sure to have your name resolver setup correct. Otherwise you may Be sure to have your name resolver setup correct. Otherwise you may
...@@ -6891,8 +6888,8 @@ The behavior of FreeBSD @code{make} is slightly different from that of GNU ...@@ -6891,8 +6888,8 @@ The behavior of FreeBSD @code{make} is slightly different from that of GNU
FreeBSD is also known to have a very low default file handle limit. FreeBSD is also known to have a very low default file handle limit.
@xref{Not enough file handles}. Uncomment the ulimit -n section in @xref{Not enough file handles}. Uncomment the ulimit -n section in
safe_mysqld or raise the limits for the mysqld user in /etc/login.conf safe_mysqld or raise the limits for the mysqld user in /etc/login.conf
(and rebuild it witg cap_mkdb /etc/login.conf) also be sure you set the (and rebuild it witg cap_mkdb /etc/login.conf.) Also be sure you set the
appropriate Class for this user in the password file if you are not appropriate class for this user in the password file if you are not
using the default (use: chpass mysqld-user-name) using the default (use: chpass mysqld-user-name)
If you get problems with the current date in @strong{MySQL}, setting the If you get problems with the current date in @strong{MySQL}, setting the
...@@ -6908,17 +6905,17 @@ To compile on NetBSD you need GNU @code{make}. Otherwise the compile will crash ...@@ -6908,17 +6905,17 @@ To compile on NetBSD you need GNU @code{make}. Otherwise the compile will crash
when @code{make} tries to run @code{lint} on C++ files. when @code{make} tries to run @code{lint} on C++ files.
@node OpenBSD, BSDI, NetBSD, Source install system issues @node OpenBSD, BSDI, NetBSD, Source install system issues
@subsection OpenBSD 2.5 notes @subsection OpenBSD 2.5 Notes
On OpenBSD 2.5, you can compile @strong{MySQL} with native threads with the On OpenBSD Version 2.5, you can compile @strong{MySQL} with native threads
following options: with the following options:
@example @example
CFLAGS=-pthread CXXFLAGS=-pthread ./configure --with-mit-threads=no CFLAGS=-pthread CXXFLAGS=-pthread ./configure --with-mit-threads=no
@end example @end example
@node BSDI, SCO, OpenBSD, Source install system issues @node BSDI, SCO, OpenBSD, Source install system issues
@subsection BSD/OS notes @subsection BSD/OS Notes
@menu @menu
* BSDI2:: BSD/OS 2.x notes * BSDI2:: BSD/OS 2.x notes
...@@ -6927,7 +6924,7 @@ CFLAGS=-pthread CXXFLAGS=-pthread ./configure --with-mit-threads=no ...@@ -6927,7 +6924,7 @@ CFLAGS=-pthread CXXFLAGS=-pthread ./configure --with-mit-threads=no
@end menu @end menu
@node BSDI2, BSDI3, BSDI, BSDI @node BSDI2, BSDI3, BSDI, BSDI
@subsubsection BSD/OS 2.x notes @subsubsection BSD/OS Version 2.x Notes
If you get the following error when compiling @strong{MySQL}, your If you get the following error when compiling @strong{MySQL}, your
@code{ulimit} value for virtual memory is too low: @code{ulimit} value for virtual memory is too low:
...@@ -6951,9 +6948,10 @@ If you get problems with the current date in @strong{MySQL}, setting the ...@@ -6951,9 +6948,10 @@ If you get problems with the current date in @strong{MySQL}, setting the
@code{TZ} variable will probably help. @xref{Environment variables}. @code{TZ} variable will probably help. @xref{Environment variables}.
@node BSDI3, BSDI4, BSDI2, BSDI @node BSDI3, BSDI4, BSDI2, BSDI
@subsubsection BSD/OS 3.x notes @subsubsection BSD/OS Version 3.x Notes
Upgrade to BSD/OS 3.1. If that is not possible, install BSDIpatch M300-038. Upgrade to BSD/OS Version 3.1. If that is not possible, install
BSDIpatch M300-038.
Use the following command when configuring @strong{MySQL}: Use the following command when configuring @strong{MySQL}:
...@@ -6980,7 +6978,7 @@ defaults by not specifying any locations. ...@@ -6980,7 +6978,7 @@ defaults by not specifying any locations.
If you have problems with performance under heavy load, try using the If you have problems with performance under heavy load, try using the
@code{--skip-thread-priority} option to @code{safe_mysqld}! This will run @code{--skip-thread-priority} option to @code{safe_mysqld}! This will run
all threads with the same priority; on BSDI 3.1, this gives better all threads with the same priority; on BSDI Version 3.1, this gives better
performance (at least until BSDI fixes their thread scheduler). performance (at least until BSDI fixes their thread scheduler).
If you get the error @code{virtual memory exhausted} while compiling, If you get the error @code{virtual memory exhausted} while compiling,
...@@ -6990,19 +6988,19 @@ If this doesn't work and you are using @code{bash}, try switching to ...@@ -6990,19 +6988,19 @@ If this doesn't work and you are using @code{bash}, try switching to
@code{bash} and @code{ulimit}. @code{bash} and @code{ulimit}.
@node BSDI4, , BSDI3, BSDI @node BSDI4, , BSDI3, BSDI
@subsubsection BSD/OS 4.x notes @subsubsection BSD/OS Version 4.x Notes
BSDI 4.x has some thread related bugs. If you want to use @strong{MySQL} BSDI Version 4.x has some thread-related bugs. If you want to use
on this, you should install all thread related patches. At least @strong{MySQL} on this, you should install all thread-related patches. At least
M400-023 should be installed. M400-023 should be installed.
On some BSDI 4.x systems, you may get problems with shared libraries. The On some BSDI Version 4.x systems, you may get problems with shared libraries.
symptom is that you can't execute any client programs, like for example The symptom is that you can't execute any client programs, for example,
@code{mysqladmin}. In this case you need to reconfigure not to use @code{mysqladmin}. In this case you need to reconfigure not to use
shared libraries with the @code{--disable-shared} option to configure. shared libraries with the @code{--disable-shared} option to configure.
@node SCO, SCO Unixware, BSDI, Source install system issues @node SCO, SCO Unixware, BSDI, Source install system issues
@subsection SCO notes @subsection SCO Notes
The current port is tested only on a ``sco3.2v5.0.4'' and The current port is tested only on a ``sco3.2v5.0.4'' and
``sco3.2v5.0.5'' system. There has also been a lot of progress on a ``sco3.2v5.0.5'' system. There has also been a lot of progress on a
...@@ -7027,7 +7025,7 @@ to execute the following command: ...@@ -7027,7 +7025,7 @@ to execute the following command:
shell> cp -p /usr/include/pthread/stdtypes.h /usr/local/lib/gcc-lib/i386-pc-sco3.2v5.0.5/egcs-2.91.66/include/pthread/ shell> cp -p /usr/include/pthread/stdtypes.h /usr/local/lib/gcc-lib/i386-pc-sco3.2v5.0.5/egcs-2.91.66/include/pthread/
@end example @end example
@item @item
You need the port of GCC 2.5.? for this product and the Development You need the port of GCC 2.5.x for this product and the Development
system. They are required on this version of SCO UNIX. You cannot system. They are required on this version of SCO UNIX. You cannot
just use the GCC Dev system. just use the GCC Dev system.
@item @item
...@@ -7039,14 +7037,14 @@ You can also get a precompiled package from ...@@ -7039,14 +7037,14 @@ You can also get a precompiled package from
@item @item
FSU Pthreads can be compiled with SCO UNIX 4.2 with tcpip. Or FSU Pthreads can be compiled with SCO UNIX 4.2 with tcpip. Or
OpenServer 3.0 or Open Desktop 3.0 (OS 3.0 ODT 3.0), with the SCO OpenServer 3.0 or Open Desktop 3.0 (OS 3.0 ODT 3.0), with the SCO
Development System installed using a good port of GCC 2.5.X ODT or OS Development System installed using a good port of GCC 2.5.x ODT or OS
3.0 you will need a good port of GCC 2.5.? There are a lot of problems 3.0 you will need a good port of GCC 2.5.x There are a lot of problems
without a good port. The port for this product requires the SCO UNIX without a good port. The port for this product requires the SCO UNIX
Development system. Without it, you are missing the libraries and the Development system. Without it, you are missing the libraries and the
linker that is needed. linker that is needed.
@item @item
To build FSU Pthreads on your system, do the following: To build FSU Pthreads on your system, do the following:
@enumerate @enumerate a
@item @item
Run @code{./configure} in the @file{threads/src} directory and select Run @code{./configure} in the @file{threads/src} directory and select
the SCO OpenServer option. This command copies @file{Makefile.SCO5} to the SCO OpenServer option. This command copies @file{Makefile.SCO5} to
...@@ -7066,7 +7064,7 @@ default 110 open files per process. @code{mysqld} will write a note about this ...@@ -7066,7 +7064,7 @@ default 110 open files per process. @code{mysqld} will write a note about this
in the log file. in the log file.
@item @item
With SCO 3.2V5.0.5, you should use FSU Pthreads version 3.5c or newer. With SCO 3.2V5.0.5, you should use FSU Pthreads version 3.5c or newer.
You should also use gcc 2.95.2 or newer ! You should also use gcc 2.95.2 or newer!
The following @code{configure} command should work: The following @code{configure} command should work:
@example @example
...@@ -7096,10 +7094,10 @@ SCO development notes: ...@@ -7096,10 +7094,10 @@ SCO development notes:
@strong{MySQL} should automatically detect FSU Pthreads and link @code{mysqld} @strong{MySQL} should automatically detect FSU Pthreads and link @code{mysqld}
with @code{-lgthreads -lsocket -lgthreads}. with @code{-lgthreads -lsocket -lgthreads}.
@item @item
The SCO development libraries are reentrant in FSU Pthreads. SCO claims The SCO development libraries are re-entrant in FSU Pthreads. SCO claims
that its libraries' functions are reentrant, so they must be reentrant with that its libraries' functions are re-entrant, so they must be reentrant with
FSU Pthreads. FSU Pthreads on OpenServer tries to use the SCO scheme to FSU Pthreads. FSU Pthreads on OpenServer tries to use the SCO scheme to
make reentrant library. make re-entrant libraries.
@item @item
FSU Pthreads (at least the version at @uref{http://www.mysql.com/}) comes linked with FSU Pthreads (at least the version at @uref{http://www.mysql.com/}) comes linked with
GNU @code{malloc}. If you encounter problems with memory usage, make sure that GNU @code{malloc}. If you encounter problems with memory usage, make sure that
...@@ -7108,13 +7106,13 @@ is included in @file{libgthreads.a} and @file{libgthreads.so}. ...@@ -7108,13 +7106,13 @@ is included in @file{libgthreads.a} and @file{libgthreads.so}.
@item @item
In FSU Pthreads, the following system calls are pthreads-aware: @code{read()}, In FSU Pthreads, the following system calls are pthreads-aware: @code{read()},
@code{write()}, @code{getmsg()}, @code{connect()}, @code{accept()}, @code{write()}, @code{getmsg()}, @code{connect()}, @code{accept()},
@code{select()} and @code{wait()}. @code{select()}, and @code{wait()}.
@end itemize @end itemize
If you want to install DBI on SCO, you have to edit the @file{Makefiles} in If you want to install DBI on SCO, you have to edit the @file{Makefile} in
DBI-xxx and each subdirectory: DBI-xxx and each subdirectory.
Note that the following assumes gcc 2.95.2 or newer! Note that the following assumes gcc 2.95.2 or newer:
@example @example
OLD: NEW: OLD: NEW:
...@@ -7127,7 +7125,7 @@ LDDLFLAGS = -G -L/usr/local/lib LDDLFLAGS = -L/usr/local/lib ...@@ -7127,7 +7125,7 @@ LDDLFLAGS = -G -L/usr/local/lib LDDLFLAGS = -L/usr/local/lib
LDFLAGS = -belf -L/usr/local/lib LDFLAGS = -L/usr/local/lib LDFLAGS = -belf -L/usr/local/lib LDFLAGS = -L/usr/local/lib
LD = ld LD = gcc -G -fpic LD = ld LD = gcc -G -fpic
OPTIMISE = -Od OPTIMISE = -O1 OPTIMISE = -Od OPTIMISE = -O1
OLD: OLD:
CCCFLAGS = -belf -dy -w0 -U M_XENIX -DPERL_SCO5 -I/usr/local/include CCCFLAGS = -belf -dy -w0 -U M_XENIX -DPERL_SCO5 -I/usr/local/include
...@@ -7142,13 +7140,13 @@ if they were compiled with @code{icc} or @code{cc}. ...@@ -7142,13 +7140,13 @@ if they were compiled with @code{icc} or @code{cc}.
Perl works best when compiled with @code{cc}. Perl works best when compiled with @code{cc}.
@node SCO Unixware, IBM-AIX, SCO, Source install system issues @node SCO Unixware, IBM-AIX, SCO, Source install system issues
@subsection SCO Unixware 7.0 notes @subsection SCO Unixware Version 7.0 Notes
You must use a version of @strong{MySQL} at least as recent as 3.22.13, because You must use a version of @strong{MySQL} at least as recent as Version 3.22.13
that version fixes some portability problems under Unixware. because that version fixes some portability problems under Unixware.
We have been able to compile @strong{MySQL} with the following @code{configure} We have been able to compile @strong{MySQL} with the following @code{configure}
command on UnixWare 7.0.1: command on Unixware Version 7.0.1:
@example @example
shell> CC=cc CXX=CC ./configure --prefix=/usr/local/mysql shell> CC=cc CXX=CC ./configure --prefix=/usr/local/mysql
...@@ -7161,7 +7159,7 @@ If you want to use @code{gcc}, you must use @code{gcc} 2.95.2 or newer. ...@@ -7161,7 +7159,7 @@ If you want to use @code{gcc}, you must use @code{gcc} 2.95.2 or newer.
Automatic detection of @code{xlC} is missing from Autoconf, so a Automatic detection of @code{xlC} is missing from Autoconf, so a
@code{configure} command something like this is needed when compiling @code{configure} command something like this is needed when compiling
@strong{MySQL}: (The example uses the IBM compiler) @strong{MySQL} (The example uses the IBM compiler):
@example @example
export CC="xlc_r -ma -O3 -qstrict -qoptimize=3 -qmaxmem=8192 " export CC="xlc_r -ma -O3 -qstrict -qoptimize=3 -qmaxmem=8192 "
...@@ -7180,7 +7178,7 @@ export CXXFLAGS=$CFLAGS ...@@ -7180,7 +7178,7 @@ export CXXFLAGS=$CFLAGS
--enable-large-files --enable-large-files
@end example @end example
The above is the options used to compile the @strong{MySQL} distribution that Above are the options used to compile the @strong{MySQL} distribution that
can be found at @uref{http://www-frec.bull.com/, www-frec.bull.com}. can be found at @uref{http://www-frec.bull.com/, www-frec.bull.com}.
If you change the @code{-O3} to @code{-O2} in the above configure line, If you change the @code{-O3} to @code{-O2} in the above configure line,
...@@ -7190,7 +7188,7 @@ the IBM C compiler). ...@@ -7190,7 +7188,7 @@ the IBM C compiler).
If you are using @code{gcc} or @code{egcs} to compile @strong{MySQL}, you If you are using @code{gcc} or @code{egcs} to compile @strong{MySQL}, you
@strong{MUST} use the @code{-fno-exceptions} flag, as the exception @strong{MUST} use the @code{-fno-exceptions} flag, as the exception
handling in @code{gcc}/@code{egcs} is not thread-safe! (This is tested with handling in @code{gcc}/@code{egcs} is not thread-safe! (This is tested with
@code{egcs} 1.1.). There is also some known problems with IBM's assembler @code{egcs} 1.1.). There are also some known problems with IBM's assembler,
which may cause it to generate bad code when used with gcc. which may cause it to generate bad code when used with gcc.
We recommend the following @code{configure} line with @code{egcs} and We recommend the following @code{configure} line with @code{egcs} and
...@@ -7204,10 +7202,10 @@ shell> CC="gcc -pipe -mcpu=power2 -Wa,-many" \ ...@@ -7204,10 +7202,10 @@ shell> CC="gcc -pipe -mcpu=power2 -Wa,-many" \
@end example @end example
The @code{-Wa,-many} is necessary for the compile to be successful. IBM is The @code{-Wa,-many} is necessary for the compile to be successful. IBM is
aware of this problem but is in to hurry to fix because of the aware of this problem but is in to hurry to fix it because of the
workaround available. We don't know if the @code{-fno-exceptions} is required workaround available. We don't know if the @code{-fno-exceptions} is required
with @code{gcc 2.95}, but as @strong{MySQL} doesn't use exceptions and the with @code{gcc 2.95}, but as @strong{MySQL} doesn't use exceptions and the
above option generates faster code we recommend that one should always use above option generates faster code, we recommend that you should always use
this option with @code{egcs / gcc}. this option with @code{egcs / gcc}.
If you have problems with signals (@strong{MySQL} dies unexpectedly If you have problems with signals (@strong{MySQL} dies unexpectedly
...@@ -7226,20 +7224,21 @@ effect that you can't kill clients that are ``sleeping'' on a connection with ...@@ -7226,20 +7224,21 @@ effect that you can't kill clients that are ``sleeping'' on a connection with
@code{mysqladmin kill} or @code{mysqladmin shutdown}. Instead, the client @code{mysqladmin kill} or @code{mysqladmin shutdown}. Instead, the client
will die when it issues its next command. will die when it issues its next command.
On some versions of AIX, linking with @code{libbind.a} makes @code{getservbyname} core On some versions of AIX, linking with @code{libbind.a} makes
dump. This is an AIX bug and should be reported to IBM. @code{getservbyname} core dump. This is an AIX bug and should be reported
to IBM.
@node HP-UX 10.20, HP-UX 11.x, IBM-AIX, Source install system issues @node HP-UX 10.20, HP-UX 11.x, IBM-AIX, Source install system issues
@subsection HP-UX 10.20 notes @subsection HP-UX Version 10.20 Notes
There are a couple of ``small'' problems when compiling @strong{MySQL} on There are a couple of small problems when compiling @strong{MySQL} on
HP-UX. We recommend that you use @code{gcc} instead of the HP-UX native HP-UX. We recommend that you use @code{gcc} instead of the HP-UX native
compiler, because @code{gcc} produces better code! compiler, because @code{gcc} produces better code!
We recommend one to use gcc 2.95 on HP-UX. Don't use high optimization We recommend using gcc 2.95 on HP-UX. Don't use high optimization
flags (like -O6) as this may not be safe on HP-UX. flags (like -O6) as this may not be safe on HP-UX.
Note that MIT-pthreads can't be compiled with the HP-UX compiler, Note that MIT-pthreads can't be compiled with the HP-UX compiler
because it can't compile @code{.S} (assembler) files. because it can't compile @code{.S} (assembler) files.
The following configure line should work: The following configure line should work:
...@@ -7255,22 +7254,20 @@ packages you will get a @code{mysqld} to which you cannot connect. Remove ...@@ -7255,22 +7254,20 @@ packages you will get a @code{mysqld} to which you cannot connect. Remove
the DCE libraries while you compile @code{gcc} 2.95! the DCE libraries while you compile @code{gcc} 2.95!
@node HP-UX 11.x, Mac OS X, HP-UX 10.20, Source install system issues @node HP-UX 11.x, Mac OS X, HP-UX 10.20, Source install system issues
@subsection HP-UX 11.x notes @subsection HP-UX Version 11.x Notes
For HPUX 11.x we recommend @strong{MySQL} 3.23.15 or later. For HPUX Version 11.x we recommend @strong{MySQL} 3.23.15 or later.
If you are using @code{gcc} 2.95.1 on a unpatched HPUX 11.x system you will If you are using @code{gcc} 2.95.1 on a unpatched HPUX Versiib 11.x system,
get the error: you will get the error:
@example @example
In file included from /usr/include/unistd.h:11, In file included from /usr/include/unistd.h:11,
from ../include/global.h:125, from ../include/global.h:125,
from mysql_priv.h:15, from mysql_priv.h:15,
from item.cc:19: from item.cc:19:
/usr/include/sys/unistd.h:184: declaration of C function `int pthread_atfork(void (*)(...), void (*) /usr/include/sys/unistd.h:184: declaration of C function ...
(...), void (*)(...))' conflicts with /usr/include/sys/pthread.h:440: previous declaration ...
/usr/include/sys/pthread.h:440: previous declaration `int pthread_atfork(void (*)(), void (*)(), voi
d (*)())' here
In file included from item.h:306, In file included from item.h:306,
from mysql_priv.h:158, from mysql_priv.h:158,
from item.cc:19: from item.cc:19:
...@@ -7288,10 +7285,10 @@ the definition in @file{pthread.h}. Here's the diff: ...@@ -7288,10 +7285,10 @@ the definition in @file{pthread.h}. Here's the diff:
@example @example
183,184c183,184 183,184c183,184
< extern int pthread_atfork(void (*prepare)(), void (*parent)(), < extern int pthread_atfork(void (*prepare)(), void (*parent)(),
< void (*child)()); < void (*child)());
--- ---
> extern int pthread_atfork(void (*prepare)(void), void (*parent)(void), > extern int pthread_atfork(void (*prepare)(void), void (*parent)(void),
> void (*child)(void)); > void (*child)(void));
@end example @end example
After this, the following configure line should work: After this, the following configure line should work:
...@@ -7300,11 +7297,9 @@ After this, the following configure line should work: ...@@ -7300,11 +7297,9 @@ After this, the following configure line should work:
CFLAGS="-fomit-frame-pointer -O6 -fpic" CXX=gcc CXXFLAGS="-felide-constructors -fno-exceptions -fno-rtti -O6" ./configure --prefix=/usr/local/mysql --disable-shared CFLAGS="-fomit-frame-pointer -O6 -fpic" CXX=gcc CXXFLAGS="-felide-constructors -fno-exceptions -fno-rtti -O6" ./configure --prefix=/usr/local/mysql --disable-shared
@end example @end example
Here is some information that a HPUX 11.x user sent us about compile Here is some information that a HPUX Version 11.x user sent us about compiling
@strong{MySQL} with HPUX:x compiler @strong{MySQL} with HPUX:x compiler:
@itemize @bullet
@item
@example @example
Environment: Environment:
proper compilers. proper compilers.
...@@ -7320,32 +7315,30 @@ Here is some information that a HPUX 11.x user sent us about compile ...@@ -7320,32 +7315,30 @@ Here is some information that a HPUX 11.x user sent us about compile
cpp.ansi: HP92453-01 A.11.02.00 HP C Preprocessor (ANSI) cpp.ansi: HP92453-01 A.11.02.00 HP C Preprocessor (ANSI)
ccom: HP92453-01 A.11.01.00 HP C Compiler ccom: HP92453-01 A.11.01.00 HP C Compiler
cc: "/tmp/empty.c", line 1: warning 501: Empty source file. cc: "/tmp/empty.c", line 1: warning 501: Empty source file.
@end example
@item
@example
configuration: configuration:
./configure --with-pthread \ ./configure --with-pthread \
--prefix=/source-control/mysql \ --prefix=/source-control/mysql \
--with-named-thread-libs=-lpthread \ --with-named-thread-libs=-lpthread \
--with-low-memory --with-low-memory
@end example
@item
added '#define _CTYPE_INCLUDED' to include/m_ctype.h. This added '#define _CTYPE_INCLUDED' to include/m_ctype.h. This
symbol is the one defined in HP's /usr/include/ctype.h: symbol is the one defined in HP's /usr/include/ctype.h:
@example
/* Don't include std ctype.h when this is included */ /* Don't include std ctype.h when this is included */
#define _CTYPE_H #define _CTYPE_H
#define __CTYPE_INCLUDED #define __CTYPE_INCLUDED
#define _CTYPE_INCLUDED #define _CTYPE_INCLUDED
#define _CTYPE_USING /* Don't put names in global namespace. */ #define _CTYPE_USING /* Don't put names in global namespace. */
@end example @end example
@itemize @bullet
@item @item
I had to use the compile-time flag @code{-D_REENTRANT} to get the I had to use the compile-time flag @code{-D_REENTRANT} to get the
compiler to recognize the prototype for compiler to recognize the prototype for
@code{localtime_r}. Alternatively I could have supplied the prototype @code{localtime_r}. Alternatively I could have supplied the prototype
for @code{localtime_r}. But I wanted to catch other bugs without needing for @code{localtime_r}. But I wanted to catch other bugs without needing
to run into them. I wasn't sure where I needed it so I added it to all to run into them. I wasn't sure where I needed it, so I added it to all
flags. flags.
@item @item
The optimization flags used by @strong{MySQL} (-O3) are not recognized The optimization flags used by @strong{MySQL} (-O3) are not recognized
...@@ -7353,40 +7346,39 @@ by HP's compilers. I did not change the flags. ...@@ -7353,40 +7346,39 @@ by HP's compilers. I did not change the flags.
@end itemize @end itemize
@node Mac OS X, BEOS, HP-UX 11.x, Source install system issues @node Mac OS X, BEOS, HP-UX 11.x, Source install system issues
@subsection Mac OS X notes @subsection Mac OS X Notes
You can get @strong{MySQL} to work on Mac OS X by following the links to You can get @strong{MySQL} to work on Mac OS X by following the links to
the Mac OS X ports. @xref{Useful Links}. the Mac OS X ports. @xref{Useful Links}.
@strong{MySQL} 3.23.7 should include all patches necessary to configure @strong{MySQL} Version 3.23.7 should include all patches necessary to configure
it on Mac OS X. You must however first install the pthread package from it on Mac OS X. You must, however, first install the pthread package from
@uref{http://www.prnet.de/RegEx/mysql.html,MySql for MacOSX Server} @uref{http://www.prnet.de/RegEx/mysql.html} before configuring @strong{MySQL}.
before configuring @strong{MySQL}.
You might want to also add aliases to your shell's resource file to You might want to also add aliases to your shell's resource file to
access @code{mysql} and @code{mysqladmin} from the command line. access @code{mysql} and @code{mysqladmin} from the command line:
@example @example
alias mysql '/usr/local/mysql/bin/mysql' alias mysql '/usr/local/mysql/bin/mysql'
alias mysqladmin '/usr/local/mysql/libexec/mysqladmin' alias mysqladmin '/usr/local/mysql/bin/mysqladmin'
@end example @end example
@node BEOS, , Mac OS X, Source install system issues @node BEOS, , Mac OS X, Source install system issues
@subsection BeOS notes @subsection BeOS Notes
We are really interested in getting @strong{MySQL} to work on BeOS, but We are really interested in getting @strong{MySQL} to work on BeOS, but
unfortunately we don't have any person that knows BeOS or have unfortunately we don't have any person who knows BeOS or has
time to do a port. time to do a port.
We are interested to find someone to do a port and we will help them We are interested in finding someone to do a port, and we will help them
with any techincal questions they may have while doing the port. with any techincal 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 these
in a while. in a while.
@node Windows, OS/2, Source install system issues, Installing @node Windows, OS/2, Source install system issues, Installing
@section Windows notes @section Windows Notes
This section describes installation and use of @strong{MySQL} on Windows. This This section describes installation and use of @strong{MySQL} on Windows. This
is also described in the @file{README} file that comes with the is also described in the @file{README} file that comes with the
...@@ -7407,14 +7399,13 @@ is also described in the @file{README} file that comes with the ...@@ -7407,14 +7399,13 @@ is also described in the @file{README} file that comes with the
@node Windows installation, Win95 start, Windows, Windows @node Windows installation, Win95 start, Windows, Windows
@subsection Installing MySQL on Windows @subsection Installing MySQL on Windows
If you don't have a registered version of @strong{MySQL}, you should first If you don't have a copy of the MySQL distribution, you should first download
download the shareware version from: one from @uref{http://www.mysql.com/}.
@uref{http://www.mysql.com/mysql_w32.htmy,@strong{MySQL} 3.22.x}
If you plan to connect to @strong{MySQL} from some other program, you will If you plan to connect to @strong{MySQL} from some other program, you will
probably also need the @strong{MyODBC} driver. You can find this at the probably also need the @strong{MyODBC} driver. You can find this at the
@uref{http://www.mysql.com/downloads/api-myodbc.html,@strong{MyODBC} download page}. @strong{MyODBC} download page
(@uref{http://www.mysql.com/downloads/api-myodbc.html}).
To install either distribution, unzip it in some empty directory and run the To install either distribution, unzip it in some empty directory and run the
@code{Setup.exe} program. @code{Setup.exe} program.
...@@ -7432,16 +7423,16 @@ With all newer @strong{MySQL} versions, you can also create a ...@@ -7432,16 +7423,16 @@ 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 this to suit your setup. Note that you should
specify all paths with @code{/} instead of @code{\}. If you use specify all paths with @samp{/} instead of @samp{\}. If you use
@code{\}, you need to specify this twice, as @code{\} is the escape @samp{\}, you need to specify this twice, as @samp{\} is the escape
character in @strong{MySQL}. @xref{Option files}. character in @strong{MySQL}. @xref{Option files}.
@node Win95 start, NT start, Windows installation, Windows @node Win95 start, NT start, Windows installation, Windows
@subsection Starting MySQL on Win95 / Win98 @subsection Starting MySQL on Windows 95 or Windows 98
@strong{MySQL} uses TCP/IP to connect a client to a server. (This will @strong{MySQL} uses TCP/IP to connect a client to a server. (This will
allow any machine on your network to connect to your @strong{MySQL} allow any machine on your network to connect to your @strong{MySQL}
server). Because of this, you must install TCP/IP on your machine before server.) Because of this, you must install TCP/IP on your machine before
starting @strong{MySQL}. You can find TCP/IP on your Windows CD-ROM. starting @strong{MySQL}. You can find TCP/IP on your Windows CD-ROM.
Note that if you are using an old Win95 release (for example OSR2), it's Note that if you are using an old Win95 release (for example OSR2), it's
...@@ -7452,7 +7443,7 @@ Winsock 2 library, so the above doesn't apply for Win98. ...@@ -7452,7 +7443,7 @@ Winsock 2 library, so the above doesn't apply for Win98.
There are 2 different @strong{MySQL} servers you can use: There are 2 different @strong{MySQL} servers you can use:
@multitable @columnfractions .15 .85 @multitable @columnfractions .25 .75
@item @code{mysqld} @tab Compiled with full debugging and automatic memory allocation checking @item @code{mysqld} @tab Compiled with full debugging and automatic memory allocation checking
@item @code{mysqld-opt} @tab Optimized for a Pentium processor. @item @code{mysqld-opt} @tab Optimized for a Pentium processor.
@end multitable @end multitable
...@@ -7477,7 +7468,7 @@ Note that Win95/Win98 don't support creation of named pipes. On ...@@ -7477,7 +7468,7 @@ Note that Win95/Win98 don't support creation of named pipes. On
Win95/Win98, you can only use named pipes to connect to a remote Win95/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 it 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 this.
...@@ -7485,22 +7476,22 @@ get some useful information on the screen that may help solve this. ...@@ -7485,22 +7476,22 @@ get some useful information on the screen that may help solve this.
The last option is to start @code{mysqld} with @code{--debug}. In this The last option is to start @code{mysqld} with @code{--debug}. In this
case @code{mysqld} will write a log file in @file{\mysqld.trace} case @code{mysqld} will write a log file in @file{\mysqld.trace}
that should contain the reason why @code{mysqld} doesn't start. If you that should contain the reason why @code{mysqld} doesn't start. If you
make a bug report about this, please only send the lines where something make a bug report about this, please only send the lines to the mailing list
seams to go wrong to the mailing list! where something seems to go wrong!
@node NT start, Windows running, Win95 start, Windows @node NT start, Windows running, Win95 start, Windows
@subsection Starting MySQL on NT / Win200 @subsection Starting MySQL on 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:
To get @strong{MySQL} to work with TCP/IP on NT, you must install To get @strong{MySQL} to work with TCP/IP on NT, you must install
service pack 3 (or newer)! service pack 3 (or newer)!
Note that everything in the following that applies for NT, also applies Note that everything in the following that applies for NT also applies
for Win2000! for Win2000!
For NT / Win2000, the server name is @code{mysqld-nt}. Normally you 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
...@@ -7519,14 +7510,14 @@ NET STOP mysql ...@@ -7519,14 +7510,14 @@ NET STOP mysql
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 standalone 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 starts 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 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}
...@@ -7539,8 +7530,8 @@ messages can be seen. ...@@ -7539,8 +7530,8 @@ messages can be seen.
On NT you can get the following service error messages: On NT you can get the following service error messages:
@multitable @columnfractions .3 .7 @multitable @columnfractions .3 .7
@item Permission Denied @tab Means that it cannot find @code{mysqld-nt.exe} @item Permission Denied @tab Means that it cannot find @code{mysqld-nt.exe}.
@item Cannot Register @tab Means that the path is incorrect @item Cannot Register @tab Means that the path is incorrect.
@end multitable @end multitable
If you have problems installing @code{mysqld-nt} as a service, try starting If you have problems installing @code{mysqld-nt} as a service, try starting
...@@ -7577,7 +7568,7 @@ all other cases if the client has TCP/IP installed. The host name specifies ...@@ -7577,7 +7568,7 @@ all other cases if the client has TCP/IP installed. The host name specifies
which protocol is used: which protocol is used:
@multitable @columnfractions .3 .7 @multitable @columnfractions .3 .7
@strong{Host name} @tab @strong{protocol} @strong{Host name} @tab @strong{Protocol}
@item NULL (none) @tab On NT, try named pipes first; if that doesn't work, use TCP/IP. On Win95/Win98, TCP/IP is used. @item NULL (none) @tab On NT, try named pipes first; if that doesn't work, use TCP/IP. On Win95/Win98, TCP/IP is used.
@item . @tab Named pipes @item . @tab Named pipes
@item localhost @tab TCP/IP to current host @item localhost @tab TCP/IP to current host
...@@ -7606,10 +7597,9 @@ the @strong{MySQL} grant tables. You can also avoid DNS when connecting to a ...@@ -7606,10 +7597,9 @@ the @strong{MySQL} grant tables. You can also avoid DNS when connecting to a
@code{--pipe} argument to specify use of named pipes. This works for most @code{--pipe} argument to specify use of named pipes. This works for most
@strong{MySQL} clients. @strong{MySQL} clients.
There are two versions of the @strong{MySQL} command line tool: There are two versions of the @strong{MySQL} command-line tool:
@multitable @columnfractions .15 .85 @multitable @columnfractions .25 .75
@item @code{mysql} @tab Compiled on native Windows, which offers very limited text @item @code{mysql} @tab Compiled on native Windows, which offers very limited text editing capabilities.
editing capabilities.
@item @code{mysqlc} @tab Compiled with the Cygnus GNU compiler and libraries, which offers @code{readline} editing. @item @code{mysqlc} @tab Compiled with the Cygnus GNU compiler and libraries, which offers @code{readline} editing.
@end multitable @end multitable
...@@ -7623,9 +7613,9 @@ should set a password for all users and remove the row in the ...@@ -7623,9 +7613,9 @@ should set a password for all users and remove the row in the
@code{mysql.user} table that has @code{Host='localhost'} and @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: You should also add a password for the @code{root} user.
(The following example starts by removing the anonymous user, that allows (The following example starts by removing the anonymous user, that allows
anyone to access the 'test' database) anyone to access the 'test' database.):
@example @example
C:\mysql\bin\mysql mysql C:\mysql\bin\mysql mysql
...@@ -7642,22 +7632,22 @@ server, you can do so using this command: ...@@ -7642,22 +7632,22 @@ server, you can do so using this command:
mysqladmin --user=root --password=your_password shutdown mysqladmin --user=root --password=your_password shutdown
@end example @end example
If you are using the old shareware version of @strong{MySQL} 3.21 under If you are using the old shareware version of @strong{MySQL} Version 3.21
Windows, the above command will fail with an error: @code{parse error under Windows, the above command will fail with an error: @code{parse error
near 'SET OPTION password'}. This is because the old shareware version, near 'SET OPTION password'}. This is because the old shareware version,
which is based on @strong{MySQL} 3.21, doesn't have the @code{SET PASSWORD} which is based on @strong{MySQL} Version 3.21, doesn't have the
command. The fix is in this case is to upgrade to the 3.22 shareware @code{SET PASSWORD} command. The fix is in this case to upgrade to
version. the Version 3.22 shareware.
With the newer @strong{MySQL} versions you can easily add new users With the newer @strong{MySQL} versions you can easily add new users
and change privileges with @code{GRANT} and @code{REVOKE} commands. and change privileges with @code{GRANT} and @code{REVOKE} commands.
@xref{GRANT}. @xref{GRANT}.
@node Windows and SSH, Windows symbolic links, Windows running, Windows @node Windows and SSH, Windows symbolic links, Windows running, Windows
@subsection Connecting to a remote MySQL from Windows with SSH @subsection Connecting to a Remote MySQL from Windows with SSH
Here is a note about how to connect to get a secure connection to remote MySQL Here is a note about how to connect to get a secure connection to remote MySQL
server with SSH (by David Carlson). server with SSH (by David Carlson):
@itemize @bullet @itemize @bullet
@item @item
...@@ -7668,16 +7658,16 @@ Other useful links: ...@@ -7668,16 +7658,16 @@ Other useful links:
@uref{http://www.npaci.edu/Security/samples/ssh32_windows/index.html}. @uref{http://www.npaci.edu/Security/samples/ssh32_windows/index.html}.
@item @item
Start SSH. Set Host Name = yourmysqlserver name or IP address. Set Start SSH. Set Host Name = yourmysqlserver name or IP address. Set
userid=your userid to log in to your server userid=your userid to log in to your server.
@item @item
Click on "local forwards". Set @code{local port: 3306}, Click on "local forwards". Set @code{local port: 3306},
@code{host: localhost}, @code{remote port: 3306} @code{host: localhost}, @code{remote port: 3306}.
@item @item
Save everything, otherwise you'll have to redo it the next time. Save everything, otherwise you'll have to redo it the next time.
@item @item
Log in to your server with SSH. Log in to your server with SSH.
@item @item
Start some ODBC application (for example Access) Start some ODBC application (for example Access).
@item @item
Create a new file and link to mySQL using the ODBC driver the same way Create a new file and link to mySQL using the ODBC driver the same way
you normally do except for server, user "localhost". you normally do except for server, user "localhost".
...@@ -7691,9 +7681,9 @@ usegroup! ...@@ -7691,9 +7681,9 @@ usegroup!
@findex Symbolic links @findex Symbolic links
@findex Using multiple disks to start data @findex Using multiple disks to start data
@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 Under Windows
On windows @strong{MySQL} 3.23.16 and above is compiled with the On windows @strong{MySQL} Version 3.23.16 and above is compiled with the
@code{-DUSE_SYMDIR} option. This allows you to put a database on @code{-DUSE_SYMDIR} option. This allows you to put a database on
different disk by adding a symbolic link to it (in a similar manner that different disk by adding a symbolic link to it (in a similar manner that
symbolic links works on Unix). symbolic links works on Unix).
...@@ -7704,13 +7694,13 @@ the @code{mysql_data} directory under the filename @code{database.sym}. ...@@ -7704,13 +7694,13 @@ the @code{mysql_data} directory under the filename @code{database.sym}.
Note that the symbolic link will only be used if the directory Note that the symbolic link will only be used if the directory
@code{mysql_data_dir\database} doesn't exist. @code{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 you want to have database @code{foo} on @file{D:\data\foo}, you
should create the file @file{C:\mysql\data\foo.sym} that should 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 this, 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}.
@node Windows compiling, Windows and BDB tables., Windows symbolic links, Windows @node Windows compiling, Windows and BDB tables., Windows symbolic links, Windows
@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}: @code{mysql.h}:
...@@ -7730,17 +7720,17 @@ Note that as the mysqlclient libraries are compiled as threaded libraries, ...@@ -7730,17 +7720,17 @@ Note that as the mysqlclient libraries are compiled as threaded libraries,
you should also compile your code to be multi-threaded! you should also compile your code to be multi-threaded!
@node Windows and BDB tables., Windows vs Unix, Windows compiling, Windows @node Windows and BDB tables., Windows vs Unix, Windows compiling, Windows
@subsection Windows and BDB tables. @subsection Windows and BDB Tables
We are working on removing the requirement that one must have a primary We are working on removing the requirement that one must have a primary
key in a BDB table; As soon as this is fixed we will throughly test the key in a BDB table. As soon as this is fixed we will throughly test the
BDB interface by running the @strong{MySQL} benchmark + our internal BDB interface by running the @strong{MySQL} benchmark and our internal
test suite on it. When the above is done we will start release binary test suite on it. When the above is done we will start to release binary
distributions (for windows and Unix) of @strong{MySQL} that will include distributions (for Windows and UNIX) of @strong{MySQL} that will include
support for BDB tables. support for BDB tables.
@node Windows vs Unix, , Windows and BDB tables., Windows @node Windows vs Unix, , Windows and BDB tables., Windows
@subsection MySQL-Windows compared to Unix MySQL @subsection MySQL-Windows Compared to UNIX MySQL
@strong{MySQL}-Windows has by now proven itself to be very stable. This version @strong{MySQL}-Windows has by now proven itself to be very stable. This version
of @strong{MySQL} has the same features as the corresponding Unix version of @strong{MySQL} has the same features as the corresponding Unix version
...@@ -7756,7 +7746,7 @@ a new thread! WinNT and Win98 don't suffer from this bug. ...@@ -7756,7 +7746,7 @@ a new thread! 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
able to mix @code{INSERT} and @code{SELECT}. Currently we use mutexes 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.
...@@ -7767,10 +7757,10 @@ This means that: ...@@ -7767,10 +7757,10 @@ This means that:
@itemize @bullet @itemize @bullet
@item @item
A connection will not be disconnected automatically after 8 hours, as happens A connection will not be disconnected automatically after 8 hours, as happens
with the Unix version of @strong{MySQL}. with the UNIX version of @strong{MySQL}.
@item @item
If a connection ``hangs,'' it's impossible to break it without killing If a connection hangs, it's impossible to break it without killing
@strong{MySQL}. @strong{MySQL}.
@item @item
...@@ -7782,10 +7772,10 @@ connections. ...@@ -7782,10 +7772,10 @@ connections.
@end itemize @end itemize
We plan to fix this when our windows developers have figured out a nice We plan to fix this when our windows developers have figured out a nice
workaround for this :) workaround for this.
@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
functions. functions.
@item @code{DROP DATABASE} @item @code{DROP DATABASE}
...@@ -7807,17 +7797,17 @@ SELECT * FROM my_table WHERE MY_TABLE.col=1; ...@@ -7807,17 +7797,17 @@ SELECT * FROM my_table WHERE MY_TABLE.col=1;
@end example @end example
@item The @samp{\} directory character @item The @samp{\} directory character
Pathname components in Win95 are separated by @samp{\} characters, 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 or use UNIX style filenames @samp{/} characters:
@example @example
LOAD DATA INFILE "C:\\tmp\\skr.txt" INTO TABLE skr; LOAD DATA INFILE "C:\\tmp\\skr.txt" INTO TABLE skr;
SELECT * INTO OUTFILE 'C:/tmp/skr.txt' FROM skr; 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
If you use an MySQL 3.22 version on NT with the newest mysql-clients you If you use a MySQL 3.22 version on NT with the newest mysql-clients you
will get the following error: will get the following error:
@example @example
...@@ -7854,20 +7844,20 @@ release: ...@@ -7854,20 +7844,20 @@ release:
@itemize @bullet @itemize @bullet
@item @item
Make a single user @code{MYSQL.DLL} server. This should include everything in Make a single-user @code{MYSQL.DLL} server. This should include everything in
a standard @strong{MySQL} server, except thread creation. This will make a standard @strong{MySQL} server, except thread creation. This will make
@strong{MySQL} much easier to use in applications that don't need a true @strong{MySQL} much easier to use in applications that don't need a true
client/server and don't need to access the server from other hosts. client/server and don't need to access the server from other hosts.
@item @item
Add some nice ``start'' and ``shutdown'' icons to the @strong{MySQL} installation. Add some nice start and shutdown icons to the @strong{MySQL} installation.
@item @item
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 @code{mysqld.cc}, options. The registry entry reading is already coded into @code{mysqld.cc},
but it should be recoded to be more ``parameter'' oriented. 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 The tool should also be able to update the @file{\my.cnf} file if the user
would prefer to use this instead of the registry. prefers to use this 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)
...@@ -7878,7 +7868,7 @@ instead. ...@@ -7878,7 +7868,7 @@ instead.
@item @item
When you suspend a laptop running Win95, the @code{mysqld} When you suspend a laptop running Win95, the @code{mysqld}
daemon doesn't accept new connections when the laptop is resumed. daemon doesn't accept new connections when the laptop is resumed.
We don't know if this is a problem with Win95, TCP/IP or @strong{MySQL}. We don't know if this is a problem with Win95, TCP/IP, or @strong{MySQL}.
@item @item
It would be real nice to be able to kill @code{mysqld} from the It would be real nice to be able to kill @code{mysqld} from the
...@@ -7892,28 +7882,19 @@ GUI versions of the standard @strong{MySQL} clients (@code{mysql}, ...@@ -7892,28 +7882,19 @@ GUI versions of the standard @strong{MySQL} clients (@code{mysql},
@code{mysqlshow}, @code{mysqladmin}, and @code{mysqldump}) would be nice. @code{mysqlshow}, @code{mysqladmin}, and @code{mysqldump}) would be nice.
@item @item
It would be nice if the socket ``read'' and ``write'' functions in 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 @file{net.c} were interruptible. This would make it possible to kill open
threads with @code{mysqladmin kill} on Windows. threads with @code{mysqladmin kill} on Windows.
@item @item
Documentation of which Windows programs work with Documentation of which Windows programs work with
@strong{MySQL}-Windows/@strong{MyODBC} and what must be done to get them working. @strong{MySQL}-Windows/@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.
@item
Port @code{sqlclient} to Windows (almost done) and add more features to it!
@item
Add more options to MysqlManager.
@item
Change the communication protocol between the server and client to use Windows
internal communication instead of sockets and TCP/IP.
@item @item
Implement UDF functions with @code{.DLL}s. Implement UDF functions with @code{.DLL}s.
...@@ -7923,11 +7904,11 @@ provided by Windows. ...@@ -7923,11 +7904,11 @@ provided by Windows.
@end itemize @end itemize
Other Windows-specific issues are described in the @file{README} file that comes Other Windows-specific issues are described in the @file{README} file that
with the @strong{MySQL}-Windows distribution. comes with the @strong{MySQL}-Windows distribution.
@node OS/2, MySQL binaries, Windows, Installing @node OS/2, MySQL binaries, Windows, Installing
@section OS/2 notes @section OS/2 Notes
@strong{MySQL} uses quite a few open files. Because of this, you @strong{MySQL} uses quite a few open files. Because of this, you
should add something like the following to your @file{CONFIG.SYS} file: should add something like the following to your @file{CONFIG.SYS} file:
...@@ -7945,18 +7926,18 @@ File 'xxxx' not found (Errcode: 24) ...@@ -7945,18 +7926,18 @@ File 'xxxx' not found (Errcode: 24)
When using @strong{MySQL} with OS/2 Warp 3, FixPack 29 or above is When using @strong{MySQL} with OS/2 Warp 3, FixPack 29 or above is
required. With OS/2 Warp 4, FixPack 4 or above is required. This is a required. With OS/2 Warp 4, FixPack 4 or above is required. This is a
requirement of the Pthreads library. @strong{MySQL} must be installed requirement of the Pthreads library. @strong{MySQL} must be installed
in a partition that supports long file names such as HPFS, FAT32, etc. in a partition that supports long filenames such as HPFS, FAT32, etc.
The @file{INSTALL.CMD} script must be run from OS/2's own @file{CMD.EXE} The @file{INSTALL.CMD} script must be run from OS/2's own @file{CMD.EXE}
and may not work with replacement shells such as @file{4OS2.EXE}. and may not work with replacement shells such as @file{4OS2.EXE}.
The @file{scripts/mysql-install-db} script has been renamed: it is now called The @file{scripts/mysql-install-db} script has been renamed. It is now called
@file{install.cmd} and is a REXX script which will set up the default @file{install.cmd} and is a REXX script, which will set up the default
@strong{MySQL} security settings and create the WorkPlace Shell icons @strong{MySQL} security settings and create the WorkPlace Shell icons
for @strong{MySQL}. for @strong{MySQL}.
Dynamic module support is compiled in but not fully tested. Dynamic Dynamic module support is compiled in but not fully tested. Dynamic
modules should be compiled using the Pthreads runtime library. modules should be compiled using the Pthreads run-time library.
@example @example
gcc -Zdll -Zmt -Zcrtdll=pthrdrtl -I../include -I../regex -I.. \ gcc -Zdll -Zmt -Zcrtdll=pthrdrtl -I../include -I../regex -I.. \
...@@ -7969,7 +7950,7 @@ exceed 8 characters. Modules are stored in the @file{/mysql2/udf} ...@@ -7969,7 +7950,7 @@ exceed 8 characters. Modules are stored in the @file{/mysql2/udf}
directory; the @code{safe-mysqld.cmd} script will put this directory in directory; the @code{safe-mysqld.cmd} script will put this directory in
the @code{BEGINLIBPATH} environment variable. When using UDF modules, the @code{BEGINLIBPATH} environment variable. When using UDF modules,
specified extensions are ignored --- it is assumed to be @file{.udf}. specified extensions are ignored --- it is assumed to be @file{.udf}.
For example, in Unix, the shared module might be named @file{example.so} 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
...@@ -7984,7 +7965,7 @@ CREATE FUNCTION metaphon RETURNS STRING SONAME "example"; ...@@ -7984,7 +7965,7 @@ CREATE FUNCTION metaphon RETURNS STRING SONAME "example";
@end example @end example
@node MySQL binaries, Post-installation, OS/2, Installing @node MySQL binaries, Post-installation, OS/2, Installing
@section MySQL binaries @section MySQL Binaries
As a service, we at MySQL AB provides a set of binary distributions of As a service, we at MySQL AB provides a set of binary distributions of
@strong{MySQL} that are compiled at our site or at sites where customers @strong{MySQL} that are compiled at our site or at sites where customers
...@@ -8036,15 +8017,15 @@ Anyone who has more optimal options for any of the configurations listed ...@@ -8036,15 +8017,15 @@ Anyone who has more optimal options for any of the configurations listed
above can always mail them to the developer's mailing list at above can always mail them to the developer's mailing list at
@email{developer@@lists.mysql.com}. @email{developer@@lists.mysql.com}.
RPM distributions prior to @strong{MySQL} 3.22 are user-contributed. RPM distributions prior to @strong{MySQL} Version 3.22 are user-contributed.
Beginning with 3.22, some RPMs are generated by us at MySQL AB. Beginning with Version 3.22, some RPMs are generated by us at MySQL AB.
If you want to compile a debug version of @strong{MySQL}, you should add If you want to compile a debug version of @strong{MySQL}, you should add
@code{--with-debug} or @code{--with-debug=full} to the above configure lines @code{--with-debug} or @code{--with-debug=full} to the above configure lines
and remove any @code{-fomit-frame-pointer} options. and remove any @code{-fomit-frame-pointer} options.
@node Post-installation, Upgrade, MySQL binaries, Installing @node Post-installation, Upgrade, MySQL binaries, Installing
@section Post-installation setup and testing @section Post-installation Setup and Testing
@menu @menu
* mysql_install_db:: Problems running @code{mysql_install_db} * mysql_install_db:: Problems running @code{mysql_install_db}
...@@ -8055,7 +8036,7 @@ and remove any @code{-fomit-frame-pointer} options. ...@@ -8055,7 +8036,7 @@ and remove any @code{-fomit-frame-pointer} options.
@end menu @end menu
Once you've installed @strong{MySQL} (from either a binary or source Once you've installed @strong{MySQL} (from either a binary or source
distribution), you need to initialize the grant tables, start the server distribution), you need to initialize the grant tables, start the server,
and make sure that the server works okay. You may also wish to arrange and make sure that the server works okay. You may also wish to arrange
for the server to be started and stopped automatically when your system for the server to be started and stopped automatically when your system
starts up and shuts down. starts up and shuts down.
...@@ -8111,10 +8092,10 @@ Typically, @code{mysql_install_db} needs to be run only the first time you ...@@ -8111,10 +8092,10 @@ Typically, @code{mysql_install_db} needs to be run only the first time you
install @strong{MySQL}. Therefore, if you are upgrading an existing install @strong{MySQL}. Therefore, if you are upgrading an existing
installation, you can skip this step. (However, @code{mysql_install_db} is installation, you can skip this step. (However, @code{mysql_install_db} is
quite safe to use and will not update any tables that already exist, so if quite safe to use and will not update any tables that already exist, so if
you are unsure what to do, you can always run @code{mysql_install_db}.) you are unsure of what to do, you can always run @code{mysql_install_db}.)
@code{mysql_install_db} creates six tables (@code{user}, @code{db}, @code{mysql_install_db} creates six tables (@code{user}, @code{db},
@code{host}, @code{tables_priv}, @code{columns_priv} and @code{func}) in the @code{host}, @code{tables_priv}, @code{columns_priv}, and @code{func}) in the
@code{mysql} database. A description of the initial privileges is given in @code{mysql} database. A description of the initial privileges is given in
@ref{Default privileges}. Briefly, these privileges allow the @strong{MySQL} @ref{Default privileges}. Briefly, these privileges allow the @strong{MySQL}
@code{root} user to do anything, and allow anybody to create or use databases @code{root} user to do anything, and allow anybody to create or use databases
...@@ -8128,7 +8109,7 @@ log file when you start the server: ...@@ -8128,7 +8109,7 @@ log file when you start the server:
mysqld: Can't find file: 'host.frm' mysqld: Can't find file: 'host.frm'
@end example @end example
The above may also happens with a binary @strong{MySQL} distribution if you The above may also happen with a binary @strong{MySQL} distribution if you
don't start @strong{MySQL} by executing exactly @code{./bin/safe_mysqld}! don't start @strong{MySQL} by executing exactly @code{./bin/safe_mysqld}!
You might need to run @code{mysql_install_db} as @code{root}. However, You might need to run @code{mysql_install_db} as @code{root}. However,
...@@ -8160,9 +8141,9 @@ connect to the grant tables as the @strong{MySQL} @code{root} user and issue ...@@ -8160,9 +8141,9 @@ connect to the grant tables as the @strong{MySQL} @code{root} user and issue
SQL statements to modify the grant tables directly. SQL statements to modify the grant tables directly.
@item @item
It is possible to recreate the grant tables completely after they have It is possible to re-create the grant tables completely after they have
already been created. You might want to do this if you've already installed already been created. You might want to do this if you've already installed
the tables but then want to recreate them after editing the tables but then want to re-create them after editing
@code{mysql_install_db}. @code{mysql_install_db}.
@end itemize @end itemize
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