Loading Docs/internals.texi +11 −13 Original line number Diff line number Diff line Loading @@ -7,7 +7,7 @@ @c @synindex tp fn cp @synindex cp fn @iftex @c Well this is normal in Europe. Maybe this shold go into the include.texi? @c Well this is normal in Europe. Maybe this should go into the include.texi? @afourpaper @end iftex @c Get version and other info Loading Loading @@ -47,10 +47,10 @@ This is a manual about @strong{MySQL} internals. @end menu @node caching @chapter How do MySQL handle caching @chapter How MySQL handles caching MySQL has the following caches: (Note that the some of the filename has wrong spelling of cache :) (Note that the some of the filename have a wrong spelling of cache. :) @itemize @bullet @item Key cache Loading @@ -76,17 +76,17 @@ cached for each user/database combination. sql/sql_acl.cc @item Heap table cache Many use of GROUP BY or DISTINCT caches all found rows in a HEAP table (this is a very quick, in memory table with hash index) rows in a HEAP table (this is a very quick in-memory table with hash index) @item Join row cache. For every full join in a SELECT statement (a full join here means there was no keys that one could use to find the next table in a list), the were no keys that one could use to find the next table in a list), the found rows are cached in a join cache. One SELECT query can use many join caches in the worst case. @end itemize @node flush tables @chapter How do MySQL handle flush tables @chapter How MySQL handles flush tables @itemize @bullet @item Loading Loading @@ -122,22 +122,22 @@ same tables. @end itemize @node Filesort @chapter How do MySQL do sorting (filesort) @chapter How MySQL does sorting (filesort) - Read all rows according to key or by table-scanning. - Store the sort-key in a buffer (sort_buffer). - When the buffer gets full, run a qsort on it and store the result in a temporary file. Save a pointer to the sorted block. - Repeate the above until all rows has been read. - Repeat the above until all rows have been read. - Repeat the following until there is less than MERGEBUFF2 (15) blocks left. - Do a multi-merge of up to MERGEBUFF (7) regions to one block in another temporary file. Repeat until all blocks from the first file is in the second file. are in the second file. - On the last multi-merge, only the pointer to the row (last part of the sort-key) is written to a result file. - Now the code in sql/records.cc will be used to read through the - Now the code in sql/records.cc will be used to read through them in sorted order by using the row pointers in the result file. To optimize this, we read in a big block of row pointers, sort these and then we read the rows in the sorted order into a row buffer Loading @@ -152,5 +152,3 @@ same tables. @contents @bye Do text here do something ?? Docs/manual.texi +49 −42 Original line number Diff line number Diff line Loading @@ -1680,12 +1680,12 @@ Big changes made in @strong{MySQL} 3.22.12. @item @strong{MyODBC} (uses ODBC SDK 2.5) --- Gamma It seems to work well with some programs. @item replication -- alpha @item Replication -- Alpha We are still working on replication, so don't expect this to be rock solid yet. On the other hand, some @strong{MySQL} users are already using this with good results... @item BDB tables -- alpha @item BDB Tables -- Alpha The Berkeley DB code is very stable, but we are still improving the interface between @strong{MySQL} and BDB tables, so it will take some time before this is as tested as the other table types. Loading Loading @@ -6242,7 +6242,7 @@ and @strong{mysqld} should be ready to run. @subsection Alpha-DEC-Unix notes (Tru64) If you are using egcs 1.1.2 on Digital UNIX, you should upgrade to gcc 2.95.2, as egcs has some bad bugs on DEC! 2.95.2, as egcs on DEC has some serious bugs! When compiling threaded programs under Digital UNIX, the documentation recommends using the @code{-pthread} option for @code{cc} and @code{cxx} and Loading Loading @@ -9718,7 +9718,7 @@ When running @strong{MySQL}, follow these guidelines whenever possible: @itemize @bullet @item DON'T EVER GIVE ANYBODY (BUT 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 @strong{MySQL}; If you know this for one user you can easily login as him if you have access to his 'host'. Loading Loading @@ -10328,9 +10328,9 @@ Privileges on the @code{mysql} database can be used to change passwords and other access privilege information. (Passwords are stored encrypted, so a malicious user cannot simply read them to know the plain text password). If they can access the @code{mysql.user} password column, they can however use it to login into the @strong{MySQL} server for the given user. With sufficient privileges, the same use can however replace a password with a different one.) column, they can use it to login into the @strong{MySQL} server for the given user. With sufficient privileges, the same user can replace a password with a different one.) @end itemize There are some things that you cannot do with the @strong{MySQL} Loading Loading @@ -10628,7 +10628,7 @@ Non-blank @code{Password} values represent encrypted passwords. see. Rather, the password supplied by a user who is attempting to connect is encrypted (using the @code{PASSWORD()} function). The encrypted password is then used when the client/server is checking if the password is connect (This is done without the encrypted password the password is correct (This is done without the encrypted password ever traveling over the connection). Note that from @strong{MySQL}'s point of view the encrypted password is the REAL password, so you should not give anyone access to it! In particular, don't give normal users Loading Loading @@ -11448,7 +11448,7 @@ normally this isn't a big problem. @item If you get an error message where the hostname is not shown or where the host name is an IP, even if you try to connect with an hostname: hostname is an IP, even if you try to connect with a hostname: @example shell> mysqladmin -u root -pxxxx -h some-hostname ver Loading @@ -11464,7 +11464,7 @@ are: @item Try to find out what is wrong with your DNS server and fix this. @item Specify IP's instead of hostnames in the @code{MySQL} privilege tables. Specify IPs instead of hostnames in the @code{MySQL} privilege tables. @item Start mysqld with @code{--skip-name-resolve}. @item Loading Loading @@ -11555,21 +11555,22 @@ sure you haven't specified an old password in any of your option files! If you make changes to the grant tables directly (using @code{INSERT} or @code{UPDATE} statement) and your changes seem to be ignored, remember that you must issue a @code{FLUSH PRIVILEGES} statement or execute a @code{mysqladmin flush-privileges} command to cause the server to reread @code{mysqladmin flush-privileges} command to cause the server to re-read the privilege tables. Otherwise your changes have no effect until the next time the server is restarted. Remember that after you set the @code{root} password with an @code{UPDATE} command, you won't need to specify it until after you flush the privileges, because the server still won't know you've changed the password yet! won't know you've changed the password yet! @item If you have access problems with a Perl, PHP, Python or ODBC program, try to connect to the server with @code{mysql -u user_name db_name} or @code{mysql -u user_name -pyour_pass db_name}. If you are able to connect using the @code{mysql} client, there is a problem with your program and not with the access privileges. (Notice that there is no space between @code{-p} and the access privileges. (Note that there is no space between @code{-p} and the password; you can also use the @code{--password=your_pass} syntax to specify the password.) the password. If you use the @code{-p} option alone, MySQL will prompt you for the password.) @item For testing, start the @code{mysqld} daemon with the Loading Loading @@ -15414,8 +15415,8 @@ a way that it is equivalent to @code{"1:10" MINUTE_SECOND}. This is analogous to the way that @strong{MySQL} interprets @code{TIME} values as representing elapsed time rather than as time of day. Note that if you add/subtract a date value against something that contains a time part, the date value will automaticly be converted to a Note that if you add or subtract a date value against something that contains a time part, the date value will be automatically converted to a datetime value: @example Loading Loading @@ -16670,9 +16671,9 @@ index exists, it drops the first @code{UNIQUE} index in the table. if no @code{PRIMARY KEY} was specified explicitly.) @item If you are doing an @code{ALTER TABLE} on/to a @code{MyISAM} table, all non unique index are created in a separate batch (like in @code{REPAIR}). This should make @code{ALTER TABLE} much faster when you have many index. If you use @code{ALTER TABLE} on a @code{MyISAM} table, all non-unique indexes are created in a separate batch (like in @code{REPAIR}). This should make @code{ALTER TABLE} much faster when you have many indexes. @item @findex mysql_info() Loading Loading @@ -17636,10 +17637,10 @@ If you load data from a local file using the @code{LOCAL} keyword, the server has no way to stop transmission of the file in the middle of the operation, so the default bahavior is the same as if @code{IGNORE} is specified. If you are @code{LOAD DATA INFILE} to an empty @code{MyISAM} table, all non unique index are created in a separate batch (like in @code{REPAIR}). If you use @code{LOAD DATA INFILE} on an empty @code{MyISAM} table, all non-unique indexes are created in a separate batch (like in @code{REPAIR}). This normally makes @code{LOAD DATA INFILE} much faster when you have many index. indexes. @code{LOAD DATA INFILE} is the complement of @code{SELECT ... INTO OUTFILE}. @xref{SELECT, , @code{SELECT}}. Loading Loading @@ -25546,7 +25547,7 @@ memory before dumping the result. This will probably be a problem if you are dumping a big database. Note that if you are using a new copy of the @code{mysqldump} program and is going to do a dump that will be read into a very old @code{MySQL} and you are going to do a dump that will be read into a very old @code{MySQL} server, you should not use the @code{--opt} or @code{-e} options. @code{mysqldump} supports the following options: Loading Loading @@ -28026,10 +28027,10 @@ To make Access work: @itemize @bullet @item If you are using Access 2000, you should get an install Microsoft MDAC from If you are using Access 2000, you should get and install Microsoft MDAC from @uref{http://www.microsoft.com/data/download_21242023.htm}. This will fix the bug in Access that when you export data to @strong{MySQL}, the table and column names wasn't specified. table and column names aren't specified. @item You should have a primary key in the table. @item Loading Loading @@ -34903,7 +34904,7 @@ By Elizabeth. @item @uref{http://www.mysql.com/Downloads/Contrib/mybackup} @item @uref{http://www.mswanson.com/mybackup, mybackup home page} Wrapper for mysqldump to backup all databases. By "Marc Swanson". Wrapper for mysqldump to backup all databases. By Marc Swanson. @end itemize @appendixsec RPMs for common tools (Most are for RedHat 6.1) Loading Loading @@ -35309,8 +35310,8 @@ and will soon be declared beta, gamma and release. @appendixsubsec Changes in release 3.23.23 @itemize @bullet @item Changed @code{ALTER TABLE} to create non unique index in a separate batch (which should make @code{ALTER TABLE} much faster when you have many index) Changed @code{ALTER TABLE} to create non-unique indexes in a separate batch (which should make @code{ALTER TABLE} much faster when you have many indexes). @item Added delayed index handling to @code{LOAD DATA INFILE}, when you are reading into an empty file. Loading @@ -35321,7 +35322,6 @@ Fixed crash when adding a default value to a @code{BLOB} column. @item Fixed a bug with @code{DATE_ADD/DATE_SUB} where it returned a datetime instead of a date. datetime. @item Fixed a problem with the thread cache which made some threads show up as @code{***DEAD***} in @code{SHOW PROCESSLIST}. Loading @@ -35330,10 +35330,17 @@ Fixed a lock in our thr_rwlock code, which could make selects that run at the same time as concurrent inserts crash. This only affects systems that don't have the @code{pthread_rwlock_rdlock} code. @item When deleting rows with a non-unique key in HEAP table, all rows wasn't When deleting rows with a non-unique key in a HEAP table, all rows weren't always deleted. @item Fixed the BDB tables works on part keys. Fixed that BDB tables work on part keys. @item Added @code{CHANGE MASTER TO} command @item Fixed fatal bug in @code{LOAD TABLE FROM MASTER} that did not lock the table during index re-build @item @code{LOAD DATA INFILE} broke replication if the database was excluded from replication @item More variables in @code{SHOW SLAVE STATUS} and @code{SHOW MASTER STATUS} @item @code{SLAVE STOP} now will not return until the slave thread actually exits @end itemize @node News-3.23.22, News-3.23.21, News-3.23.23, News-3.23.x Loading @@ -35343,7 +35350,7 @@ Fixed the BDB tables works on part keys. Fixed that @code{lex_hash.h} is created properly for each @code{MySQL} distribution. @item Fixed that @code{MASTER} and @code{COLLECTION} are not a reserved words. Fixed that @code{MASTER} and @code{COLLECTION} are not reserved words. @item The log generated by @code{--slow-query-log} didn't contain the whole queries. @item Loading @@ -35356,17 +35363,17 @@ gen_lex_hash.c. Fixed memory leak in the client library when using @code{host=..} in the @code{my.cnf} file. @item Optimized functions that manipulates the hours/minutes/seconds. Optimized functions that manipulate the hours/minutes/seconds. @item Fixed bug when comparing the result of @code{DATE_ADD}/@code{DATE_SUB} against a number Fixed bug when comparing the result of @code{DATE_ADD()}/@code{DATE_SUB()} against a number. @item Changed the meaning of @code{-F, --fast} for @code{myisamchk}. Added option @code{-C, --check-only-changed} to @code{myisamchk}. @item Added @code{ANALYZE table_name} to update key statistics for tables. @item Changed binary items @code{0x...} to be default regarded as an integer Changed binary items @code{0x...} to be default regarded as an integer. @item Fix for SCO and @code{SHOW PROCESSLIST}. @item Loading @@ -35374,6 +35381,7 @@ Added @code{auto-rehash} on reconnect for the @code{mysql} client. @item Fixed a newly introduced bug in @code{MyISAM}, where the index file couldn't get bigger than 64M. @item Added @code{SHOW MASTER STATUS} and @code{SHOW SLAVE STATUS} @end itemize @node News-3.23.21, News-3.23.20, News-3.23.22, News-3.23.x Loading Loading @@ -35407,7 +35415,7 @@ index files gets full during an @code{INSERT}/@code{UPDATE}. @code{myisamchk} didn't correctly update row checksum when used with @code{-ro} (This only gave an warning in subsequent runs). @item Fixed bug in @code{REPAIR TABLE} so that it works with tables without index. Fixed bug in @code{REPAIR TABLE} so that it works with tables without indexes. @item Fixed buffer overrun in @code{DROP DATABASE} @item Loading Loading @@ -39430,7 +39438,7 @@ FreeBSD and MIT-pthreads; Do sleeping threads take CPU? @item Check if locked threads take any CPU. @item Fix configure so the one can compile all libraries (like @code{MyISAM}) Fix configure so that one can compile all libraries (like @code{MyISAM}) without threads. @item Change to use mkstemp() instead of tempnam() for system that supports the call. Loading Loading @@ -39488,13 +39496,12 @@ TEXT_FIELDS (text_field1, text_field2, text_field3) SET table_field1=concatenate(text_field1, text_field2), table_field3=23 IGNORE text_field3 This can be used to skip over extra columns in the text file, update columns This can be used to skip over extra columns in the text file, or update columns based on expressions of the read data... on the in-data and @end example @item @code{LOAD DATA INFILE 'file_name' INTO TABLE 'table_name' ERRORS TO err_table_name} which would cause any errors/warnings to be logged into the err_table_name This would cause any errors and warnings to be logged into the err_table_name table. That table would have a structure like: @example client/Makefile.am +3 −0 Original line number Diff line number Diff line Loading @@ -41,3 +41,6 @@ DEFS = -DUNDEF_THREADS_HACK thread_test.o: thread_test.c $(COMPILE) -c @MT_INCLUDES@ $(INCLUDES) $< # Don't update the files from bitkeeper %::SCCS/s.% configure.in +1 −0 Original line number Diff line number Diff line Loading @@ -211,6 +211,7 @@ AC_MSG_RESULT($mysql_cv_sys_os) case "$target_os" in sco3.2v5*) CFLAGS="$CFLAGS -DSCO" CXXFLAGS="$CXXFLAGS -DSCO" LD='$(CC) $(CFLAGS)' case "$CFLAGS" in *-belf*) Loading include/Makefile.am +3 −0 Original line number Diff line number Diff line Loading @@ -51,3 +51,6 @@ my_global.h: global.h # generated by configure from the .h.in files dist-hook: rm -f $(distdir)/mysql_version.h $(distdir)/my_config.h # Don't update the files from bitkeeper %::SCCS/s.% Loading
Docs/internals.texi +11 −13 Original line number Diff line number Diff line Loading @@ -7,7 +7,7 @@ @c @synindex tp fn cp @synindex cp fn @iftex @c Well this is normal in Europe. Maybe this shold go into the include.texi? @c Well this is normal in Europe. Maybe this should go into the include.texi? @afourpaper @end iftex @c Get version and other info Loading Loading @@ -47,10 +47,10 @@ This is a manual about @strong{MySQL} internals. @end menu @node caching @chapter How do MySQL handle caching @chapter How MySQL handles caching MySQL has the following caches: (Note that the some of the filename has wrong spelling of cache :) (Note that the some of the filename have a wrong spelling of cache. :) @itemize @bullet @item Key cache Loading @@ -76,17 +76,17 @@ cached for each user/database combination. sql/sql_acl.cc @item Heap table cache Many use of GROUP BY or DISTINCT caches all found rows in a HEAP table (this is a very quick, in memory table with hash index) rows in a HEAP table (this is a very quick in-memory table with hash index) @item Join row cache. For every full join in a SELECT statement (a full join here means there was no keys that one could use to find the next table in a list), the were no keys that one could use to find the next table in a list), the found rows are cached in a join cache. One SELECT query can use many join caches in the worst case. @end itemize @node flush tables @chapter How do MySQL handle flush tables @chapter How MySQL handles flush tables @itemize @bullet @item Loading Loading @@ -122,22 +122,22 @@ same tables. @end itemize @node Filesort @chapter How do MySQL do sorting (filesort) @chapter How MySQL does sorting (filesort) - Read all rows according to key or by table-scanning. - Store the sort-key in a buffer (sort_buffer). - When the buffer gets full, run a qsort on it and store the result in a temporary file. Save a pointer to the sorted block. - Repeate the above until all rows has been read. - Repeat the above until all rows have been read. - Repeat the following until there is less than MERGEBUFF2 (15) blocks left. - Do a multi-merge of up to MERGEBUFF (7) regions to one block in another temporary file. Repeat until all blocks from the first file is in the second file. are in the second file. - On the last multi-merge, only the pointer to the row (last part of the sort-key) is written to a result file. - Now the code in sql/records.cc will be used to read through the - Now the code in sql/records.cc will be used to read through them in sorted order by using the row pointers in the result file. To optimize this, we read in a big block of row pointers, sort these and then we read the rows in the sorted order into a row buffer Loading @@ -152,5 +152,3 @@ same tables. @contents @bye Do text here do something ??
Docs/manual.texi +49 −42 Original line number Diff line number Diff line Loading @@ -1680,12 +1680,12 @@ Big changes made in @strong{MySQL} 3.22.12. @item @strong{MyODBC} (uses ODBC SDK 2.5) --- Gamma It seems to work well with some programs. @item replication -- alpha @item Replication -- Alpha We are still working on replication, so don't expect this to be rock solid yet. On the other hand, some @strong{MySQL} users are already using this with good results... @item BDB tables -- alpha @item BDB Tables -- Alpha The Berkeley DB code is very stable, but we are still improving the interface between @strong{MySQL} and BDB tables, so it will take some time before this is as tested as the other table types. Loading Loading @@ -6242,7 +6242,7 @@ and @strong{mysqld} should be ready to run. @subsection Alpha-DEC-Unix notes (Tru64) If you are using egcs 1.1.2 on Digital UNIX, you should upgrade to gcc 2.95.2, as egcs has some bad bugs on DEC! 2.95.2, as egcs on DEC has some serious bugs! When compiling threaded programs under Digital UNIX, the documentation recommends using the @code{-pthread} option for @code{cc} and @code{cxx} and Loading Loading @@ -9718,7 +9718,7 @@ When running @strong{MySQL}, follow these guidelines whenever possible: @itemize @bullet @item DON'T EVER GIVE ANYBODY (BUT 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 @strong{MySQL}; If you know this for one user you can easily login as him if you have access to his 'host'. Loading Loading @@ -10328,9 +10328,9 @@ Privileges on the @code{mysql} database can be used to change passwords and other access privilege information. (Passwords are stored encrypted, so a malicious user cannot simply read them to know the plain text password). If they can access the @code{mysql.user} password column, they can however use it to login into the @strong{MySQL} server for the given user. With sufficient privileges, the same use can however replace a password with a different one.) column, they can use it to login into the @strong{MySQL} server for the given user. With sufficient privileges, the same user can replace a password with a different one.) @end itemize There are some things that you cannot do with the @strong{MySQL} Loading Loading @@ -10628,7 +10628,7 @@ Non-blank @code{Password} values represent encrypted passwords. see. Rather, the password supplied by a user who is attempting to connect is encrypted (using the @code{PASSWORD()} function). The encrypted password is then used when the client/server is checking if the password is connect (This is done without the encrypted password the password is correct (This is done without the encrypted password ever traveling over the connection). Note that from @strong{MySQL}'s point of view the encrypted password is the REAL password, so you should not give anyone access to it! In particular, don't give normal users Loading Loading @@ -11448,7 +11448,7 @@ normally this isn't a big problem. @item If you get an error message where the hostname is not shown or where the host name is an IP, even if you try to connect with an hostname: hostname is an IP, even if you try to connect with a hostname: @example shell> mysqladmin -u root -pxxxx -h some-hostname ver Loading @@ -11464,7 +11464,7 @@ are: @item Try to find out what is wrong with your DNS server and fix this. @item Specify IP's instead of hostnames in the @code{MySQL} privilege tables. Specify IPs instead of hostnames in the @code{MySQL} privilege tables. @item Start mysqld with @code{--skip-name-resolve}. @item Loading Loading @@ -11555,21 +11555,22 @@ sure you haven't specified an old password in any of your option files! If you make changes to the grant tables directly (using @code{INSERT} or @code{UPDATE} statement) and your changes seem to be ignored, remember that you must issue a @code{FLUSH PRIVILEGES} statement or execute a @code{mysqladmin flush-privileges} command to cause the server to reread @code{mysqladmin flush-privileges} command to cause the server to re-read the privilege tables. Otherwise your changes have no effect until the next time the server is restarted. Remember that after you set the @code{root} password with an @code{UPDATE} command, you won't need to specify it until after you flush the privileges, because the server still won't know you've changed the password yet! won't know you've changed the password yet! @item If you have access problems with a Perl, PHP, Python or ODBC program, try to connect to the server with @code{mysql -u user_name db_name} or @code{mysql -u user_name -pyour_pass db_name}. If you are able to connect using the @code{mysql} client, there is a problem with your program and not with the access privileges. (Notice that there is no space between @code{-p} and the access privileges. (Note that there is no space between @code{-p} and the password; you can also use the @code{--password=your_pass} syntax to specify the password.) the password. If you use the @code{-p} option alone, MySQL will prompt you for the password.) @item For testing, start the @code{mysqld} daemon with the Loading Loading @@ -15414,8 +15415,8 @@ a way that it is equivalent to @code{"1:10" MINUTE_SECOND}. This is analogous to the way that @strong{MySQL} interprets @code{TIME} values as representing elapsed time rather than as time of day. Note that if you add/subtract a date value against something that contains a time part, the date value will automaticly be converted to a Note that if you add or subtract a date value against something that contains a time part, the date value will be automatically converted to a datetime value: @example Loading Loading @@ -16670,9 +16671,9 @@ index exists, it drops the first @code{UNIQUE} index in the table. if no @code{PRIMARY KEY} was specified explicitly.) @item If you are doing an @code{ALTER TABLE} on/to a @code{MyISAM} table, all non unique index are created in a separate batch (like in @code{REPAIR}). This should make @code{ALTER TABLE} much faster when you have many index. If you use @code{ALTER TABLE} on a @code{MyISAM} table, all non-unique indexes are created in a separate batch (like in @code{REPAIR}). This should make @code{ALTER TABLE} much faster when you have many indexes. @item @findex mysql_info() Loading Loading @@ -17636,10 +17637,10 @@ If you load data from a local file using the @code{LOCAL} keyword, the server has no way to stop transmission of the file in the middle of the operation, so the default bahavior is the same as if @code{IGNORE} is specified. If you are @code{LOAD DATA INFILE} to an empty @code{MyISAM} table, all non unique index are created in a separate batch (like in @code{REPAIR}). If you use @code{LOAD DATA INFILE} on an empty @code{MyISAM} table, all non-unique indexes are created in a separate batch (like in @code{REPAIR}). This normally makes @code{LOAD DATA INFILE} much faster when you have many index. indexes. @code{LOAD DATA INFILE} is the complement of @code{SELECT ... INTO OUTFILE}. @xref{SELECT, , @code{SELECT}}. Loading Loading @@ -25546,7 +25547,7 @@ memory before dumping the result. This will probably be a problem if you are dumping a big database. Note that if you are using a new copy of the @code{mysqldump} program and is going to do a dump that will be read into a very old @code{MySQL} and you are going to do a dump that will be read into a very old @code{MySQL} server, you should not use the @code{--opt} or @code{-e} options. @code{mysqldump} supports the following options: Loading Loading @@ -28026,10 +28027,10 @@ To make Access work: @itemize @bullet @item If you are using Access 2000, you should get an install Microsoft MDAC from If you are using Access 2000, you should get and install Microsoft MDAC from @uref{http://www.microsoft.com/data/download_21242023.htm}. This will fix the bug in Access that when you export data to @strong{MySQL}, the table and column names wasn't specified. table and column names aren't specified. @item You should have a primary key in the table. @item Loading Loading @@ -34903,7 +34904,7 @@ By Elizabeth. @item @uref{http://www.mysql.com/Downloads/Contrib/mybackup} @item @uref{http://www.mswanson.com/mybackup, mybackup home page} Wrapper for mysqldump to backup all databases. By "Marc Swanson". Wrapper for mysqldump to backup all databases. By Marc Swanson. @end itemize @appendixsec RPMs for common tools (Most are for RedHat 6.1) Loading Loading @@ -35309,8 +35310,8 @@ and will soon be declared beta, gamma and release. @appendixsubsec Changes in release 3.23.23 @itemize @bullet @item Changed @code{ALTER TABLE} to create non unique index in a separate batch (which should make @code{ALTER TABLE} much faster when you have many index) Changed @code{ALTER TABLE} to create non-unique indexes in a separate batch (which should make @code{ALTER TABLE} much faster when you have many indexes). @item Added delayed index handling to @code{LOAD DATA INFILE}, when you are reading into an empty file. Loading @@ -35321,7 +35322,6 @@ Fixed crash when adding a default value to a @code{BLOB} column. @item Fixed a bug with @code{DATE_ADD/DATE_SUB} where it returned a datetime instead of a date. datetime. @item Fixed a problem with the thread cache which made some threads show up as @code{***DEAD***} in @code{SHOW PROCESSLIST}. Loading @@ -35330,10 +35330,17 @@ Fixed a lock in our thr_rwlock code, which could make selects that run at the same time as concurrent inserts crash. This only affects systems that don't have the @code{pthread_rwlock_rdlock} code. @item When deleting rows with a non-unique key in HEAP table, all rows wasn't When deleting rows with a non-unique key in a HEAP table, all rows weren't always deleted. @item Fixed the BDB tables works on part keys. Fixed that BDB tables work on part keys. @item Added @code{CHANGE MASTER TO} command @item Fixed fatal bug in @code{LOAD TABLE FROM MASTER} that did not lock the table during index re-build @item @code{LOAD DATA INFILE} broke replication if the database was excluded from replication @item More variables in @code{SHOW SLAVE STATUS} and @code{SHOW MASTER STATUS} @item @code{SLAVE STOP} now will not return until the slave thread actually exits @end itemize @node News-3.23.22, News-3.23.21, News-3.23.23, News-3.23.x Loading @@ -35343,7 +35350,7 @@ Fixed the BDB tables works on part keys. Fixed that @code{lex_hash.h} is created properly for each @code{MySQL} distribution. @item Fixed that @code{MASTER} and @code{COLLECTION} are not a reserved words. Fixed that @code{MASTER} and @code{COLLECTION} are not reserved words. @item The log generated by @code{--slow-query-log} didn't contain the whole queries. @item Loading @@ -35356,17 +35363,17 @@ gen_lex_hash.c. Fixed memory leak in the client library when using @code{host=..} in the @code{my.cnf} file. @item Optimized functions that manipulates the hours/minutes/seconds. Optimized functions that manipulate the hours/minutes/seconds. @item Fixed bug when comparing the result of @code{DATE_ADD}/@code{DATE_SUB} against a number Fixed bug when comparing the result of @code{DATE_ADD()}/@code{DATE_SUB()} against a number. @item Changed the meaning of @code{-F, --fast} for @code{myisamchk}. Added option @code{-C, --check-only-changed} to @code{myisamchk}. @item Added @code{ANALYZE table_name} to update key statistics for tables. @item Changed binary items @code{0x...} to be default regarded as an integer Changed binary items @code{0x...} to be default regarded as an integer. @item Fix for SCO and @code{SHOW PROCESSLIST}. @item Loading @@ -35374,6 +35381,7 @@ Added @code{auto-rehash} on reconnect for the @code{mysql} client. @item Fixed a newly introduced bug in @code{MyISAM}, where the index file couldn't get bigger than 64M. @item Added @code{SHOW MASTER STATUS} and @code{SHOW SLAVE STATUS} @end itemize @node News-3.23.21, News-3.23.20, News-3.23.22, News-3.23.x Loading Loading @@ -35407,7 +35415,7 @@ index files gets full during an @code{INSERT}/@code{UPDATE}. @code{myisamchk} didn't correctly update row checksum when used with @code{-ro} (This only gave an warning in subsequent runs). @item Fixed bug in @code{REPAIR TABLE} so that it works with tables without index. Fixed bug in @code{REPAIR TABLE} so that it works with tables without indexes. @item Fixed buffer overrun in @code{DROP DATABASE} @item Loading Loading @@ -39430,7 +39438,7 @@ FreeBSD and MIT-pthreads; Do sleeping threads take CPU? @item Check if locked threads take any CPU. @item Fix configure so the one can compile all libraries (like @code{MyISAM}) Fix configure so that one can compile all libraries (like @code{MyISAM}) without threads. @item Change to use mkstemp() instead of tempnam() for system that supports the call. Loading Loading @@ -39488,13 +39496,12 @@ TEXT_FIELDS (text_field1, text_field2, text_field3) SET table_field1=concatenate(text_field1, text_field2), table_field3=23 IGNORE text_field3 This can be used to skip over extra columns in the text file, update columns This can be used to skip over extra columns in the text file, or update columns based on expressions of the read data... on the in-data and @end example @item @code{LOAD DATA INFILE 'file_name' INTO TABLE 'table_name' ERRORS TO err_table_name} which would cause any errors/warnings to be logged into the err_table_name This would cause any errors and warnings to be logged into the err_table_name table. That table would have a structure like: @example
client/Makefile.am +3 −0 Original line number Diff line number Diff line Loading @@ -41,3 +41,6 @@ DEFS = -DUNDEF_THREADS_HACK thread_test.o: thread_test.c $(COMPILE) -c @MT_INCLUDES@ $(INCLUDES) $< # Don't update the files from bitkeeper %::SCCS/s.%
configure.in +1 −0 Original line number Diff line number Diff line Loading @@ -211,6 +211,7 @@ AC_MSG_RESULT($mysql_cv_sys_os) case "$target_os" in sco3.2v5*) CFLAGS="$CFLAGS -DSCO" CXXFLAGS="$CXXFLAGS -DSCO" LD='$(CC) $(CFLAGS)' case "$CFLAGS" in *-belf*) Loading
include/Makefile.am +3 −0 Original line number Diff line number Diff line Loading @@ -51,3 +51,6 @@ my_global.h: global.h # generated by configure from the .h.in files dist-hook: rm -f $(distdir)/mysql_version.h $(distdir)/my_config.h # Don't update the files from bitkeeper %::SCCS/s.%