Commit c058b5a1 authored by jcole@tetra.spaceapes.com's avatar jcole@tetra.spaceapes.com

Merge jcole@work.mysql.com:/home/bk/mysql

into tetra.spaceapes.com:/usr/home/jcole/bk/mysql
parents a580233a b1e1d5b0
...@@ -7,3 +7,4 @@ sasha@mysql.sashanet.com ...@@ -7,3 +7,4 @@ sasha@mysql.sashanet.com
serg@serg.mysql.com serg@serg.mysql.com
paul@central.snake.net paul@central.snake.net
jcole@main.burghcom.com jcole@main.burghcom.com
jcole@tetra.spaceapes.com
...@@ -12006,10 +12006,11 @@ communication. ...@@ -12006,10 +12006,11 @@ communication.
All other information is transferred as text that can be read by anyone All other information is transferred as text that can be read by anyone
who is able to watch the connection. If you are concerned about this, who is able to watch the connection. If you are concerned about this,
you can use the compressed protocol (in @strong{MySQL} Version 3.22 and above) you can use the compressed protocol (in @strong{MySQL} Version 3.22 and above)
to make things much harder. To make things even more secure you should to make things much harder. To make things even more secure you should use
use @code{ssh} (see @uref{http://www.cs.hut.fi/ssh}). With this, you @code{ssh}. You can find an open source ssh client at
can get an encrypted TCP/IP connection between a @strong{MySQL} server @uref{http://www.openssh.org}, and a commercial ssh client at
and a @strong{MySQL} client. @uref{http://www.ssh.com}. With this, you can get an encrypted TCP/IP
connection between a @strong{MySQL} server and a @strong{MySQL} client.
To make a @strong{MySQL} system secure, you should strongly consider the To make a @strong{MySQL} system secure, you should strongly consider the
following suggestions: following suggestions:
...@@ -24093,43 +24094,43 @@ SUM_OVER_ALL_KEYS(max_length_of_key + sizeof(char*) * 2) ...@@ -24093,43 +24094,43 @@ SUM_OVER_ALL_KEYS(max_length_of_key + sizeof(char*) * 2)
@end menu @end menu
@node BDB overview, BDB install, BDB, BDB @node BDB overview, BDB install, BDB, BDB
@subsection Overview over BDB tables @subsection Overview of BDB Tables
BDB tables are included in the @strong{MySQL} source distribution Support for BDB tables is included in the @strong{MySQL} source distribution
starting from 3.23.34 and will be activated in the @strong{MySQL}-max starting from Version 3.23.34 and will be activated in the @strong{MySQL}-Max
binary. binary.
Berkeley DB (@uref{http://www.sleepycat.com}) has provided BerkeleyDB, available at @uref{http://www.sleepycat.com/} has provided
@strong{MySQL} with a transaction-safe table handler. This will survive @strong{MySQL} with a transactional table handler. By using BerkeleyDB
crashes and also provides @code{COMMIT} and @code{ROLLBACK} on tables, your tables may have a greater chance of surviving crashes, and also
transactions. The @strong{MySQL} source distribution comes with a BDB provides @code{COMMIT} and @code{ROLLBACK} on transactions. The
distribution that has a couple of small patches to make it work more @strong{MySQL} source distribution comes with a BDB distribution that has a
smoothly with @strong{MySQL}. You can't use a not-patched @code{BDB} couple of small patches to make it work more smoothly with @strong{MySQL}.
version with @strong{MySQL}. You can't use a non-patched @code{BDB} version with @strong{MySQL}.
We at MySQL AB are working in close cooperating with Sleepycat to We at @strong{MySQL AB} are working in close cooperation with Sleepycat to
keep the quality of the @strong{MySQL} - BDB interface high. keep the quality of the @strong{MySQL}/BDB interface high.
When it comes to supporting BDB tables, we are committed to help our When it comes to supporting BDB tables, we are committed to help our
users to locate the problem and help creating a reproducable test case users to locate the problem and help creating a reproducable test case
for any problems involving BDB tables. Any such test case will be for any problems involving BDB tables. Any such test case will be
forwarded to Sleepycat who in turn will help us find and fix the forwarded to Sleepycat who in turn will help us find and fix the
problem. As this is a two stage operating, any problems with BDB tables problem. As this is a two stage operation, any problems with BDB tables
may take a little longer for us to fix than for other table handlers, may take a little longer for us to fix than for other table handlers.
but as the Berkeley code itself has been used by many other applications However, as the BerkeleyDB code itself has been used by many other
than @strong{MySQL} we don't envision any big problems with this. applications than @strong{MySQL}, we don't envision any big problems with
@xref{Table handler support}. this. @xref{Table handler support}.
@node BDB install, BDB start, BDB overview, BDB @node BDB install, BDB start, BDB overview, BDB
@subsection Installing BDB @subsection Installing BDB
If you have downloaded a binary version of @strong{MySQL} that includes If you have downloaded a binary version of @strong{MySQL} that includes
support for Berkeley DB, simply follow the instructions for support for BerkeleyDB, simply follow the instructions for installing a
installing a binary version of @strong{MySQL}. @xref{Installing binary}. binary version of @strong{MySQL}.
@xref{mysqld-max}. @xref{Installing binary}. @xref{mysqld-max}.
To compile @strong{MySQL} with Berkeley DB support, download @strong{MySQL} To compile @strong{MySQL} with Berkeley DB support, download @strong{MySQL}
3.23.34 or newer and configure @code{MySQL} with the Version 3.23.34 or newer and configure @code{MySQL} with the
@code{--with-berkeley-db} option. @xref{Installing source}. @code{--with-berkeley-db} option. @xref{Installing source}.
@example @example
...@@ -24137,8 +24138,8 @@ cd /path/to/source/of/mysql-3.23.34 ...@@ -24137,8 +24138,8 @@ cd /path/to/source/of/mysql-3.23.34
./configure --with-berkeley-db ./configure --with-berkeley-db
@end example @end example
Please refer to the manual provided by @code{BDB} distribution for Please refer to the manual provided with the @code{BDB} distribution for
more/updated information. more updated information.
Even though Berkeley DB is in itself very tested and reliable, Even though Berkeley DB is in itself very tested and reliable,
the @strong{MySQL} interface is still considered beta quality. the @strong{MySQL} interface is still considered beta quality.
...@@ -34282,9 +34283,8 @@ Record file is crashed ...@@ -34282,9 +34283,8 @@ Record file is crashed
@item @item
Got error ### from table handler Got error ### from table handler
To get more information about the error you can do @code{perror To get more information about the error you can run @code{perror ###}. Here
###}. Here is the most common errors that indicates a problem with the is the most common errors that indicates a problem with the table:
table:
@example @example
shell> perror 126 127 132 134 135 136 141 144 145 shell> perror 126 127 132 134 135 136 141 144 145
...@@ -34302,22 +34302,11 @@ shell> perror 126 127 132 134 135 136 141 144 145 ...@@ -34302,22 +34302,11 @@ shell> perror 126 127 132 134 135 136 141 144 145
Note that error 135, no more room in record file, is not an error that Note that error 135, no more room in record file, is not an error that
can be fixed by a simple repair. In this case you have to do: can be fixed by a simple repair. In this case you have to do:
@itemize @bullet @example
@item ALTER TABLE table MAX_ROWS=xxx AVG_ROW_LENGTH=yyy;
@code{CREATE TABLE ...} for the table with proper @code{MAX_ROWS} and @end example
@code{AVG_ROW_LENGTH} values. @xref{CREATE TABLE}.
@item
Copy the data over from the old table with @code{INSERT INTO new_table
SELECT * from old_table}.
@item
Rename the old table to the new table:
@code{RENAME old_table to tmp_table, new_table to old_table}
@item
Delete the old table: @code{DROP TABLE tmp_table}.
@end itemize
@end itemize
In these cases, you must repair your tables. @code{myisamchk} In the other cases, you must repair your tables. @code{myisamchk}
can usually detect and fix most things that go wrong. can usually detect and fix most things that go wrong.
The repair process involves up to four stages, described below. Before you The repair process involves up to four stages, described below. Before you
...@@ -34327,9 +34316,9 @@ that @code{mysqld} runs as (and to you, because you need to access the files ...@@ -34327,9 +34316,9 @@ that @code{mysqld} runs as (and to you, because you need to access the files
you are checking). If it turns out you need to modify files, they must also you are checking). If it turns out you need to modify files, they must also
be writable by you. be writable by you.
If you are using @strong{MySQL} Version 3.23.16 and above, you can (and should) use the If you are using @strong{MySQL} Version 3.23.16 and above, you can (and
@code{CHECK} and @code{REPAIR} commands to check and repair @code{MyISAM} should) use the @code{CHECK} and @code{REPAIR} commands to check and repair
tables. @xref{CHECK TABLE}. @xref{REPAIR TABLE}. @code{MyISAM} tables. @xref{CHECK TABLE}. @xref{REPAIR TABLE}.
The manual section about table maintenance includes the options to The manual section about table maintenance includes the options to
@code{isamchk}/@code{myisamchk}. @xref{Table maintenance}. @code{isamchk}/@code{myisamchk}. @xref{Table maintenance}.
...@@ -36252,6 +36241,10 @@ server closes the connection after 8 hours if nothing has happened. You ...@@ -36252,6 +36241,10 @@ server closes the connection after 8 hours if nothing has happened. You
can change the time limit by setting the @code{wait_timeout} variable when can change the time limit by setting the @code{wait_timeout} variable when
you start mysqld. you start mysqld.
Another common reason to receive the @code{MySQL server has gone away} error
is because you have issued a ``close'' on your @strong{MySQL} connection
and then tried to run a query on the closed connection.
You can check that the @strong{MySQL} hasn't died by executing You can check that the @strong{MySQL} hasn't died by executing
@code{mysqladmin version} and examining the uptime. @code{mysqladmin version} and examining the uptime.
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