summaryrefslogtreecommitdiff
path: root/Docs
diff options
context:
space:
mode:
authorunknown <monty@donna.mysql.com>2000-08-29 19:38:32 +0300
committerunknown <monty@donna.mysql.com>2000-08-29 19:38:32 +0300
commit463016ee2740fa00e56039bc0b1f8122019c982a (patch)
tree11ed770fa863e0b50af0b27d2c231817f7655ef8 /Docs
parent3776743da299b4229fe12a36cd6a6c0f6fb6b1e6 (diff)
downloadmariadb-git-463016ee2740fa00e56039bc0b1f8122019c982a.tar.gz
Updates for release
BitKeeper/deleted/.del-mi_debug.c: ***MISSING WEAVE*** BUILD/compile-alpha-ccc: Added thread safe libraries Docs/manual.texi: Added information about --log-slow-queries Makefile.am: Fix for thread safe libraries client/mysql.cc: Allow commands without ; on first line myisam/Makefile.am: Removed mi_debug.c myisam/mi_check.c: Removed compiler warnings myisam/mi_dbug.c: Extra debugging myisammrg/myrg_rkey.c: Removed compiler warnings myisammrg/myrg_rnext.c: Removed compiler warnings myisammrg/myrg_rprev.c: Removed compiler warnings sql/mini_client.cc: Removed compiler warnings sql/mysqld.cc: Updated help sql/sql_parse.cc: Fix permission checking for RENAME tests/grant.pl: Added more grant tests tests/grant.res: New results
Diffstat (limited to 'Docs')
-rw-r--r--Docs/bk.txt64
-rw-r--r--Docs/manual.texi150
2 files changed, 154 insertions, 60 deletions
diff --git a/Docs/bk.txt b/Docs/bk.txt
new file mode 100644
index 00000000000..17bab4453c3
--- /dev/null
+++ b/Docs/bk.txt
@@ -0,0 +1,64 @@
+Mail by sasha, should be rewritten as a HOWTO sometimes
+-----------
+
+I have set up a repository with BitKeeper on work. There are still some things
+about it that I would like to learn, but I have gotten far enough with it to
+replace CVS functionality were are currently using, so let's just go ahead and
+get started on it. Please follow the instructions below (make sure to save the
+message for future reference):
+
+a) http://www.bitmover.com/download
+ user: beta
+ password: get bitkeeper
+
+ get the version appropriate for your platform - download it to a temp
+directory, chmod +x and then run it. You will have to tell it which directory
+to install, for consistency, let's use /usr/local/bin
+
+b) we will take advantage of bk capablity of working with master/slave
+repositories. The master will be on work.mysql.com, the slaves will be our
+individual machines. The master repository has already been set up on work, so
+you will need just to set up a slave repository on your machine:
+
+ mkdir bk
+ cd bk
+ bk clone yourusername@work:/home/bk/mysql mysql
+ cd mysql
+ bk -r edit
+
+Now you have the entire source tree in the current directory. Let's compile it:
+
+ BUILD/compile-pentium-debug
+
+After you edit a file, you need to check it in using bk citool or bk ci
+filename. Note that ci is different than commit - you ci a file, but you commit
+a change set. This is a very nice concept - instead of thinking of each
+individual file as CVS does, bk groups the changes you are making and allows you
+to document what you actually did between the commits as a whole, rather than
+just commenting on every file. When you commit, bk will ask you to comment on
+the change set.
+
+Commit is done just to your local repository. To make your changes global, you
+will need to run bk push. Be careful with that - it is a good idea to run bk
+push -l -n first too see what you are just about to push to the master
+repository.
+
+When somebody does a push, you will be getting a email ( I will set this up to
+day). You will then need to execute bk pull to update your sources. If there are
+any conflicts, bk will force you to resolve them by asking you questions on what
+to do with each conflict.
+
+To learn more about bk, use bk helptool - I will be doing this a lot in the next
+couple of days :-) If you find bugs or have questions/feature
+suggestions/comments for developers, feel free to e-mail dev@bitmover.com .
+Their developers, and especially the president of the company Larry McCoy really
+like MySQL and are very anxious to help us. Make sure it is obvious that you
+work for MySQL, of course. And, of course, do not bug them with little things
+that you can figure out on your own or with my help - they were nice to offer us
+support, but we should not abuse it.
+
+If you are working on 3.23 MySQL source, please make sure to convert to bk ASAP
+before you do any further developement - otherwise, things will get
+exponentially worse as the code mass increases. I will work on mysql-4.0 next
+and try to set it up so that when we update 3.23 source tree, the update makes
+it to mysql-4.0.
diff --git a/Docs/manual.texi b/Docs/manual.texi
index 05df67c3371..a409e442b68 100644
--- a/Docs/manual.texi
+++ b/Docs/manual.texi
@@ -180,7 +180,7 @@ Installing MySQL
* Source install system issues:: System-specific issues
* Windows:: Windows notes
* OS/2:: OS/2 notes
-* MySQL binaries::
+* MySQL binaries::
* Post-installation:: Post-installation setup and testing
* Upgrade:: Is there anything special to do when upgrading/downgrading @strong{MySQL}?
@@ -238,7 +238,7 @@ Linux notes (all Linux versions)
* Linux-Alpha:: Linux-Alpha notes
* MKLinux:: MkLinux notes
* Qube2:: Qube2 Linux notes
-* Linux-Ia64::
+* Linux-Ia64::
BSD/OS notes
@@ -253,7 +253,7 @@ Windows notes
* NT start:: Starting @strong{MySQL} on NT / Win2000
* Windows running:: Running @strong{MySQL} on Windows
* Windows and SSH:: Connecting to a remote @strong{MySQL} from Windows with SSH
-* Windows symbolic links:: Splitting data across different disks under Windows
+* Windows symbolic links:: Splitting data across different disks under Win32
* Windows compiling:: Compiling MySQL clients on Windows.
* Windows vs Unix:: @strong{MySQL}-Windows compared to Unix @strong{MySQL}
@@ -411,13 +411,13 @@ Functions for use in @code{SELECT} and @code{WHERE} clauses
@code{SHOW} syntax (Get information about tables, columns,...)
-* SHOW DATABASE INFO::
-* SHOW TABLE STATUS::
-* SHOW STATUS::
-* SHOW VARIABLES::
-* SHOW PROCESSLIST::
-* SHOW GRANTS::
-* SHOW CREATE TABLE::
+* SHOW DATABASE INFO::
+* SHOW TABLE STATUS::
+* SHOW STATUS::
+* SHOW VARIABLES::
+* SHOW PROCESSLIST::
+* SHOW GRANTS::
+* SHOW CREATE TABLE::
MySQL table types
@@ -567,10 +567,10 @@ Using @code{myisamchk} for table maintenance and crash recovery
@code{myisamchk} invocation syntax
-* myisamchk general options::
-* myisamchk check options::
-* myisamchk repair options::
-* myisamchk other options::
+* myisamchk general options::
+* myisamchk check options::
+* myisamchk repair options::
+* myisamchk other options::
Using @code{myisamchk} for crash recovery
@@ -643,16 +643,17 @@ Some common errors when using MySQL
* Packet too large:: @code{Packet too large} error
* Communication errors:: Communication errors / Aborted connection
* Full table:: @code{The table is full} error
-* Cannot create::
+* Cannot create::
* Commands out of sync:: @code{Commands out of sync} error in client
* Ignoring user:: @code{Ignoring user} error
* Cannot find table:: @code{Table 'xxx' doesn't exist} error
Solving some common problems with MySQL
-* Log Replication:: Database replication with update log
+* Log Replication:: Database replication with update log
* Backup:: Database backups
* Update log:: The update log
+* Slow query log::
* Multiple servers:: Running multiple @strong{MySQL} servers on the same machine
MySQL client tools and APIs
@@ -753,6 +754,7 @@ How MySQL compares to @code{mSQL}
MySQL internals
* MySQL threads:: MySQL threads
+* MySQL full-text search:: MySQL full-text search
MySQL change history
@@ -900,7 +902,7 @@ Comments on porting to other systems
* Debugging server:: Debugging a @strong{MySQL} server
* Debugging client:: Debugging a @strong{MySQL} client
* The DBUG package:: The DBUG package
-* Locking methods::
+* Locking methods::
* RTS-threads:: Comments about RTS threads
* Thread packages:: Differences between different thread packages
@@ -3359,7 +3361,7 @@ encounter per year, but we are as always very flexible towards our customers!
* Source install system issues:: System-specific issues
* Windows:: Windows notes
* OS/2:: OS/2 notes
-* MySQL binaries::
+* MySQL binaries::
* Post-installation:: Post-installation setup and testing
* Upgrade:: Is there anything special to do when upgrading/downgrading @strong{MySQL}?
@end menu
@@ -6026,7 +6028,7 @@ CC=fcc CFLAGS="-O -K fast -K lib -K omitfp -Kpreex -D_GNU_SOURCE -DCONST=const -
* Linux-Alpha:: Linux-Alpha notes
* MKLinux:: MkLinux notes
* Qube2:: Qube2 Linux notes
-* Linux-Ia64::
+* Linux-Ia64::
@end menu
@node Linux-x86, Linux-RedHat50, Linux, Linux
@@ -8368,13 +8370,17 @@ Client error messages in given language. May be given as a full path.
@item -l, --log[=file]
Log connections and queries to file
+@item --log-isam[=file]
+Log all ISAM/MyISAM changes to file (only used when debugging ISAM/MyISAM).
+
+@item --log-slow-queries[=file]
+Log all queries that has taken more than @code{long_query_time} to execute
+to file. @xref{Slow query log}.
+
@item --log-update[=file]
Log updates to @code{file.#} where @code{#} is a unique number if not given.
@xref{Update log}.
-@item --log-isam[=file]
-Log all isam changes to file.
-
@item --log-long-format
Log some extra information to update log.
@@ -8692,6 +8698,7 @@ The following lists tell what you have to watch out for when upgrading to 3.23:
(-g) by default. This option can be disabled with --enable-named-commands
(-G). This may cause incompatibility problems in some cases, for example
in SQL scripts that use named commands without a semicolon, etc. !
+Long format commands still work from the first line.
@item The default return type of @code{IF} will now depend on both arguments
and not only the first argument.
@item @code{AUTO_INCREMENT} will not work with negative numbers.
@@ -16872,7 +16879,7 @@ RENAME TABLE current_database.table_name TO other_database.table_name;
@end example
When you execute @code{RENAME}, you can't have any locked tables or
-active transactions. You must also have the @code{ALTER TABLE}
+active transactions. You must also have the @code{ALTER} and @code{DROP}
privilege on the original table and @code{CREATE} and @code{INSERT}
privilege on the new table.
@@ -18353,13 +18360,13 @@ and @samp{_} wildcard characters.
@findex SHOW INDEX
@findex SHOW KEYS
@menu
-* SHOW DATABASE INFO::
-* SHOW TABLE STATUS::
-* SHOW STATUS::
-* SHOW VARIABLES::
-* SHOW PROCESSLIST::
-* SHOW GRANTS::
-* SHOW CREATE TABLE::
+* SHOW DATABASE INFO::
+* SHOW TABLE STATUS::
+* SHOW STATUS::
+* SHOW VARIABLES::
+* SHOW PROCESSLIST::
+* SHOW GRANTS::
+* SHOW CREATE TABLE::
@end menu
@node SHOW DATABASE INFO, SHOW TABLE STATUS, SHOW, SHOW
@@ -18543,7 +18550,7 @@ have..
@item @code{Opened_tables} @tab Number of tables that have been opened.
@item @code{Questions} @tab Number of queries sent to the server.
@item @code{Slow_launch_threads} @tab Number of threads that has taken more than @code{slow_launch_time} to connect.
-@item @code{Slow_queries} @tab Number of queries that has taken more than @code{long_query_time}
+@item @code{Slow_queries} @tab Number of queries that has taken more than @code{long_query_time}. @xref{Slow query log}.
@item @code{Threads_cached} @tab Number of threads in the thread cache.
@item @code{Threads_connected} @tab Number of currently open connections.
@item @code{Threads_running} @tab Number of threads that are not sleeping.
@@ -18773,7 +18780,8 @@ Change all table names to lower case on disk.
@item @code{long_query_time}
If a query takes longer than this (in seconds), the @code{Slow_queries} counter
-will be incremented.
+will be incremented. If you are using @code{--log-slow-queries}, the query
+will be logged to the slow query logfile. @xref{Slow query log}.
@item @code{max_allowed_packet}
The maximum size of one packet. The message buffer is initialized to
@@ -18929,7 +18937,7 @@ threads. Otherwise, you can see only your own threads. @xref{KILL, ,
@code{KILL}}. If you don't use the the @code{FULL} option, then only
the first 100 characters of each query will be shown.
-@node SHOW GRANTS,SHOW CREATE TABLE , SHOW PROCESSLIST, SHOW
+@node SHOW GRANTS, SHOW CREATE TABLE, SHOW PROCESSLIST, SHOW
@subsection SHOW GRANTS (privileges) for a user
@code{SHOW GRANTS FOR user} lists the grant commands that must be issued to
@@ -18944,7 +18952,7 @@ mysql> SHOW GRANTS FOR root@@localhost;
+---------------------------------------------------------------------+
@end example
-@node SHOW CREATE TABLE,,SHOW GRANTS, SHOW
+@node SHOW CREATE TABLE, , SHOW GRANTS, SHOW
@subsection SHOW CREATE TABLE
Shows a @code{CREATE TABLE} statement that will create the given table
@example
@@ -25569,7 +25577,7 @@ Continue even if we get an SQL error.
Named commands are disabled. Use \* form only, or use named commands
only in the beginning of a line ending with a semicolon (;) Since
version 10.9 the client now starts with this option ENABLED by default!
-Disable with '-G'
+Disable with '-G'. Long format commands still work from the first line.
@item -i, --ignore-space
Ignore space after function names.
@item -h, --host=...
@@ -25736,7 +25744,7 @@ The @code{mysqladmin status} command result has the following columns:
@item Uptime @tab Number of seconds the @strong{MySQL} server has been up.
@item Threads @tab Number of active threads (clients).
@item Questions @tab Number of questions from clients since @code{mysqld} was started.
-@item Slow queries @tab Queries that have taken more than @code{long_query_time} seconds.
+@item Slow queries @tab Queries that have taken more than @code{long_query_time} seconds. @xref{Slow query log}.
@item Opens @tab How many tables @code{mysqld} has opened.
@item Flush tables @tab Number of @code{flush ...}, @code{refresh} and @code{reload} commands.
@item Open tables @tab Number of tables that are open now.
@@ -26558,10 +26566,10 @@ shell> myisamchk /path/to/datadir/*/*.MYI
@code{myisamchk} supports the following options:
@menu
-* myisamchk general options::
-* myisamchk check options::
-* myisamchk repair options::
-* myisamchk other options::
+* myisamchk general options::
+* myisamchk check options::
+* myisamchk repair options::
+* myisamchk other options::
@end menu
@node myisamchk general options, myisamchk check options, myisamchk syntax, myisamchk syntax
@@ -27482,8 +27490,9 @@ The above command does the following:
@itemize @bullet
@item
-If standard logging (@code{--log}) is used, closes and reopens the log file.
-(@file{mysql.log} as default).
+If standard logging (@code{--log}) or slow query logging
+@code{--log-slow-queries} is used, closes and reopens the log file.
+(@file{mysql.log} and @file{mysql-slow.log} as default).
@item
If update logging (@code{--log-update}) is used, closes the update log and
opens a new log file with a higher sequence number.
@@ -28901,7 +28910,7 @@ sure that no other programs is using the dynamic libraries!
* Packet too large:: @code{Packet too large} error
* Communication errors:: Communication errors / Aborted connection
* Full table:: @code{The table is full} error
-* Cannot create::
+* Cannot create::
* Commands out of sync:: @code{Commands out of sync} error in client
* Ignoring user:: @code{Ignoring user} error
* Cannot find table:: @code{Table 'xxx' doesn't exist} error
@@ -29945,6 +29954,7 @@ Drop or rename @code{old_table}
* Log Replication:: Database replication with update log
* Backup:: Database backups
* Update log:: The update log
+* Slow query log::
* Multiple servers:: Running multiple @strong{MySQL} servers on the same machine
@end menu
@@ -30050,7 +30060,7 @@ to be replaced with new ones when a new record duplicates an old record on
a unique key value.
@cindex Update log
-@node Update log, Multiple servers, Backup, Common problems
+@node Update log, Slow query log, Backup, Common problems
@section The update log
When started with the @code{--log-update[=file_name]} option,
@@ -30104,6 +30114,20 @@ This can be useful if you have to revert to backup files after a crash
and you want to redo the updates that occurred between the time of the backup
and the crash.
+@cindex Slow query log
+@node Slow query log, Multiple servers, Update log, Common problems
+@section The slow query log
+
+When started with the @code{--log-slow-queries[=file_name]} option,
+@code{mysqld} writes a log file containing all SQL commands that took
+more than @code{long_query_time} to execute. data. If no file name is
+given, it defaults to the name of the host machine suffixed with
+@code{-slow.log}. If file name is given, but it doesn't contain a path
+the file is written in the data directory.
+
+The slow query log can be used to find queries that takes a long time to
+execute and are thus candidates for optimization.
+
@cindex Database replication
@cindex Replication, database
@cindex Database mirroring
@@ -30113,7 +30137,7 @@ another host and you want to replicate the changes that have been made
to the master database. @xref{Log Replication}.
@cindex Multiple servers
-@node Multiple servers, , Update log, Common problems
+@node Multiple servers, , Slow query log, Common problems
@section Running multiple MySQL servers on the same machine
There are circumstances when you might want to run multiple servers on the same
@@ -30163,10 +30187,11 @@ by specifying them at runtime as options to @code{safe_mysqld}:
shell> /path/to/safe_mysqld --socket=file_name --port=port_number
@end example
-If you run the new server on the same database directory as another server
-with logging enabled, you should also specify the name of the log files
-to @code{safe_mysqld} with @code{--log} and @code{--log-update}. Otherwise,
-both servers may be trying to write to the same log file.
+If you run the new server on the same database directory as another
+server with logging enabled, you should also specify the name of the log
+files to @code{safe_mysqld} with @code{--log}, @code{--log-update} or
+@code{--log-slow-queries}. Otherwise, both servers may be trying to
+write to the same log file.
@strong{Warning}: Normally you should never have two servers that update
data in the same database! If your OS doesn't support fault-free system
@@ -34165,7 +34190,7 @@ started to read and apply updates from the master.
@code{mysqladmin processlist} only shows the connection and @code{INSERT
DELAYED} threads.
-@node MySQL full-text search, , MySQL threads, MySQL internals
+@node MySQL full-text search, , MySQL threads, MySQL internals
@section MySQL full-text search
Since version 3.23.23, @strong{MySQL} has support for full-text indexing
@@ -35665,6 +35690,7 @@ though, so 3.23 is not released as a stable version yet.
(-g) by default. This option can be disabled with --enable-named-commands
(-G). This may cause incompatibility problems in some cases, for example
in SQL scripts that use named commands without a semicolon, etc. !
+Long format commands still work from the first line.
@item
Fixed a problem when using many pending @code{DROP TABLE} statement at
the same time.
@@ -40215,7 +40241,7 @@ will ensure that your thread installation has even a remote chance to work!
* Debugging server:: Debugging a @strong{MySQL} server
* Debugging client:: Debugging a @strong{MySQL} client
* The DBUG package:: The DBUG package
-* Locking methods::
+* Locking methods::
* RTS-threads:: Comments about RTS threads
* Thread packages:: Differences between different thread packages
@end menu
@@ -40362,15 +40388,19 @@ mysqld are using indexes properly. @xref{EXPLAIN, , @code{EXPLAIN}}. You
should also test complicated queries that didn't complete within the
@code{mysql} command line tool.
-If you find the text @code{mysqld restarted} in the error log file (normally
-named @file{hostname.err}) you have probably found a query that causes
-@code{mysqld} to fail. If this happens you should check all your tables with
-@code{myisamchk} (@pxref{Maintenance}), and test the queries in the
-@strong{MySQL} log files to see if one doesn't work. If you find such a query,
-try first upgrading to the newest @strong{MySQL} version. If this doesn't
-help and you can't find anything in the @code{mysql} mail archive, you should
-report the bug to @email{mysql@@lists.mysql.com}. Links to mail archives are
-available online at the @uref{http://www.mysql.com/documentation/, @strong{MySQL}
+You can find the queries that takes a long time to run by starting
+@code{mysqld} with @code{--log-slow-queries}. @xref{Slow query log}.
+
+If you find the text @code{mysqld restarted} in the error log file
+(normally named @file{hostname.err}) you have probably found a query
+that causes @code{mysqld} to fail. If this happens you should check all
+your tables with @code{myisamchk} (@pxref{Maintenance}), and test the
+queries in the @strong{MySQL} log files to see if one doesn't work. If
+you find such a query, try first upgrading to the newest @strong{MySQL}
+version. If this doesn't help and you can't find anything in the
+@code{mysql} mail archive, you should report the bug to
+@email{mysql@@lists.mysql.com}. Links to mail archives are available
+online at the @uref{http://www.mysql.com/documentation/, @strong{MySQL}
documentation page}.
If you get corrupted tables or if @code{mysqld} always fails after some