Search the MySQL manual:

4.7.5 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.

User Comments

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.

Add your own comment.