mysqld-max
, An Extended mysqld
Server
mysqld-max
is the MySQL server (mysqld
) configured with
the following configure options:
Option | Comment |
--with-server-suffix=-max | Add a suffix to the mysqld version string
|
--with-innodb | Support for InnoDB tables (MySQL 3.23 only) |
--with-bdb | Support for Berkeley DB (BDB) tables |
CFLAGS=-DUSE_SYMDIR | Symbolic link support for Windows |
The option for enabling InnoDB support is needed only in MySQL 3.23. In MySQL 4 and up, InnoDB is included by default.
You can find the MySQL-Max binaries at http://www.mysql.com/downloads/mysql-max-4.0.html.
The Windows MySQL binary distributions includes both the
standard mysqld.exe
binary and the mysqld-max.exe
binary.
http://www.mysql.com/downloads/mysql-4.0.html.
See section 2.1.1 Installing MySQL on Windows.
Note that as BerkeleyDB (BDB) is not available for all platforms,
so some of the Max
binaries may not have support for it.
You can check which table types are supported by doing the following
query:
mysql> SHOW VARIABLES LIKE "have_%"; +------------------+----------+ | Variable_name | Value | +------------------+----------+ | have_bdb | NO | | have_crypt | YES | | have_innodb | YES | | have_isam | YES | | have_raid | NO | | have_symlink | DISABLED | | have_openssl | NO | | have_query_cache | YES | +------------------+----------+
The meanings of the values in the second column are:
Value | Meaning |
YES | The option is activated and usable. |
NO | MySQL is not compiled with support for this option. |
DISABLED | The xxxx option is disabled because one started mysqld with --skip-xxxx or because one didn't start mysqld with all needed options to enable the option. In this case the hostname.err file should contain a reason indicating why the option is disabled.
|
Note: To be able to create InnoDB tables in MySQL version 3.23
you must edit
your startup options to include at least the innodb_data_file_path
option. See section 7.5.2 InnoDB in MySQL Version 3.23.
To get better performance for BDB tables, you should add some configuration
options for these, too. See section 7.6.3 BDB
startup options.
mysqld_safe
automatically tries to start any mysqld
binary
with the -max
suffix. This makes it very easy to test out
another mysqld
binary in an existing installation. Just
run configure
with the options you want and then install the
new mysqld
binary as mysqld-max
in the same directory
where your old mysqld
binary is. See section 4.7.2 mysqld_safe
, The Wrapper Around mysqld
.
On Linux, the MySQL-Max
RPM uses the above mentioned mysqld_safe
feature. (It just installs the mysqld-max
executable, so
mysqld_safe
automatically uses this executable when
mysqld_safe
is restarted.)
The following table shows which table types our MySQL-Max binaries include:
System | BDB | InnoDB
|
Windows/NT | Y | Y |
AIX 4.3 | N | Y |
HP-UX 11.0 | N | Y |
Linux-Alpha | N | Y |
Linux-Intel | Y | Y |
Linux-IA-64 | N | Y |
Solaris-Intel | N | Y |
Solaris-SPARC | Y | Y |
SCO OSR5 | Y | Y |
UnixWare | Y | Y |
Mac OS X | N | Y |
Note that as of MySQL 4, you do not need a MySQL Max server for InnoDB, because InnoDB is included by default.
Posted by Yuval Zukerman on Saturday August 24 2002, @11:25am | [Delete] [Edit] |
After installing version 3.23.52 on Windows 2000,
the service started using the regular mysqld-nt
(which lacks Innodb) instead of the mysqld-max-nt
(which has Innodb).
If this happened to you too, and you want to get
mysqld-max-nt to work instead, try these steps
which got me going:
1. Stop the service using mysqladmin (which is
located in the mysql\bin directory).
2. In mysqladmin, choose the my.ini tab. Modify the
my.ini file to include at least the minimal requirement
for innodb, a line such as:
innodb_data_file_path = ibdata1:100M:autoextend
3. Choose the mysqld file to start to be mysqld-max-
nt.
4. save the file (using the Save Modification button).
5. Open a console window and get into the
mysql\bin directory.
6. Enter the line:
mysqld-nt --remove
This will remove the service using the regular mysqld-
nt.
7. Enter the line:
mysqld-max-nt --install
After I did this I got an error message but it did the
job.
8. Start the service again. To check whether this
worked and that Innodb tables are available, start
the mysql console application and enter:
SHOW VARIABLES LIKE 'have_%';
If you have Innodb | YES you are good to go.