Commit ef57d5f1 authored by unknown's avatar unknown

manual.texi:

  Latest grammatical and spelling corrections.
  Amended/corrected install instructions.


Docs/manual.texi:
  Latest grammatical and spelling corrections.
  Amended/corrected install instructions.
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
parent 4fa1d1cb
...@@ -16,3 +16,4 @@ tonu@work.mysql.com ...@@ -16,3 +16,4 @@ tonu@work.mysql.com
monty@donna.mysql.com monty@donna.mysql.com
jcole@tetra.spaceapes.com jcole@tetra.spaceapes.com
jcole@ham.spaceapes.com jcole@ham.spaceapes.com
jcole@tetra.bedford.progress.com
...@@ -1116,16 +1116,11 @@ Work against software patents ...@@ -1116,16 +1116,11 @@ Work against software patents
@end menu @end menu
This manual is currently available in Texinfo, plain text, Info, HTML, This manual is currently available in Texinfo, plain text, Info, HTML,
PostScript and PDF versions. Because of their size, PostScript and PDF PostScript and PDF versions. The primary document is the Texinfo file.
versions are not included with the main @strong{MySQL} distribution, but The HTML version is produced automatically using a modified version of
are available for separate download at @code{texi2html}. The plain text and Info versions are produced with
@uref{http://www.mysql.com/}. @code{makeinfo}. The Postscript version is produced using @code{texi2dvi}
and @code{dvips}. The PDF version is produced with @code{pdftex}.
The primary document is the Texinfo file. The HTML version is produced
automatically using a modified version of @code{texi2html}. The plain
text and Info versions are produced with @code{makeinfo}. The Postscript
version is produced using @code{texi2dvi} and @code{dvips}. The PDF
version is produced with @code{pdftex}.
This manual is written and maintained by David Axmark, Michael (Monty) This manual is written and maintained by David Axmark, Michael (Monty)
Widenius, Jeremy Cole, and Paul DuBois. For other contributors, Widenius, Jeremy Cole, and Paul DuBois. For other contributors,
...@@ -1566,8 +1561,8 @@ can be used to determine how the optimizer resolves a query. ...@@ -1566,8 +1561,8 @@ can be used to determine how the optimizer resolves a query.
@node Stability, Year 2000 compliance, Features, Introduction @node Stability, Year 2000 compliance, Features, Introduction
@section How stable is MySQL? @section How stable is MySQL?
This section addresses the questions, ``How stable is This section addresses the questions ``How stable is
@strong{MySQL}?'' and, ``Can I depend on @strong{MySQL} in this project?'' @strong{MySQL}?'', and ``Can I depend on @strong{MySQL} in this project?''
We will try to clarify some issues and to answer some of the more We will try to clarify some issues and to answer some of the more
important questions that seem to concern many people. This section has been important questions that seem to concern many people. This section has been
put together from information gathered from the mailing list (which is very put together from information gathered from the mailing list (which is very
...@@ -2485,7 +2480,7 @@ version of @strong{MySQL} before posting! Anyone should be able to repeat the ...@@ -2485,7 +2480,7 @@ version of @strong{MySQL} before posting! Anyone should be able to repeat the
bug by just using 'mysql test < script' on the included test case or run bug by just using 'mysql test < script' on the included test case or run
the shell / perl script that is included in the bug report. All bugs the shell / perl script that is included in the bug report. All bugs
posted on this list will be corrected or documented in the next @strong{MySQL} posted on this list will be corrected or documented in the next @strong{MySQL}
release! If there are only small code changes involved, to correct this release! If there are only small code changes involved to correct this
problem, we will also post a patch that fixes the problem. problem, we will also post a patch that fixes the problem.
Remember that it is possible to respond to a message containing too much Remember that it is possible to respond to a message containing too much
...@@ -2628,7 +2623,7 @@ sorry. After all, it should be easier for you to provide an example that ...@@ -2628,7 +2623,7 @@ sorry. After all, it should be easier for you to provide an example that
uses your actual situation and it is by all means better for us. In case you uses your actual situation and it is by all means better for us. In case you
have data you don't want to show to others, you can use @code{ftp} to have data you don't want to show to others, you can use @code{ftp} to
transfer it to @uref{ftp://support.mysql.com/pub/mysql/secret/}. If the data transfer it to @uref{ftp://support.mysql.com/pub/mysql/secret/}. If the data
are really top secret and you don't want to show them even to us, then go ahead is really top secret and you don't want to show them even to us, then go ahead
and provide an example using other names, but please regard this as the last and provide an example using other names, but please regard this as the last
choice. choice.
...@@ -2883,7 +2878,7 @@ programs in the @file{client} directory is GPL. Each file has a header ...@@ -2883,7 +2878,7 @@ programs in the @file{client} directory is GPL. Each file has a header
that shows which copyright is used for that file. that shows which copyright is used for that file.
@item The client library and the (GNU @code{getopt}) library are covered @item The client library and the (GNU @code{getopt}) library are covered
by the ``GNU LIBRARY GENERAL PUBLIC LICENSE''. by the ``GNU LIBRARY GENERAL PUBLIC LICENSE''. @xref{LGPL license}.
@item Some parts of the source (the @code{regexp} library) are covered @item Some parts of the source (the @code{regexp} library) are covered
by a Berkeley-style copyright. by a Berkeley-style copyright.
...@@ -2926,7 +2921,7 @@ license. See the documentation for that version for more information. ...@@ -2926,7 +2921,7 @@ license. See the documentation for that version for more information.
This section describes some situations illustrating whether or not you This section describes some situations illustrating whether or not you
must license the @strong{MySQL} server. Generally these examples must license the @strong{MySQL} server. Generally these examples
involve providing @strong{MySQL} as an integrated part of a product. involve providing @strong{MySQL} as an integral part of a product.
Note that a single @strong{MySQL} license covers any number of CPUs and Note that a single @strong{MySQL} license covers any number of CPUs and
@code{mysqld} servers on a machine! There is no artificial limit on the number @code{mysqld} servers on a machine! There is no artificial limit on the number
...@@ -2945,23 +2940,27 @@ are several cases to consider: ...@@ -2945,23 +2940,27 @@ are several cases to consider:
@item @item
Does your application require @strong{MySQL} to function properly? Does your application require @strong{MySQL} to function properly?
@item
If your product requires @strong{MySQL}, you need a license for any If your product requires @strong{MySQL}, you need a license for any
machine that runs the @code{mysqld} server. For example, if you've machine that runs the @code{mysqld} server. For example, if you've
designed your application around @strong{MySQL}, then you've really made designed your application around @strong{MySQL}, then you've really made
a commercial product that requires the engine, so you need a license. a commercial product that requires the engine, so you need a license.
@item
If your application does not require @strong{MySQL}, you need not obtain If your application does not require @strong{MySQL}, you need not obtain
a license. For example, if using @strong{MySQL} just adds some new optional a license. For example, if using @strong{MySQL} just adds some new optional
features to your product (such as adding logging to a database if features to your product (such as adding logging to a database if
@strong{MySQL} is used rather than logging to a text file), it should @strong{MySQL} is used rather than logging to a text file), it should
fall within normal use, and a license would not be required. fall within normal use, and a license would not be required.
@item
In other words, you need a license if you sell a product designed In other words, you need a license if you sell a product designed
specifically for use with @strong{MySQL} or that requires the specifically for use with @strong{MySQL} or that requires the
@strong{MySQL} server to function at all. This is true whether or not @strong{MySQL} server to function at all. This is true whether or not
you provide @strong{MySQL} for your client as part of your product you provide @strong{MySQL} for your client as part of your product
distribution. distribution.
@item
It also depends on what you're doing for the client. Do you plan to It also depends on what you're doing for the client. Do you plan to
provide your client with detailed instructions on installing provide your client with detailed instructions on installing
@strong{MySQL} with your software? Then your product may be contingent @strong{MySQL} with your software? Then your product may be contingent
...@@ -2984,7 +2983,7 @@ they have some problem with their @strong{MySQL} installation, their ISP ...@@ -2984,7 +2983,7 @@ they have some problem with their @strong{MySQL} installation, their ISP
will be able to solve the problem for them (in some cases with the help will be able to solve the problem for them (in some cases with the help
from the @strong{MySQL} development team). from the @strong{MySQL} development team).
All ISPs that wants to keep themself up to date should subscribe All ISPs that want to keep themselves up-to-date should subscribe
to our announce mailing list so that they can be aware of fatal issues to our announce mailing list so that they can be aware of fatal issues
that may be relevant for their @code{MySQL} installations. that may be relevant for their @code{MySQL} installations.
...@@ -3249,7 +3248,7 @@ extended email support you have already helped the further development ...@@ -3249,7 +3248,7 @@ extended email support you have already helped the further development
of @strong{MySQL}. of @strong{MySQL}.
@item @item
Typical questions that are covered by extended email support are: Typical situations that are covered by extended email support are:
@itemize @minus @itemize @minus
@item @item
...@@ -3271,8 +3270,8 @@ We will provide hints on optimizing @code{mysqld} for your situation. ...@@ -3271,8 +3270,8 @@ We will provide hints on optimizing @code{mysqld} for your situation.
@item @item
You are allowed to influence the priority of items on the @strong{MySQL} You are allowed to influence the priority of items on the @strong{MySQL}
TODO. This will ensure that the features you really need will be implemented TODO List. @xref{TODO}. This will ensure that the features you really need
sooner than they might be otherwise. will be implemented sooner than they might be otherwise.
@end itemize @end itemize
@node Login support, Extended login support, Extended email support, Support @node Login support, Extended login support, Extended email support, Support
...@@ -3342,7 +3341,7 @@ to be able to create a binary distribution. ...@@ -3342,7 +3341,7 @@ to be able to create a binary distribution.
If you can provide accommodations and pay for traveler fares, you can even If you can provide accommodations and pay for traveler fares, you can even
get a @strong{MySQL} developer to visit you and offer you help with your get a @strong{MySQL} developer to visit you and offer you help with your
troubles. Extended login support entitles you to one personal troubles. Extended login support entitles you to one personal
encounter per year, but we are as always very flexible towards our customers! encounter per year, but we are always very flexible towards our customers!
@end itemize @end itemize
@node Installing, Compatibility, Licensing and Support, Top @node Installing, Compatibility, Licensing and Support, Top
...@@ -4304,11 +4303,16 @@ The basic commands you must execute to install and use a @strong{MySQL} ...@@ -4304,11 +4303,16 @@ The basic commands you must execute to install and use a @strong{MySQL}
binary distribution are: binary distribution are:
@example @example
shell> gunzip < mysql-VERSION-OS.tar.gz | tar xvf - shell> groupadd mysql
shell> useradd -g mysql mysql
shell> cd /usr/local
shell> gunzip < /path/to/mysql-VERSION-OS.tar.gz | tar xvf -
shell> ln -s mysql-VERSION-OS mysql shell> ln -s mysql-VERSION-OS mysql
shell> cd mysql shell> cd mysql
shell> scripts/mysql_install_db shell> scripts/mysql_install_db
shell> bin/safe_mysqld & shell> chown -R mysql /usr/local/mysql
shell> chgrp -R mysql /usr/local/mysql
shell> bin/safe_mysqld --user=mysql &
@end example @end example
You can add new users using the @code{bin/mysql_setpermission} script if You can add new users using the @code{bin/mysql_setpermission} script if
...@@ -4338,11 +4342,31 @@ archives and have names like @file{mysql-VERSION-OS.tar.gz}, where ...@@ -4338,11 +4342,31 @@ archives and have names like @file{mysql-VERSION-OS.tar.gz}, where
the type of operating system for which the distribution is intended (e.g., the type of operating system for which the distribution is intended (e.g.,
@code{pc-linux-gnu-i586}). @code{pc-linux-gnu-i586}).
@item
Add a user and group for @code{mysqld} to run as:
@example
shell> groupadd mysql
shell> useradd -g mysql mysql
@end example
These commands add the @code{mysql} group, and the @code{mysql} user. The
syntax for @code{useradd} and @code{groupadd} may differ slightly on different
Unixes. They may also be called @code{adduser} and @code{addgroup}. You may
wish to call the user and group something else instead of @code{mysql}.
@item
Change into the intended installation directory:
@example
shell> cd /usr/local
@end example
@item @item
Unpack the distribution and create the installation directory: Unpack the distribution and create the installation directory:
@example @example
shell> gunzip < mysql-VERSION-OS.tar.gz | tar xvf - shell> gunzip < /path/to/mysql-VERSION-OS.tar.gz | tar xvf -
shell> ln -s mysql-VERSION-OS mysql shell> ln -s mysql-VERSION-OS mysql
@end example @end example
...@@ -4387,7 +4411,7 @@ $MYSQL = '/usr/local/bin/mysql'; # path to mysql executable ...@@ -4387,7 +4411,7 @@ $MYSQL = '/usr/local/bin/mysql'; # path to mysql executable
@end example @end example
Change the path to reflect the location where @code{mysql} actually is Change the path to reflect the location where @code{mysql} actually is
stored on your system. If you do not do this, you will get a @code{broken stored on your system. If you do not do this, you will get a @code{Broken
pipe} error when you run @code{mysqlaccess}. pipe} error when you run @code{mysqlaccess}.
@item @item
...@@ -4401,6 +4425,19 @@ Note that @strong{MySQL} versions older than 3.22.10 started the ...@@ -4401,6 +4425,19 @@ Note that @strong{MySQL} versions older than 3.22.10 started the
@strong{MySQL} server when you run @code{mysql_install_db}. This is no @strong{MySQL} server when you run @code{mysql_install_db}. This is no
longer true! longer true!
@item
Change ownership of the installation directory to the user which you will
run @code{mysqld} as:
@example
shell> chown -R mysql /usr/local/mysql
shell> chgrp -R mysql /usr/local/mysql
@end example
The first command changes the @code{owner} attribute of the files to the
@code{mysql} user, and the second changes the @code{group} attribute to
the @code{mysql} group.
@item @item
If you want to install support for the Perl @code{DBI}/@code{DBD} interface, If you want to install support for the Perl @code{DBI}/@code{DBD} interface,
see @ref{Perl support}. see @ref{Perl support}.
...@@ -4420,7 +4457,7 @@ and test your distribution. ...@@ -4420,7 +4457,7 @@ and test your distribution.
You can start the @strong{MySQL} server with the following command: You can start the @strong{MySQL} server with the following command:
@example @example
shell> bin/safe_mysqld & shell> bin/safe_mysqld --user=mysql &
@end example @end example
@xref{Post-installation}. @xref{Post-installation}.
...@@ -4436,8 +4473,9 @@ file. The @strong{MySQL} RPMs are currently being built on a RedHat 5.2 ...@@ -4436,8 +4473,9 @@ file. The @strong{MySQL} RPMs are currently being built on a RedHat 5.2
system but should work on other versions of Linux that support @code{rpm} and system but should work on other versions of Linux that support @code{rpm} and
use @code{glibc}. use @code{glibc}.
If you have problems with an RPM file, for example @code{Sorry, the host If you have problems with an RPM file, for example, if you receive the error
'xxxx' could not be looked up}, see @ref{Binary notes-Linux}. ``@code{Sorry, the host 'xxxx' could not be looked up}'', see
@ref{Binary notes-Linux}.
The RPM files you may want to use are: The RPM files you may want to use are:
...@@ -4445,7 +4483,7 @@ The RPM files you may want to use are: ...@@ -4445,7 +4483,7 @@ The RPM files you may want to use are:
@item @code{MySQL-VERSION.i386.rpm} @item @code{MySQL-VERSION.i386.rpm}
The @strong{MySQL} server. You will need this unless you only want to The @strong{MySQL} server. You will need this unless you only want to
connect to another @strong{MySQL} server running on another machine. connect to a @strong{MySQL} server running on another machine.
@item @code{MySQL-client-VERSION.i386.rpm} @item @code{MySQL-client-VERSION.i386.rpm}
...@@ -4726,14 +4764,20 @@ reports}. ...@@ -4726,14 +4764,20 @@ reports}.
@subsection Quick installation overview @subsection Quick installation overview
The basic commands you must execute to install a @strong{MySQL} source The basic commands you must execute to install a @strong{MySQL} source
distribution are (from an unpacked @code{tar} file): distribution are:
@example @example
shell> configure shell> groupadd mysql
shell> useradd -g mysql mysql
shell> gunzip < mysql-VERSION.tar.gz | tar -xvf -
shell> cd mysql-VERSION
shell> ./configure --prefix=/usr/local/mysql
shell> make shell> make
shell> make install shell> make install
shell> scripts/mysql_install_db shell> scripts/mysql_install_db
shell> /usr/local/mysql/bin/safe_mysqld & shell> chown -R mysql /usr/local/mysql
shell> chgrp -R mysql /usr/local/mysql
shell> /usr/local/mysql/bin/safe_mysqld --user=mysql &
@end example @end example
If you start from a source RPM, then do the following. If you start from a source RPM, then do the following.
...@@ -4765,25 +4809,42 @@ Obtain a distribution file from one of the sites listed in ...@@ -4765,25 +4809,42 @@ Obtain a distribution file from one of the sites listed in
archives and have names like @file{mysql-VERSION.tar.gz}, where archives and have names like @file{mysql-VERSION.tar.gz}, where
@code{VERSION} is a number like @value{mysql_version}. @code{VERSION} is a number like @value{mysql_version}.
@item
Add a user and group for @code{mysqld} to run as:
@example
shell> groupadd mysql
shell> useradd -g mysql mysql
@end example
These commands add the @code{mysql} group, and the @code{mysql} user. The
syntax for @code{useradd} and @code{groupadd} may differ slightly on different
Unixes. They may also be called @code{adduser} and @code{addgroup}. You may
wish to call the user and group something else instead of @code{mysql}.
@item @item
Unpack the distribution into the current directory: Unpack the distribution into the current directory:
@example @example
shell> gunzip < mysql-VERSION.tar.gz | tar xvf - shell> gunzip < /path/to/mysql-VERSION.tar.gz | tar xvf -
@end example @end example
This command creates a directory named @file{mysql-VERSION}. This command creates a directory named @file{mysql-VERSION}.
@item @item
Change into the top-level directory of the unpacked distribution: Change into the top-level directory of the unpacked distribution:
@example @example
shell> cd mysql-VERSION shell> cd mysql-VERSION
@end example @end example
@item @item
Configure the release and compile everything: Configure the release and compile everything:
@example @example
shell> ./configure --prefix=/usr/local/mysql shell> ./configure --prefix=/usr/local/mysql
shell> make shell> make
@end example @end example
When you run @code{configure}, you might want to specify some options. When you run @code{configure}, you might want to specify some options.
Run @code{./configure --help} for a list of options. Run @code{./configure --help} for a list of options.
@ref{configure options, , @code{configure} options}, discusses some of the @ref{configure options, , @code{configure} options}, discusses some of the
...@@ -4801,14 +4862,17 @@ a number of common problems. ...@@ -4801,14 +4862,17 @@ a number of common problems.
@item @item
Install everything: Install everything:
@example @example
shell> make install shell> make install
@end example @end example
You might need to run this command as @code{root}. You might need to run this command as @code{root}.
@item @item
Create the @strong{MySQL} grant tables (necessary only if you haven't Create the @strong{MySQL} grant tables (necessary only if you haven't
installed @strong{MySQL} before): installed @strong{MySQL} before):
@example @example
shell> scripts/mysql_install_db shell> scripts/mysql_install_db
@end example @end example
...@@ -4817,6 +4881,19 @@ Note that @strong{MySQL} versions older than 3.22.10 started the ...@@ -4817,6 +4881,19 @@ Note that @strong{MySQL} versions older than 3.22.10 started the
@strong{MySQL} server when you run @code{mysql_install_db}. This is no @strong{MySQL} server when you run @code{mysql_install_db}. This is no
longer true! longer true!
@item
Change ownership of the installation to the user which you will run
@code{mysqld} as:
@example
shell> chown -R mysql /usr/local/mysql
shell> chgrp -R mysql /usr/local/mysql
@end example
The first command changes the @code{owner} attribute of the files to the
@code{mysql} user, and the second changes the @code{group} attribute to
the @code{mysql} group.
@item @item
If you want to install support for the Perl @code{DBI}/@code{DBD} interface, If you want to install support for the Perl @code{DBI}/@code{DBD} interface,
see @ref{Perl support}. see @ref{Perl support}.
...@@ -4832,12 +4909,8 @@ start}. ...@@ -4832,12 +4909,8 @@ start}.
After everything has been installed, you should initialize and test your After everything has been installed, you should initialize and test your
distribution. distribution.
You can start the @strong{MySQL} server with the following command,
where @code{BINDIR} is the directory in which @code{safe_mysqld} is
installed (@file{/usr/local/bin} by default):
@example @example
shell> BINDIR/safe_mysqld & shell> /usr/local/mysql/bin/safe_mysqld --user=mysql &
@end example @end example
If that command fails immediately with @code{mysqld daemon ended} then you can If that command fails immediately with @code{mysqld daemon ended} then you can
...@@ -7725,7 +7798,6 @@ for installation from a source distribution: ...@@ -7725,7 +7798,6 @@ for installation from a source distribution:
@example @example
shell> ./scripts/mysql_install_db shell> ./scripts/mysql_install_db
shell> cd mysql_installation_directory shell> cd mysql_installation_directory
* Command-line options:: Command-line options
shell> ./bin/safe_mysqld & shell> ./bin/safe_mysqld &
@end example @end example
...@@ -8116,7 +8188,7 @@ shell> tail host_name.err ...@@ -8116,7 +8188,7 @@ shell> tail host_name.err
shell> tail host_name.log shell> tail host_name.log
@end example @end example
If you find in the log file something like: the following: If you find something like the following in the log file:
@example @example
000729 14:50:10 bdb: Recovery function for LSN 1 27595 failed 000729 14:50:10 bdb: Recovery function for LSN 1 27595 failed
000729 14:50:10 bdb: warning: ./test/t1.db: No such file or directory 000729 14:50:10 bdb: warning: ./test/t1.db: No such file or directory
...@@ -9616,7 +9688,7 @@ shell> replace " #" " --" -- text-file-with-funny-comments.sql ...@@ -9616,7 +9688,7 @@ shell> replace " #" " --" -- text-file-with-funny-comments.sql
@node Standards, Commit-rollback, Missing functions, Compatibility @node Standards, Commit-rollback, Missing functions, Compatibility
@section What standards does MySQL follow? @section What standards does MySQL follow?
Entry level SQL92. ODBC level 0-2. Entry level SQL92. ODBC levels 0-2.
@node Commit-rollback, , Standards, Compatibility @node Commit-rollback, , Standards, Compatibility
@section How to cope without @code{COMMIT}/@code{ROLLBACK} @section How to cope without @code{COMMIT}/@code{ROLLBACK}
...@@ -9777,7 +9849,7 @@ system. This section describes how it works. ...@@ -9777,7 +9849,7 @@ system. This section describes how it works.
Anyone using @strong{MySQL} on a computer connected to the Internet Anyone using @strong{MySQL} on a computer connected to the Internet
should read this section to avoid the most common security mistakes. should read this section to avoid the most common security mistakes.
In discussing ``security'' we emphasize the necessity of fully protecting the In discussing ``security'', we emphasize the necessity of fully protecting the
entire server host (not simply the @strong{MySQL} server) against all types entire server host (not simply the @strong{MySQL} server) against all types
of applicable attacks: eavesdropping, altering, playback and Denial of of applicable attacks: eavesdropping, altering, playback and Denial of
Service. We do not cover all aspects of availability and fault tolerance Service. We do not cover all aspects of availability and fault tolerance
...@@ -9795,7 +9867,7 @@ When running @strong{MySQL}, follow these guidelines whenever possible: ...@@ -9795,7 +9867,7 @@ When running @strong{MySQL}, follow these guidelines whenever possible:
@itemize @bullet @itemize @bullet
@item @item
DON'T EVER GIVE ANYONE (EXCEPT THE @strong{MySQL} ROOT USER) ACCESS TO THE DON'T EVER GIVE ANYONE (EXCEPT THE @strong{MySQL} ROOT USER) ACCESS TO THE
mysql.user DATABASE! The encrypted password is the real password in mysql.user TABLE! The encrypted password is the real password in
@strong{MySQL}; If you know this for one user you can easily login as @strong{MySQL}; If you know this for one user you can easily login as
him if you have access to his 'host'. him if you have access to his 'host'.
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