diff --git a/BitKeeper/etc/logging_ok b/BitKeeper/etc/logging_ok index 437d68d72f806b434dd6113225ec2429185d55ec..4e4cae6472d2ecbe7c9655a3ab5e8c29b36ba4f6 100644 --- a/BitKeeper/etc/logging_ok +++ b/BitKeeper/etc/logging_ok @@ -12,3 +12,4 @@ serg@serg.mysql.com tim@threads.polyesthetic.msg tim@work.mysql.com yfaktoro@nslinuxw2.bedford.progress.com +yfaktoro@nbyfaktoro.bedford.progress.com diff --git a/Docs/manual.texi b/Docs/manual.texi index a3ddb0de81615eb85d214e11c6606f5500e56b63..7320779e0171fb8827772bb474ebf19f0d3a1439 100644 --- a/Docs/manual.texi +++ b/Docs/manual.texi @@ -18,7 +18,7 @@ @c We want the types in the same index @syncodeindex tp fn -@c Get version info. This file is generated by the Makefile!! +@c Get version information. This file is generated by the Makefile!! @include include.texi @ifclear tex-debug @@ -243,7 +243,7 @@ Installing a MySQL Source Distribution Perl Installation Comments -* Perl installation:: Installing Perl on UNIX +* Perl installation:: Installing Perl on Unix * ActiveState Perl:: Installing ActiveState Perl on Windows * Windows Perl:: Installing the @strong{MySQL} Perl distribution on Windows * Perl support problems:: Problems using the Perl @code{DBI}/@code{DBD} interface @@ -1451,7 +1451,7 @@ and PHP's @strong{MySQL}-related functions This book teaches you how to use @strong{MySQL} and @code{mSQL}, two popular and robust database products that support key subsets of SQL on both Linux -and UNIX systems. Anyone who knows basic C, Java, Perl, or Python can +and Unix systems. Anyone who knows basic C, Java, Perl, or Python can write a program to interact with a database, either as a stand-alone application or through a Web page. This book takes you through the whole process, from installation and configuration to programming @@ -1674,7 +1674,7 @@ languages. @xref{Languages}. @item Clients may connect to the @strong{MySQL} server using TCP/IP Sockets, -UNIX Sockets (Unixes), or Named Pipes (NT). +Unix Sockets (Unixes), or Named Pipes (NT). @item The @strong{MySQL}-specific @code{SHOW} command can be used to retrieve @@ -1852,7 +1852,7 @@ always a new release. @itemize @bullet @item -@strong{MySQL} uses UNIX time functions and has no problems with dates +@strong{MySQL} uses Unix time functions and has no problems with dates until @code{2069}; all 2-digit years are regarded to be in the range @code{1970} to @code{2069}, which means that if you store @code{01} in a @code{year} column, @strong{MySQL} treats it as @code{2001}. @@ -2496,7 +2496,7 @@ Homepage of the webdb-l (Web Databases) mailing list. Perl @code{DBI}/@code{DBD} modules homepage. @item @uref{http://www.student.uni-koeln.de/cygwin/}@* -Cygwin tools. UNIX on top of Windows. +Cygwin tools. Unix on top of Windows. @item @uref{http://dbasecentral.com/}@* dbasecentral.com; Development and distribution of powerful and easy-to-use @@ -2811,7 +2811,7 @@ The manufacturer and model of the machine you are working on. @item The operating system name and version. For most operating systems, you can -get this information by executing the UNIX command @code{uname -a}. +get this information by executing the Unix command @code{uname -a}. @item Sometimes the amount of memory (real and virtual) is relevant. @@ -3278,7 +3278,7 @@ it is patched correctly. @node Web server, , ISP, Licensing examples @subsection Running a Web Server Using @strong{MySQL} -If you use @strong{MySQL} in conjunction with a Web server on UNIX, you +If you use @strong{MySQL} in conjunction with a Web server on Unix, you don't have to pay for a license. This is true even if you run a commercial Web server that uses @@ -4456,7 +4456,7 @@ BSDI 2.x with the included MIT-pthreads package. @xref{BSDI}. @item BSDI 3.0, 3.1 and 4.x with native threads. @xref{BSDI}. @item -DEC UNIX 4.x with native threads. @xref{Alpha-DEC-UNIX}. +DEC Unix 4.x with native threads. @xref{Alpha-DEC-UNIX}. @item FreeBSD 2.x with the included MIT-pthreads package. @xref{FreeBSD}. @item @@ -4487,7 +4487,7 @@ SCO OpenServer with a recent port of the FSU Pthreads package. @xref{SCO}. @item SCO UnixWare 7.0.1. @xref{SCO Unixware}. @item -Tru64 UNIX +Tru64 Unix @item Win95, Win98, NT, and Win2000. @xref{Windows}. @end itemize @@ -5562,7 +5562,7 @@ prefix, but overrides the default location for database directories @code{/usr/local/mysql/data}. @item -If you are using UNIX and you want the @strong{MySQL} socket located somewhere +If you are using Unix and you want the @strong{MySQL} socket located somewhere other than the default location (normally in the directory @file{/tmp} or @file{/var/run}) use a @code{configure} command like this: @example @@ -5940,7 +5940,7 @@ operating system. (Note that you will have to do this each time you run The @file{sql_yacc.cc} file is generated from @file{sql_yacc.yy}. Normally the build process doesn't need to create @file{sql_yacc.cc}, because @strong{MySQL} comes with an already-generated copy. However, if you do need -to recreate it, you might encounter this error: +to re-create it, you might encounter this error: @example "sql_yacc.yy", line xxx fatal: default action causes potential... @@ -5989,8 +5989,8 @@ The checks that determine whether or not to use MIT-pthreads occur only during the part of the configuration process that deals with the server code. If you have configured the distribution using @code{--without-server} to build only the client code, clients will not know whether or not -MIT-pthreads is being used and will use UNIX socket connections by default. -Because UNIX sockets do not work under MIT-pthreads, this means you will need +MIT-pthreads is being used and will use Unix socket connections by default. +Because Unix sockets do not work under MIT-pthreads, this means you will need to use @code{-h} or @code{--host} when you run client programs. @item @@ -6060,7 +6060,7 @@ needed, but may be interesting for someone.) @end menu @node Perl installation, ActiveState Perl, Perl support, Perl support -@subsection Installing Perl on UNIX +@subsection Installing Perl on Unix Perl support for @strong{MySQL} is provided by means of the @code{DBI}/@code{DBD} client interface. @xref{Perl}. The Perl @@ -7011,10 +7011,10 @@ and @strong{mysqld} should be ready to run. @node Alpha-DEC-UNIX, Alpha-DEC-OSF1, Linux, Source install system issues @subsection Alpha-DEC-UNIX Notes (Tru64) -If you are using egcs 1.1.2 on Digital UNIX, you should upgrade to gcc +If you are using egcs 1.1.2 on Digital Unix, you should upgrade to gcc 2.95.2, as egcs on DEC has some serious bugs! -When compiling threaded programs under Digital UNIX, the documentation +When compiling threaded programs under Digital Unix, the documentation recommends using the @code{-pthread} option for @code{cc} and @code{cxx} and the libraries @code{-lmach -lexc} (in addition to @code{-lpthread}). You should run @code{configure} something like this: @@ -7112,7 +7112,7 @@ Note that the following problems with the @code{ld} program can be fixed by downloading the latest DEC (Compaq) patch kit from: @uref{http://ftp.support.compaq.com/public/unix/}. -On OSF1 V4.0D and compiler "DEC C V5.6-071 on Digital UNIX V4.0 (Rev. 878)" +On OSF1 V4.0D and compiler "DEC C V5.6-071 on Digital Unix V4.0 (Rev. 878)" the compiler had some strange behavior (undefined @code{asm} symbols). @code{/bin/ld} also appears to be broken (problems with @code{_exit undefined} errors occuring while linking @code{mysqld}). On this system, we @@ -7437,7 +7437,7 @@ shell> cp -p /usr/include/pthread/stdtypes.h /usr/local/lib/gcc-lib/i386-pc-sco3 @end example @item You need the port of GCC 2.5.x for this product and the Development -system. They are required on this version of SCO UNIX. You cannot +system. They are required on this version of SCO Unix. You cannot just use the GCC Dev system. @item You should get the FSU Pthreads package and install it first. This can be @@ -7446,11 +7446,11 @@ found at You can also get a precompiled package from @uref{http://www.mysql.com/Downloads/SCO/FSU-threads-3.5c.tar.gz}. @item -FSU Pthreads can be compiled with SCO UNIX 4.2 with tcpip. Or +FSU Pthreads can be compiled with SCO Unix 4.2 with tcpip. Or OpenServer 3.0 or Open Desktop 3.0 (OS 3.0 ODT 3.0), with the SCO Development System installed using a good port of GCC 2.5.x ODT or OS 3.0 you will need a good port of GCC 2.5.x There are a lot of problems -without a good port. The port for this product requires the SCO UNIX +without a good port. The port for this product requires the SCO Unix Development system. Without it, you are missing the libraries and the linker that is needed. @item @@ -8146,13 +8146,13 @@ you should also compile your code to be multi-threaded! We will shortly do a full test on the new BDB interface on Windows. When this is done we will start to release binary distributions (for -Windows and UNIX) of @strong{MySQL} that will include support for BDB +Windows and Unix) of @strong{MySQL} that will include support for BDB tables. -@cindex Windows, versus UNIX -@cindex operating systems, Windows versus UNIX +@cindex Windows, versus Unix +@cindex operating systems, Windows versus Unix @node Windows vs Unix, , Windows and BDB tables., Windows -@subsection MySQL-Windows Compared to UNIX MySQL +@subsection MySQL-Windows Compared to Unix MySQL @strong{MySQL}-Windows has by now proven itself to be very stable. This version of @strong{MySQL} has the same features as the corresponding Unix version @@ -8182,7 +8182,7 @@ This means that: @itemize @bullet @item A connection will not be disconnected automatically after 8 hours, as happens -with the UNIX version of @strong{MySQL}. +with the Unix version of @strong{MySQL}. @item If a connection hangs, it's impossible to break it without killing @@ -8225,7 +8225,7 @@ SELECT * FROM my_table WHERE MY_TABLE.col=1; Pathname components in Win95 are separated by the @samp{\} character, which is also the escape character in @strong{MySQL}. If you are using @code{LOAD DATA INFILE} or @code{SELECT ... INTO OUTFILE}, you must double the @samp{\} -character or use UNIX style filenames @samp{/} characters: +character or use Unix style filenames @samp{/} characters: @example LOAD DATA INFILE "C:\\tmp\\skr.txt" INTO TABLE skr; SELECT * INTO OUTFILE 'C:/tmp/skr.txt' FROM skr; @@ -8383,7 +8383,7 @@ exceed 8 characters. Modules are stored in the @file{/mysql2/udf} directory; the @code{safe-mysqld.cmd} script will put this directory in the @code{BEGINLIBPATH} environment variable. When using UDF modules, specified extensions are ignored --- it is assumed to be @file{.udf}. -For example, in UNIX, the shared module might be named @file{example.so} +For example, in Unix, the shared module might be named @file{example.so} and you would load a function from it like this: @example @@ -8583,9 +8583,9 @@ connect to the grant tables as the @strong{MySQL} @code{root} user and issue SQL statements to modify the grant tables directly. @item -It is possible to recreate the grant tables completely after they have +It is possible to re-create the grant tables completely after they have already been created. You might want to do this if you've already installed -the tables but then want to recreate them after editing +the tables but then want to re-create them after editing @code{mysql_install_db}. @end itemize @@ -8620,7 +8620,7 @@ TCX Datakonsult AB, by Monty Server version 3.22.9-beta Protocol version 10 -Connection Localhost via UNIX socket +Connection Localhost via Unix socket TCP port 3306 UNIX socket /tmp/mysql.sock Uptime: 16 sec @@ -8729,7 +8729,7 @@ The purpose of the @code{mysql_install_db} script is to generate new It will also not do anything if you already have MySQL privilege tables installed! -If you want to recreate your privilege tables, you should take down +If you want to re-create your privilege tables, you should take down the mysqld server, if its running, and then do something like: @example @@ -9244,7 +9244,7 @@ tables must be IP numbers or @code{localhost}. @item --skip-networking Don't listen for TCP/IP connections at all. -All interaction with @code{mysqld} must be made via UNIX sockets. +All interaction with @code{mysqld} must be made via Unix sockets. This option is highly recommended for systems where only local requests are allowed. However, this option is unsuitable for systems that use MIT-pthreads, because the MIT-pthreads package doesn't support Unix @@ -9293,7 +9293,7 @@ Output version information and exit. @strong{MySQL} Version 3.22 can read default startup options for the server and for clients from option files. -@strong{MySQL} reads default options from the following files on UNIX: +@strong{MySQL} reads default options from the following files on Unix: @tindex .my.cnf file @multitable @columnfractions .3 .7 @@ -9844,7 +9844,7 @@ This has a few implications: @item Database names and table names are case sensitive in @strong{MySQL} on -operating systems that have case-sensitive filenames (like most UNIX +operating systems that have case-sensitive filenames (like most Unix systems). If you have a problem remembering table names, adopt a consistent convention, such as always creating databases and tables using lowercase names. @@ -10183,7 +10183,7 @@ for data integrity, ``atomic operations.'' It is our thinking and experience that atomic operations offer equal or even better integrity with much better performance. We, nonetheless, appreciate and understand the transactional database paradigm and plan, within the next few releases, -to introduce transaction safe tables on a per table basis. We will be +to introduce transaction-safe tables on a per table basis. We will be giving our users the possibility to decide if they need the speed of atomic operations or if they need to use transactional features in their applications. @@ -10385,7 +10385,7 @@ unless you do so in a very specific order. @item It's very easy to do ``allowed'' circular definitions that make the -tables impossible to recreate each table with a single create statement, +tables impossible to re-create each table with a single create statement, even if the definition works and is usable. @item @@ -10480,14 +10480,14 @@ Entry level SQL92. ODBC levels 0-2. @section How to Cope Without @code{COMMIT}/@code{ROLLBACK} @findex COMMIT @findex ROLLBACK -@cindex transaction safe tables +@cindex transaction-safe tables @cindex tables, updating @cindex updating, tables @cindex @code{BDB} tables The following mostly applies only for @code{ISAM}, @code{MyISAM}, and -@code{HEAP} tables. If you only use transaction safe tables (@code{BDB} +@code{HEAP} tables. If you only use transaction-safe tables (@code{BDB} tables) in an a update, you can do @code{COMMIT} and @code{ROLLBACK} also with @strong{MySQL}. @xref{COMMIT}. @@ -10852,7 +10852,7 @@ mysql> FLUSH PRIVILEGES; @end example @item -Don't run the @strong{MySQL} daemon as the UNIX @code{root} user. +Don't run the @strong{MySQL} daemon as the Unix @code{root} user. It is very dangerous as any user with @code{FILE} privileges will be able to create files as @code{root} (for example, @code{~root/.bashrc}). To prevent this @@ -10860,24 +10860,24 @@ as @code{root} (for example, @code{~root/.bashrc}). To prevent this directly via @code{--user=root} option. @code{mysqld} can be run as any user instead. You can also create a new -UNIX user @code{mysql} to make everything even more secure. If you run -@code{mysqld} as another UNIX user, you don't need to change the +Unix user @code{mysql} to make everything even more secure. If you run +@code{mysqld} as another Unix user, you don't need to change the @code{root} user name in the @code{user} table, because @strong{MySQL} -user names have nothing to do with UNIX user names. You can edit the -@code{mysql.server} script to start @code{mysqld} as another UNIX user. +user names have nothing to do with Unix user names. You can edit the +@code{mysql.server} script to start @code{mysqld} as another Unix user. Normally this is done with the @code{su} command. For more details, see @ref{Changing MySQL user, , Changing @strong{MySQL} user}. @item -If you put a password for the UNIX @code{root} user in the @code{mysql.server} +If you put a password for the Unix @code{root} user in the @code{mysql.server} script, make sure this script is readable only by @code{root}. @item -Check that the UNIX user that @code{mysqld} runs as is the only user with +Check that the Unix user that @code{mysqld} runs as is the only user with read/write privileges in the database directories. @item -On UNIX platforms, do not run @code{mysqld} as root unless you really +On Unix platforms, do not run @code{mysqld} as root unless you really need to. Consider creating a user named @code{mysql} for that purpose. @item @@ -10900,7 +10900,7 @@ overwrite existing files. @tindex /etc/passwd The @strong{file} privilege may also be used to read any file accessible -to the UNIX user that the server runs as. This could be abused, for example, +to the Unix user that the server runs as. This could be abused, for example, by using @code{LOAD DATA} to load @file{/etc/passwd} into a table, which can then be read with @code{SELECT}. @@ -10937,9 +10937,9 @@ tables must be IP numbers or @code{localhost}. @item --skip-networking Don't allow TCP/IP connections over the network. All connections to -@code{mysqld} must be made via UNIX sockets. This option is unsuitable for +@code{mysqld} must be made via Unix sockets. This option is unsuitable for systems that use MIT-pthreads, because the MIT-pthreads package doesn't -support UNIX sockets. +support Unix sockets. @end table @node What Privileges, User names, Security, Privilege system @@ -10965,13 +10965,13 @@ DATA INFILE} and administrative operations. There are several distinctions between the way user names and passwords are -used by @strong{MySQL} and the way they are used by UNIX or Windows: +used by @strong{MySQL} and the way they are used by Unix or Windows: @itemize @bullet @item User names, as used by @strong{MySQL} for authentication purposes, have -nothing to do with UNIX user names (login names) or Windows user names. Most -@strong{MySQL} clients by default try to log in using the current UNIX user +nothing to do with Unix user names (login names) or Windows user names. Most +@strong{MySQL} clients by default try to log in using the current Unix user name as the @strong{MySQL} user name, but that is for convenience only. Client programs allow a different name to be specified with the @code{-u} or @code{--user} options. This means that you can't make a database secure in @@ -10980,17 +10980,17 @@ attempt to connect to the server using any name, and they will succeed if they specify any name that doesn't have a password. @item -@strong{MySQL} user names can be up to 16 characters long; UNIX user names +@strong{MySQL} user names can be up to 16 characters long; Unix user names typically are limited to 8 characters. @item -@strong{MySQL} passwords have nothing to do with UNIX passwords. There is no -necessary connection between the password you use to log in to a UNIX machine +@strong{MySQL} passwords have nothing to do with Unix passwords. There is no +necessary connection between the password you use to log in to a Unix machine and the password you use to access a database on that machine. @item @strong{MySQL} encrypts passwords using a different algorithm than the -one used during the UNIX login process. See the descriptions of the +one used during the Unix login process. See the descriptions of the @code{PASSWORD()} and @code{ENCRYPT()} functions in @ref{Miscellaneous functions}. Note that even if the password is stored 'scrambled', and knowing your 'scrambled' password is enough to be able to connect to @@ -11031,13 +11031,13 @@ from the command line: The default hostname is @code{localhost}. @item -The default user name is your UNIX login name. +The default user name is your Unix login name. @item No password is supplied if @code{-p} is missing. @end itemize -Thus, for a UNIX user @code{joe}, the following commands are equivalent: +Thus, for a Unix user @code{joe}, the following commands are equivalent: @example shell> mysql -h localhost -u joe @@ -11048,7 +11048,7 @@ shell> mysql Other @strong{MySQL} clients behave similarly. -On UNIX systems, you can specify different default values to be used when you +On Unix systems, you can specify different default values to be used when you make a connection, so that you need not enter them on the command line each time you invoke a client program. This can be done in a couple of ways: @@ -12033,9 +12033,9 @@ add other users. If you want the initial privileges to be different than those just described above, you can modify @code{mysql_install_db} before you run it. -@cindex grant tables, recreating -@cindex recreating, grant tables -To recreate the grant tables completely, remove all the @file{.frm}, +@cindex grant tables, re-creating +@cindex re-creating, grant tables +To re-create the grant tables completely, remove all the @file{.frm}, @file{.MYI}, and @file{.MYD} files in the directory containing the @code{mysql} database. (This is the directory named @file{mysql} under the database directory, which is listed when you run @code{mysqld @@ -12301,10 +12301,10 @@ shell> mysqladmin -u jeffrey password biscuit @end example @strong{NOTE:} @code{PASSWORD()} does not perform password encryption in the -same way that UNIX passwords are encrypted. You should not assume that if -your UNIX password and your @strong{MySQL} password are the same, that +same way that Unix passwords are encrypted. You should not assume that if +your Unix password and your @strong{MySQL} password are the same, that @code{PASSWORD()} will result in the same encrypted value as is stored in the -UNIX password file. @xref{User names}. +Unix password file. @xref{User names}. @node Access denied, , Passwords, Privilege system @section Causes of @code{Access denied} Errors @@ -12383,7 +12383,7 @@ password} command. default host to which clients try to connect if you specify no host explicitly. However, connections to @code{localhost} do not work if you are running on a system that uses MIT-pthreads (@code{localhost} connections are -made using UNIX sockets, which are not supported by MIT-pthreads). To avoid +made using Unix sockets, which are not supported by MIT-pthreads). To avoid this problem on such systems, you should use the @code{--host} option to name the server host explicitly. This will make a TCP/IP connection to the @code{mysqld} server. In this case, you must have your real hostname in @@ -12979,7 +12979,7 @@ programs prefix table names with a @samp{.} character. In @strong{MySQL}, databases and tables correspond to directories and files within those directories. Consequently, the case sensitivity of the underlying operating system determines the case sensitivity of database and -table names. This means database and table names are case sensitive in UNIX +table names. This means database and table names are case sensitive in Unix and case insensitive in Windows. @strong{NOTE:} Although database and table names are case insensitive for @@ -16718,7 +16718,7 @@ mysql> select NOW() + 0; @findex UNIX_TIMESTAMP() @item UNIX_TIMESTAMP() @itemx UNIX_TIMESTAMP(date) -If called with no argument, returns a UNIX timestamp (seconds since +If called with no argument, returns a Unix timestamp (seconds since @code{'1970-01-01 00:00:00'} GMT). If @code{UNIX_TIMESTAMP()} is called with a @code{date} argument, it returns the value of the argument as seconds since @code{'1970-01-01 00:00:00'} GMT. @code{date} may be a @code{DATE} string, @@ -16753,7 +16753,7 @@ mysql> select FROM_UNIXTIME(875996580) + 0; @findex FROM_UNIXTIME() @item FROM_UNIXTIME(unix_timestamp,format) -Returns a string representation of the UNIX timestamp, formatted according to +Returns a string representation of the Unix timestamp, formatted according to the @code{format} string. @code{format} may contain the same specifiers as those listed in the entry for the @code{DATE_FORMAT()} function: @@ -16842,14 +16842,14 @@ mysql> select PASSWORD('badpwd'); @code{PASSWORD()} encryption is non-reversible. @code{PASSWORD()} does not perform password encryption in the same way that -UNIX passwords are encrypted. You should not assume that if your UNIX +Unix passwords are encrypted. You should not assume that if your Unix password and your @strong{MySQL} password are the same, @code{PASSWORD()} -will result in the same encrypted value as is stored in the UNIX password +will result in the same encrypted value as is stored in the Unix password file. See @code{ENCRYPT()}. @findex ENCRYPT() @item ENCRYPT(str[,salt]) -Encrypt @code{str} using the UNIX @code{crypt()} system call. The +Encrypt @code{str} using the Unix @code{crypt()} system call. The @code{salt} argument should be a string with two characters. (As of @strong{MySQL} Version 3.22.16, @code{salt} may be longer than two characters.): @@ -18275,7 +18275,8 @@ operations reuse old record positions. To reclaim unused space and reduce file sizes, use the @code{OPTIMIZE TABLE} statement or the @code{myisamchk} utility to reorganize tables. @code{OPTIMIZE TABLE} is easier, but @code{myisamchk} is faster. -@xref{OPTIMIZE TABLE, , @code{OPTIMIZE TABLE}}. @ref{Optimization}. +@xref{OPTIMIZE TABLE, , @code{OPTIMIZE TABLE}} and +@ref{Optimization}. The @strong{MySQL}-specific @code{LIMIT rows} option to @code{DELETE} tells the server the maximum number of rows to be deleted before control is @@ -18297,16 +18298,16 @@ The differences are: @table @bullet @item -Implemented as a drop and recreate of the table, which makes this +Implemented as a drop and re-create of the table, which makes this much faster when deleting many rows. @item -Not transaction safe; @code{TRUNCATE} will automaticly end the current +Not transaction-safe; @code{TRUNCATE} will automaticly end the current transaction as if @code{COMMIT} would have been called. @item Doesn't return the number of deleted rows. @item As long as the table definition file @file{table_name.frm} is -valid, the table can be recreated this way, even if the data or index +valid, the table can be re-created this way, even if the data or index files have become corrupted.. @end table @@ -19970,7 +19971,7 @@ number of connections in a short period of time. In other words, this value is the size of the listen queue for incoming TCP/IP connections. Your operating system has its own limit on the size -of this queue. The manual page for the UNIX @code{listen(2)} system +of this queue. The manual page for the Unix @code{listen(2)} system call should have more details. Check your OS documentation for the maximum value for this variable. Attempting to set @code{back_log} higher than your operating system limit will be ineffective. @@ -20240,7 +20241,7 @@ If creating the thread takes longer than this value (in seconds), the @code{Slow_launch_threads} counter will be incremented. @item @code{socket} -The unix socket used by the server. +The Unix socket used by the server. @item @code{sort_buffer} Each thread that needs to do a sort allocates a buffer of this @@ -21527,10 +21528,10 @@ You can convert tables between different types with the @code{ALTER TABLE} statement. @xref{ALTER TABLE, , @code{ALTER TABLE}}. Note that @strong{MySQL} supports two different kinds of -tables. Transaction-safe tables (@code{BDB}) and not transaction safe +tables. Transaction-safe tables (@code{BDB}) and not transaction-safe tables (@code{ISAM}, @code{MERGE}, @code{MyISAM}, and @code{HEAP}). -Advantages of transaction safe tables (TST): +Advantages of transaction-safe tables (TST): @itemize @bullet @item @@ -21548,7 +21549,7 @@ If an update fails, all your changes will be restored. (With NTST tables all changes that have taken place are permanent) @end itemize -Advantages of not transaction safe tables (NTST): +Advantages of not transaction-safe tables (NTST): @itemize @bullet @item @@ -21701,7 +21702,7 @@ If we found an error, try to do a fast repair (with sorting and without re-creating the data file) of the table. @item If the repair fails because of an error in the data file (for example a -duplicate key error), we try again, but this time we recreate the data file. +duplicate key error), we try again, but this time we re-create the data file. @item If the repair fails, retry once more with the old repair option method (write row by row without sorting) which should be able to repair any @@ -22046,7 +22047,7 @@ mysql> select * from total; @end example To remap a @code{MERGE} table you must either @code{DROP} it and -recreate it, use @code{ALTER TABLE} with a new @code{UNION} +re-create it, use @code{ALTER TABLE} with a new @code{UNION} specification, or change the @code{.MRG} file and issue a @code{FLUSH TABLE} on the @code{MERGE} table and all underlying tables to force the handler to read the new definition file. @@ -23109,7 +23110,7 @@ yourself: mysql> CREATE DATABASE menagerie; @end example -Under UNIX, database names are case sensitive (unlike SQL keywords), so you +Under Unix, database names are case sensitive (unlike SQL keywords), so you must always refer to your database as @code{menagerie}, not as @code{Menagerie}, @code{MENAGERIE}, or some other variant. This is also true for table names. (Under Windows, this restriction does not apply, although @@ -23389,7 +23390,7 @@ Edit the file @file{pet.txt} to correct the error, then empty the table and reload it using @code{DELETE} and @code{LOAD DATA}: @example -mysql> SET AUTOCOMMIT=1; # Used for quick recreate of the table +mysql> SET AUTOCOMMIT=1; # Used for quick re-create of the table mysql> DELETE FROM pet; mysql> LOAD DATA LOCAL INFILE "pet.txt" INTO TABLE pet; @end example @@ -23865,7 +23866,7 @@ was necessary to determine which animals are no longer alive using @strong{MySQL} provides standard SQL pattern matching as well as a form of pattern matching based on extended regular expressions similar to those used -by UNIX utilities such as @code{vi}, @code{grep}, and @code{sed}. +by Unix utilities such as @code{vi}, @code{grep}, and @code{sed}. SQL pattern matching allows you to use @samp{_} to match any single character and @samp{%} to match an arbitrary number of characters (including @@ -25827,7 +25828,7 @@ slower. Note that you still can use a dynamic linked @strong{MySQL} library. It is only the server that is critical for performance. @item -If you connect using TCP/IP rather than UNIX sockets, the result is 7.5% +If you connect using TCP/IP rather than Unix sockets, the result is 7.5% slower on the same computer. (If you are connection to @code{localhost}, @strong{MySQL} will by default use sockets). @@ -27131,7 +27132,7 @@ If you are going to only read the table in the future, run @code{myisampack} on it to make it smaller. @xref{Compressed format}. @item -Recreate the indexes with @code{myisamchk -r -q +Re-create the indexes with @code{myisamchk -r -q /path/to/db/tbl_name}. This will create the index tree in memory before writing it to disk, which is much faster because it avoid lots of disk seeks. The resulting index tree is also perfectly balanced. @@ -27823,7 +27824,7 @@ shell> replace a b b a -- file1 file2 ... @section safe_mysqld, the wrapper around mysqld @code{safe_mysqld} is the recommended way to start a @code{mysqld} -daemon on UNIX. @code{safe_mysqld} adds some safety features such as +daemon on Unix. @code{safe_mysqld} adds some safety features such as restarting the server when an error occurs and logging runtime information to a log file. @@ -27967,8 +27968,8 @@ Debug log. Default is 'd:t:o,/tmp/mysql.trace' @item -D, --database=.. Database to use; This is mainly useful in the @code{my.cnf} file. @cindex default character set option -@item --default-character-set=... -Set the default character set. +@item +--default-character-set=... Set the default character set. @cindex execute option @item -e, --execute=... Execute command and quit. (Output like with --batch) @@ -28390,7 +28391,7 @@ no @samp{=your_pass} part, @code{mysqldump} you will be prompted for a password. @item -P port_num, --port=port_num The TCP/IP port number to use for connecting to a host. (This is used for -connections to hosts other than @code{localhost}, for which UNIX sockets are +connections to hosts other than @code{localhost}, for which Unix sockets are used.) @item -q, --quick Don't buffer query, dump directly to stdout; Uses @code{mysql_use_result()} @@ -28408,7 +28409,7 @@ machine as the @code{mysqld} daemon. The format of the @code{.txt} file is made according to the @code{--fields-xxx} and @code{--lines--xxx} options. @item -u user_name, --user=user_name The @strong{MySQL} user name to use when connecting to the server. The -default value is your UNIX login name. +default value is your Unix login name. @item -O var=option, --set-variable var=option Set the value of a variable. The possible variables are listed below. @item -v, --verbose @@ -28549,7 +28550,7 @@ no @samp{=your_pass} part, @item -P port_num, --port=port_num The TCP/IP port number to use for connecting to a host. (This is used for -connections to hosts other than @code{localhost}, for which UNIX sockets are +connections to hosts other than @code{localhost}, for which Unix sockets are used.) @item -r, --replace @@ -28570,7 +28571,7 @@ default host). @item -u user_name, --user=user_name The @strong{MySQL} user name to use when connecting to the server. The -default value is your UNIX login name. +default value is your Unix login name. @item -v, --verbose Verbose mode. Print out more information what the program does. @@ -28740,7 +28741,7 @@ Don't pack table, only test packing it. Use the named directory as the location in which to write the temporary table. @item -v, --verbose -Verbose mode. Write info about progress and packing result. +Verbose mode. Write information about progress and packing result. @item -V, --version Display version information and exit. @@ -29017,7 +29018,7 @@ The number of bits used in the Huffman tree. @end table After you have run @code{pack_isam}/@code{myisampack} you must run -@code{isamchk}/@code{myisamchk} to recreate the index. At this time you +@code{isamchk}/@code{myisamchk} to re-create the index. At this time you can also sort the index blocks and create statistics that is needed for the @strong{MySQL} optimizer to work more efficiently. @@ -29364,7 +29365,7 @@ When repairing, @code{myisamchk} will also nead a lot of diskspace: @item Double the size of the record file (The original one and a copy). This space is not needed if one does a repair with @code{--quick}, as in this -case only the index file will be recreated. This space is needed on the +case only the index file will be re-created. This space is needed on the same disk as the original record file! @item Space for the new index file (that replaces the old one; The old @@ -29918,7 +29919,7 @@ can usually detect and fix most things that go wrong. The repair process involves up to four stages, described below. Before you begin, you should @code{cd} to the database directory and check the -permissions of the table files. Make sure they are readable by the UNIX user +permissions of the table files. Make sure they are readable by the Unix user 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 be writable by you. @@ -30727,19 +30728,19 @@ program. @strong{MyODBC} is a 32-bit ODBC (2.50) level 0 (with level 1 and level 2 features) driver for connecting an ODBC-aware application to @strong{MySQL}. @strong{MyODBC} works on Windows95, Windows98, NT and -on most UNIX platforms. +on most Unix platforms. Normally you only need to install @strong{MyODBC} on Windows machines. -You only need @strong{MyODBC} for UNIX if you have a program like -ColdFusion that is running on the UNIX machine and uses ODBC to connect +You only need @strong{MyODBC} for Unix if you have a program like +ColdFusion that is running on the Unix machine and uses ODBC to connect to the databases. @strong{MyODBC} is in public domain and you can find the newest version at @uref{http://www.mysql.com/downloads/api-myodbc.html}. -If you want to install @strong{MyODBC} on a UNIX box, you will also need +If you want to install @strong{MyODBC} on a Unix box, you will also need an @strong{ODBC} manager. @strong{MyODBC} is known to work with -most of the UNIX ODBC managers. You can find a list at these in the +most of the Unix ODBC managers. You can find a list at these in the @strong{ODBC}-related links section on the @strong{MySQL} useful links page. @xref{Useful Links}. @@ -30760,12 +30761,12 @@ install @strong{MyODBC} and reboot to normal mode. @itemize @bullet @item -To make a connection to an UNIX box from a Windows box, with an ODBC +To make a connection to an Unix box from a Windows box, with an ODBC application (one that doesn't support @strong{MySQL} natively), you must first install @strong{MyODBC} on the Windows machine. @item The user and Windows machine must have the access privileges to the -@strong{MySQL} server the UNIX machine. This is set up with the @code{GRANT} +@strong{MySQL} server the Unix machine. This is set up with the @code{GRANT} command. @xref{GRANT,,@code{GRANT}}. @item You must create an ODBC DSN entry as follows: @@ -30983,7 +30984,7 @@ When you start a query you can use the property @code{Active} or use the method @code{Open}. Note that @code{Active} will start by automatically issue a @code{SELECT * FROM ...} query that may not be a good thing if your tables are big! -@item ColdFusion (On UNIX) +@item ColdFusion (On Unix) The following information is taken from the ColdFusion documentation: Use the following information to configure ColdFusion Server for Linux @@ -31706,11 +31707,11 @@ return a big result row! @node Can not connect to server, Blocked host, Gone away, Common errors @subsection @code{Can't connect to [local] MySQL server} error -A @strong{MySQL} client on UNIX can connect to the @code{mysqld} server in two -different ways: UNIX sockets, which connect through a file in the file +A @strong{MySQL} client on Unix can connect to the @code{mysqld} server in two +different ways: Unix sockets, which connect through a file in the file system (default @file{/tmp/mysqld.sock}), or TCP/IP, which connects -through a port number. UNIX sockets are faster than TCP/IP but can only -be used when connecting to a server on the same computer. UNIX sockets +through a port number. Unix sockets are faster than TCP/IP but can only +be used when connecting to a server on the same computer. Unix sockets are used if you don't specify a hostname or if you specify the special hostname @code{localhost}. @@ -31758,13 +31759,13 @@ error might occur: If you are running on a system that doesn't have native threads, @code{mysqld} uses the MIT-pthreads package. @xref{Which OS}. -However, MIT-pthreads doesn't support UNIX sockets, so on such a system you +However, MIT-pthreads doesn't support Unix sockets, so on such a system you must always specify the hostname explicitly when connecting to the server. Try using this command to check the connection to the server: @example shell> mysqladmin -h `hostname` version @end example -@item Someone has removed the UNIX socket that @code{mysqld} uses (default +@item Someone has removed the Unix socket that @code{mysqld} uses (default @file{/tmp/mysqld.sock}). You might have a @code{cron} job that removes the @strong{MySQL} socket (for example, a job that removes old files from the @file{/tmp} directory). You can always run @code{mysqladmin version} and @@ -31971,7 +31972,7 @@ Can't create/write to file '\\sqla3fe_0.ism'. this means that @strong{MySQL} can't create a temporary file for the result set in the given temporary directory (the above error is a -typical error message on windows, the UNIX error message is similar) . +typical error message on windows, the Unix error message is similar) . The fix is to start mysqld with @code{--tmpdir=path} or to add to your option file: @@ -32155,7 +32156,7 @@ the original table. If you have problems with the fact that anyone can delete the @strong{MySQL} communication socket @file{/tmp/mysql.sock}, you can, -on most versions of UNIX, protect your @file{/tmp} file system by setting +on most versions of Unix, protect your @file{/tmp} file system by setting the @code{sticky} bit on it. Log in as @code{root} and do the following: @example @@ -32182,7 +32183,7 @@ If the last permission bit is @code{t}, the bit is set. @section How to run MySQL as a normal user The @strong{MySQL} server @code{mysqld} can be started and run by any user. -In order to change @code{mysqld} to run as UNIX user @code{user_name}, you must +In order to change @code{mysqld} to run as Unix user @code{user_name}, you must do the following: @enumerate @@ -32192,7 +32193,7 @@ Stop the server if it's running (use @code{mysqladmin shutdown}). @item Change the database directories and files so that @code{user_name} has privileges to read and write files in them (you may need to do this as -the UNIX @code{root} user): +the Unix @code{root} user): @example shell> chown -R user_name /path/to/mysql/datadir @@ -32205,9 +32206,9 @@ you. @item Start the server as user @code{user_name}, or, if you are using -@strong{MySQL} Version 3.22 or later, start @code{mysqld} as the UNIX @code{root} +@strong{MySQL} Version 3.22 or later, start @code{mysqld} as the Unix @code{root} user and use the @code{--user=user_name} option. @code{mysqld} will switch -to run as UNIX user @code{user_name} before accepting any connections. +to run as Unix user @code{user_name} before accepting any connections. @item If you are using the @code{mysql.server} script to start @code{mysqld} when @@ -32218,26 +32219,26 @@ necessary.) @end enumerate At this point, your @code{mysqld} process should be running fine and dandy as -the UNIX user @code{user_name}. One thing hasn't changed, though: the +the Unix user @code{user_name}. One thing hasn't changed, though: the contents of the permissions tables. By default (right after running the permissions table install script @code{mysql_install_db}), the @strong{MySQL} user @code{root} is the only user with permission to access the @code{mysql} database or to create or drop databases. Unless you have changed those permissions, they still hold. This shouldn't stop you from accessing @strong{MySQL} as the @strong{MySQL} @code{root} user when you're logged in -as a UNIX user other than @code{root}; just specify the @code{-u root} option +as a Unix user other than @code{root}; just specify the @code{-u root} option to the client program. Note that accessing @strong{MySQL} as @code{root}, by supplying @code{-u root} on the command line, has @emph{nothing} to do with @strong{MySQL} running -as the UNIX @code{root} user, or, indeed, as other UNIX user. The access +as the Unix @code{root} user, or, indeed, as other Unix user. The access permissions and user names of @strong{MySQL} are completely separate from -UNIX user names. The only connection with UNIX user names is that if you +Unix user names. The only connection with Unix user names is that if you don't provide a @code{-u} option when you invoke a client program, the client -will try to connect using your UNIX login name as your @strong{MySQL} user +will try to connect using your Unix login name as your @strong{MySQL} user name. -If your UNIX box itself isn't secured, you should probably at least put a +If your Unix box itself isn't secured, you should probably at least put a password on the @strong{MySQL} @code{root} users in the access tables. Otherwise, any user with an account on that machine can run @code{mysql -u root db_name} and do whatever he likes. @@ -32261,7 +32262,7 @@ file which is normally in the @strong{MySQL} database directory: kill `cat /mysql-data-directory/hostname.pid` @end example -You must be either the UNIX @code{root} user or the same user the server +You must be either the Unix @code{root} user or the same user the server runs as to do this. @item @@ -32879,7 +32880,7 @@ that may be regarded as a number, in the directory used by the update log! If you use the @code{--log} or @code{-l} options, @code{mysqld} writes a general log with a filename of @file{hostname.log}, and restarts and refreshes do not cause a new log file to be generated (although it is closed -and reopened). In this case you can copy it (on UNIX) by doing: +and reopened). In this case you can copy it (on Unix) by doing: @example mv hostname.log hostname-old.log @@ -33083,7 +33084,7 @@ $dbh = DBI->connect($dsn, $user, $password); @tindex Environment variable, MYSQL_UNIX_PORT @tindex Environment variable, MYSQL_TCP_PORT Set the @code{MYSQL_UNIX_PORT} and @code{MYSQL_TCP_PORT} environment variables -to point to the UNIX socket and TCP/IP port before you start your clients. +to point to the Unix socket and TCP/IP port before you start your clients. If you normally use a specific socket or port, you should place commands to set these environment variables in your @file{.login} file. @xref{Environment variables}. @xref{Programs}. @@ -35150,12 +35151,12 @@ example below. @item The value of @code{host} may be either a hostname or an IP address. If @code{host} is @code{NULL} or the string @code{"localhost"}, a connection to -the local host is assumed. If the OS supports sockets (UNIX) or named pipes +the local host is assumed. If the OS supports sockets (Unix) or named pipes (Windows), they are used instead of TCP/IP to connect to the server. @item The @code{user} parameter contains the user's @strong{MySQL} login ID. If -@code{user} is @code{NULL}, the current user is assumed. Under UNIX, this is +@code{user} is @code{NULL}, the current user is assumed. Under Unix, this is the current login name. Under Windows ODBC, the current user name must be specified explicitly. @xref{ODBC administrator}. @@ -35227,7 +35228,7 @@ Failed to create an IP socket. Out of memory. @item CR_SOCKET_CREATE_ERROR -Failed to create a UNIX socket. +Failed to create a Unix socket. @item CR_UNKNOWN_HOST Failed to find the IP address for the hostname. @@ -35740,7 +35741,7 @@ following information: @code{mysql_affected_rows()} returns the number of rows affected by the last query when doing an @code{INSERT}, @code{UPDATE} or @code{DELETE}. An exception is that if @code{DELETE} is used without a @code{WHERE} clause, the -table is recreated empty, which is much faster! In this case, +table is re-created empty, which is much faster! In this case, @code{mysql_affected_rows()} returns zero for the number of records affected. @@ -35758,7 +35759,7 @@ query that inserted a row into a table with an @code{AUTO_INCREMENT} index. @item Some queries (@code{LOAD DATA INFILE ...}, @code{INSERT INTO -... SELECT ...}, @code{UPDATE}) return additional info. The result is +... SELECT ...}, @code{UPDATE}) return additional information. The result is returned by @code{mysql_info()}. See the description for @code{mysql_info()} for the format of the string that it returns. @code{mysql_info()} returns a @code{NULL} pointer if there is no additional information. @@ -36052,7 +36053,7 @@ Use compressed communication between the client and server (@strong{MySQL} 3.22.3 or later). @item mysql_socket=/path/to/socket -Specify the pathname of the UNIX socket that is used to connect +Specify the pathname of the Unix socket that is used to connect to the server (@strong{MySQL} Version 3.21.15 or later). @end table @@ -37025,7 +37026,7 @@ or unsupported. Normally, @code{PostgreSQL} is a magnitude slower than @strong{MySQL}. @xref{Benchmarks}. This is due largely to they have only -transaction safe tables and that their transactions system is not as +transaction-safe tables and that their transactions system is not as sophisticated as Berkeley DB's. In @strong{MySQL} you can decide per table if you want the table to be fast or take the speed penalty of making it transaction safe. @@ -38931,7 +38932,7 @@ Fixed a bug in @code{SHOW CREATE} when using @code{AUTO_INCREMENT} columns. @item Changed BDB tables to use new compare function in Berkeley DB 3.2.3. @item -You can now use UNIX sockets with @code{mit-pthreads}. +You can now use Unix sockets with @code{mit-pthreads}. @item Added the latin5 (turkish) character set. @item @@ -40694,7 +40695,7 @@ server inserts rows into a table. @code{LEFT JOIN USING (col1,col2)} didn't work if one used it with tables from 2 different databases. @item -@code{LOAD DATA LOCAL INFILE} didn't work in the UNIX version because of +@code{LOAD DATA LOCAL INFILE} didn't work in the Unix version because of a missing file. @item Fixed problems with @code{VARCHAR}/@code{BLOB} on very short rows (< 4 bytes); @@ -41195,7 +41196,7 @@ Fixed table locks for Windows. Allow @samp{$} in identifiers. @item Changed name of user-specific configuration file from @file{my.cnf} to -@file{.my.cnf} (UNIX only). +@file{.my.cnf} (Unix only). @item Added @code{DATE_ADD()} and @code{DATE_SUB()} functions. @end itemize @@ -41330,7 +41331,7 @@ give a user read access to some tables and write access to others simply by keeping them in different databases! @item Added @code{--user} option to @code{mysqld}, to allow it to run -as another UNIX user (if it is started as the UNIX @code{root} user). +as another Unix user (if it is started as the Unix @code{root} user). @item Added caching of users and access rights (for faster access rights checking) @item @@ -41583,7 +41584,7 @@ Fixed bug in @code{WEEK("XXXX-xx-01")}. @appendixsubsec Changes in release 3.21.28 @itemize @bullet @item -Fixed socket permission (clients couldn't connect to UNIX socket on Linux). +Fixed socket permission (clients couldn't connect to Unix socket on Linux). @item Fixed bug in record caches; for some queries, you could get @code{Error from table handler: #} on some operating systems. @@ -43072,7 +43073,7 @@ the daemon a little smaller and easier to understand. @item A lot of small bug fixes done. @item -New @file{INSTALL} files (not final version) and some info regarding porting. +New @file{INSTALL} files (not final version) and some information regarding porting. @end itemize @node News-3.19.x, , News-3.20.x, News @@ -43711,7 +43712,7 @@ we use Sun PThreads (the native thread support in 2.4 and earlier versions are not good enough) and on Linux we use LinuxThreads by Xavier Leroy, @email{Xavier.Leroy@@inria.fr}. -The hard part of porting to a new UNIX variant without good native +The hard part of porting to a new Unix variant without good native thread support is probably to port MIT-pthreads. See @file{mit-pthreads/README} and @uref{http://www.humanfactor.com/pthreads/, Programming POSIX Threads}. @@ -44539,7 +44540,7 @@ mysql> select "weeknights" REGEXP "^(wee|week)(knights|nights)$"; -> 1 Unireg is our tty interface builder, but it uses a low level connection to our ISAM (which is used by @strong{MySQL}) and because of this it is -very quick. It has existed since 1979 (on UNIX in C since ~1986). +very quick. It has existed since 1979 (on Unix in C since ~1986). Unireg has the following components: @@ -44584,7 +44585,7 @@ serve web pages through @strong{MySQL} (and in some extreme cases the Unireg report generator). Unireg takes about 3M of disk space and works on at least the following -platforms: SunOS 4.x, Solaris, Linux, HP-UX, ICL UNIX, DNIX, SCO and +platforms: SunOS 4.x, Solaris, Linux, HP-UX, ICL Unix, DNIX, SCO and MS-DOS. Unireg is currently only available in Swedish and Finnish.