summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormonty@donna.mysql.fi <>2001-05-12 09:24:35 +0300
committermonty@donna.mysql.fi <>2001-05-12 09:24:35 +0300
commita4289cc0c8208098c7cb0602c368237bb53cb1a7 (patch)
treea30ac4edd45397b82c0763a1df7fd2ad938ae675
parent10920d0be1cf7981c2bc2d003af59f3c7944cf1f (diff)
downloadmariadb-git-a4289cc0c8208098c7cb0602c368237bb53cb1a7.tar.gz
Added information about using mysql-max
-rw-r--r--Docs/manual.texi72
-rw-r--r--sql/mysqld.cc26
-rw-r--r--support-files/my-huge.cnf.sh2
-rw-r--r--support-files/my-large.cnf.sh2
-rw-r--r--support-files/my-medium.cnf.sh2
-rw-r--r--support-files/my-small.cnf.sh2
6 files changed, 78 insertions, 28 deletions
diff --git a/Docs/manual.texi b/Docs/manual.texi
index 2ede3648a9b..b3023a905c7 100644
--- a/Docs/manual.texi
+++ b/Docs/manual.texi
@@ -6001,9 +6001,15 @@ shell> scripts/mysql_install_db
shell> chown -R root /usr/local/mysql
shell> chown -R mysql /usr/local/mysql/var
shell> chgrp -R mysql /usr/local/mysql
+shell> cp support-files/my-medium.cnf /etc/my.cnf
shell> /usr/local/mysql/bin/safe_mysqld --user=mysql &
@end example
+If you want have support for InnoDB tables, you should edit the
+@code{/etc/my.cnf} file and remove the @code{#} character before the
+parameters that starts with @code{innodb_...}. @xref{Option
+files}. @xref{InnoDB start}.
+
If you start from a source RPM, then do the following:
@example
@@ -8816,7 +8822,7 @@ This is also described in the @file{README} file that comes with the
@subsection Installing MySQL on Windows
If you don't have a copy of the @strong{MySQL} distribution, you should
-first download one from @uref{http://www.mysql.com/}.
+first download one from @uref{http://www.mysql.com/downloads/mysql-3.23.html}.
If you plan to connect to @strong{MySQL} from some other program, you will
probably also need the @strong{MyODBC} driver. You can find this at the
@@ -8843,6 +8849,36 @@ specify all paths with @samp{/} instead of @samp{\}. If you use
@samp{\}, you need to specify this twice, as @samp{\} is the escape
character in @strong{MySQL}. @xref{Option files}.
+Starting from @strong{MySQL} 3.23.38 the windows distribution includes
+both the normal and the @strong{MySQL-Max} binaries. The main benefit
+of using the normal @code{mysqld.exe} binary is that it's a little
+faster and uses less resources.
+
+Here is a list of the different @strong{MySQL} servers you can use:
+
+@multitable @columnfractions .25 .75
+@item @code{mysqld} @tab
+Compiled with full debugging and automatic memory allocation checking,
+symbolic links, BDB and InnoDB tables.
+@item @code{mysqld-opt} @tab
+Optimized binary with no support for transactional tables.
+@item @code{mysqld-nt} @tab
+Optimized for a Pentium pro processor. Has support for
+named pipes. One can run this version on Win98, but in
+this case no named pipes are created and one must
+have TCP/IP installed.
+@item mysqld-max @tab
+Optimized binary with support for symbolic links, BDB and InnoDB tables.
+@item mysqld-max-nt @tab
+Like mysqld-max, but compiled with support for named pipes.
+@end multitable
+
+All of the above binaries are optimized for the Pentium pro processor but
+should work on any Intel processor >= i386.
+
+NOTE: If you want to use InnoDB tables, you need to specify some startup
+options in your my.ini file! @xref{InnoDB start}.
+
@node Win95 start, NT start, Windows installation, Windows
@subsection Starting MySQL on Windows 95 or Windows 98
@@ -8857,15 +8893,6 @@ Winsock 2! You can get the newest Winsock from
@uref{http://www.microsoft.com/}. Win98 has the new Winsock 2 library, so
the above doesn't apply for Win98.
-There are 2 different @strong{MySQL} servers you can use:
-
-@multitable @columnfractions .25 .75
-@item @code{mysqld} @tab Compiled with full debugging and automatic memory allocation checking
-@item @code{mysqld-opt} @tab Optimized for a Pentium processor.
-@end multitable
-
-Both of the above should work on any Intel processor >= i386.
-
To start the @code{mysqld} server, you should start an MS-DOS window and type:
@example
@@ -8911,10 +8938,15 @@ should install @strong{MySQL} as a service on NT/Win2000:
@example
C:\mysql\bin\mysqld-nt --install
+
+or
+
+C:\mysql\bin\mysqld-max-nt --install
@end example
-(You could use the @code{mysqld} or @code{mysqld-opt} servers on NT,
-but those cannot be started as a service or use named pipes.)
+(You can also use @code{mysqld} binaries that doesn't end with
+@code{-nt.exe} on NT, but those cannot be started as a service or use
+named pipes.)
You can start and stop the @strong{MySQL} service with:
@@ -9863,6 +9895,10 @@ reload the grant tables.
@cindex server, starting problems
@cindex problems, starting the server
+If you are going to use tables that support transactions (BDB, InnoDB or
+Gemini), you should first create a my.cnf file and set startup options
+for the table types you plan to use. @xref{Table types}.
+
Generally, you start the @code{mysqld} server in one of three ways:
@itemize @bullet
@@ -23353,6 +23389,9 @@ type it should use for the table. @strong{MySQL} will always create a
@code{.frm} file to hold the table and column definitions. Depending on
the table type, the index and data will be stored in other files.
+Note that to use @code{InnoDB} tables you have to use at least
+the @code{innodb_data_file_path} startup option. @xref{InnoDB start}.
+
The default table type in @strong{MySQL} is @code{MyISAM}. If you are
trying to use a table type that is not compiled-in or activated,
@strong{MySQL} will instead create a table of type @code{MyISAM}. This
@@ -31719,6 +31758,14 @@ the following configure options:
@item CFLAGS=-DUSE_SYMDIR @tab Symbolic links support for Windows.
@end multitable
+You can find the @strong{MySQL}-max binaries at
+@uref{http://www.mysql.com/downloads/mysql-max-3.23.html}.
+
+The windows @strong{MySQL} 3.23 binary distribution includes both the
+standard @strong{mysqld.exe} binary and the @code{mysqld-max.exe} binary.
+@uref{http://www.mysql.com/downloads/mysql-3.23.html}.
+@xref{Windows installation}.
+
Note that as Berkeley DB and InnoDB are not available for all platforms,
some of the @code{Max} binaries may not have support for both of these.
You can check which table types are supported by doing the following
@@ -31780,6 +31827,7 @@ binaries includes:
@item Solaris-sparc @tab Y @tab Y
@item SCO OSR5 @tab Y @tab Y
@item UnixWare @tab Y @tab Y
+@item Windows/NT @tab Y @tab Y
@end multitable
@cindex tools, safe_mysqld
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index 3c64f0573e2..503a45a8da0 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -1127,7 +1127,7 @@ static void start_signal_handler(void)
#ifdef HAVE_LINUXTHREADS
static sig_handler write_core(int sig);
-#if defined (__i386__) || defined(__alpha__)
+#if defined (__i386__) || (defined(__alpha__) && defined(__GNUC__))
#define LINUX_STACK_TRACE
#endif
@@ -1158,11 +1158,13 @@ inline __volatile__ void print_str(const char* name,
#ifdef LINUX_STACK_TRACE
#define SIGRETURN_FRAME_COUNT 1
-#ifdef __alpha__
-// The only way to backtrace without a symbol table on alpha
-// to find stq fp,N(sp), and the first byte
-// of the instruction opcode will give us the value of N. From this
-// we can find where the old value of fp is stored
+#if defined(__alpha__) && defined(__GNUC__)
+/*
+ The only way to backtrace without a symbol table on alpha
+ is to find stq fp,N(sp), and the first byte
+ of the instruction opcode will give us the value of N. From this
+ we can find where the old value of fp is stored
+*/
#define MAX_INSTR_IN_FUNC 10000
@@ -1221,7 +1223,7 @@ terribly wrong...\n");
return;
}
#endif
-#ifdef __alpha__
+#if defined(__alpha__) && defined(__GNUC__)
__asm __volatile__ ("mov $15,%0"
:"=r"(fp)
:"r"(fp));
@@ -1231,7 +1233,7 @@ terribly wrong...\n");
-fomit-frame-pointer? Aborting backtrace!\n");
return;
}
-#endif
+#endif /* __alpha__ */
if (!thd)
{
@@ -1252,7 +1254,7 @@ terribly wrong...\n");
}
fprintf(stderr, "Stack range sanity check OK, backtrace follows:\n");
-#ifdef __alpha__
+#if defined(__alpha__) && defined(__GNUC__)
fprintf(stderr, "Warning: Alpha stacks are difficult -\
will be taking some wild guesses, stack trace may be incorrect or \
terminate abruptly\n");
@@ -1261,7 +1263,7 @@ terribly wrong...\n");
__asm __volatile__ ("bsr %0, do_next; do_next: "
:"=r"(pc)
:"r"(pc));
-#endif
+#endif /* __alpha__ */
while (fp < stack_bottom)
{
@@ -1270,7 +1272,7 @@ terribly wrong...\n");
fprintf(stderr, "%p\n", frame_count == SIGRETURN_FRAME_COUNT ?
*(fp+17) : *(fp+1));
#endif
-#ifdef __alpha__
+#if defined(__alpha__) && defined(__GNUC__)
uchar** new_fp = find_prev_fp(pc, fp);
if(frame_count == SIGRETURN_FRAME_COUNT - 1)
{
@@ -1291,7 +1293,7 @@ terribly wrong...\n");
}
else
{
- fprintf(stderr, "Not smart enough to deal with the rest of \
+ fprintf(stderr, "Not smart enough to deal with the rest of\
this stack\n");
goto print_glob_vars;
}
diff --git a/support-files/my-huge.cnf.sh b/support-files/my-huge.cnf.sh
index 7917ab9d9f1..103a6c16cfd 100644
--- a/support-files/my-huge.cnf.sh
+++ b/support-files/my-huge.cnf.sh
@@ -47,10 +47,10 @@ server-id = 1
#set-variable = bdb_max_lock=100000
# Uncomment the following if you are using Innobase tables
+#innodb_data_file_path = ibdata1:2000M;ibdata2:2000M
#innodb_data_home_dir = @localstatedir@/
#innodb_log_group_home_dir = @localstatedir@/
#innodb_log_arch_dir = @localstatedir@/
-#innodb_data_file_path = ibdata1:25M;ibdata2:37M;ibdata3:100M;ibdata4:300M
#set-variable = innodb_mirrored_log_groups=1
#set-variable = innodb_log_files_in_group=3
#set-variable = innodb_log_file_size=5M
diff --git a/support-files/my-large.cnf.sh b/support-files/my-large.cnf.sh
index d4e28c14019..f314566c5fb 100644
--- a/support-files/my-large.cnf.sh
+++ b/support-files/my-large.cnf.sh
@@ -43,10 +43,10 @@ server-id = 1
#set-variable = bdb_max_lock=100000
# Uncomment the following if you are using Innobase tables
+#innodb_data_file_path = ibdata1:1000M
#innodb_data_home_dir = @localstatedir@/
#innodb_log_group_home_dir = @localstatedir@/
#innodb_log_arch_dir = @localstatedir@/
-#innodb_data_file_path = ibdata1:25M;ibdata2:37M;ibdata3:100M;ibdata4:300M
#set-variable = innodb_mirrored_log_groups=1
#set-variable = innodb_log_files_in_group=3
#set-variable = innodb_log_file_size=5M
diff --git a/support-files/my-medium.cnf.sh b/support-files/my-medium.cnf.sh
index d25345502e2..675241b25dd 100644
--- a/support-files/my-medium.cnf.sh
+++ b/support-files/my-medium.cnf.sh
@@ -45,10 +45,10 @@ server-id = 1
#set-variable = bdb_max_lock=10000
# Uncomment the following if you are using Innobase tables
+#innodb_data_file_path = ibdata1:400M
#innodb_data_home_dir = @localstatedir@/
#innodb_log_group_home_dir = @localstatedir@/
#innodb_log_arch_dir = @localstatedir@/
-#innodb_data_file_path = ibdata1:25M;ibdata2:37M;ibdata3:100M;ibdata4:300M
#set-variable = innodb_mirrored_log_groups=1
#set-variable = innodb_log_files_in_group=3
#set-variable = innodb_log_file_size=5M
diff --git a/support-files/my-small.cnf.sh b/support-files/my-small.cnf.sh
index 6cafa8281fe..cad0e10e684 100644
--- a/support-files/my-small.cnf.sh
+++ b/support-files/my-small.cnf.sh
@@ -42,10 +42,10 @@ server-id = 1
#skip-bdb
# Uncomment the following if you are using Innobase tables
+#innodb_data_file_path = ibdata1:100M
#innodb_data_home_dir = @localstatedir@/
#innodb_log_group_home_dir = @localstatedir@/
#innodb_log_arch_dir = @localstatedir@/
-#innodb_data_file_path = ibdata1:25M;ibdata2:37M;ibdata3:100M;ibdata4:300M
#set-variable = innodb_mirrored_log_groups=1
#set-variable = innodb_log_files_in_group=3
#set-variable = innodb_log_file_size=5M