MySQL-Max服务器是mysqld MySQL服务器的一个版本,包含了更多的特性。
该分发版的使用取决于你的平台:
· 对于Windows,MySQL二进制分发版包括标准服务器 (mysqld.exe)和MySQL-Max服务器(mysqld-max.exe),因此你不再需要专用分发版。只需要使用一个常规Windows分发版,可以从http://dev.mysql.com/downloads/获得。参见2.3节,“在Windows上安装MySQL”。
· 对于Linux,如果你使用RPM分发版安装MySQL,首先使用常规MySQL-server RPM来安装标准mysqld服务器。然后使用MySQL-Max RPM来安装mysqld-max服务器。MySQL-Max RPM假定你已经安装了常规服务器RPM。关于Linux RPM软件包的详细信息,参见2.4节,“在Linux下安装MySQL”。
· 所有其它MySQL-Max分发版包含一个mysqld服务器,但具有更多的特性。
你可以从MySQL AB网址http://dev.mysql.com/downloads/找到MySQL-Max二进制版本。
MySQL AB使用下面的configure选项构建MySQL-Max服务器:
· --with-server-suffix=-max
该选项为mysqld版本字符串添加一个-max后缀。
· --with-innodb
该选项启用InnoDB存储引擎支持。MySQL-Max服务器包括InnoDB支持。在MySQL 4.0及以上版本中,默认InnoDB包括在所有二进制分发版中,因此你不需要用MySQL-Max服务器只是用来获取InnoDB支持。
· --with-bdb
该选项启用Berkeley DB (BDB)存储引擎支持。
· --with-blackhole-storage-engine
该选项启用BLACKHOLE存储引擎支持。
· USE_SYMDIR
启用该定义来为Windows打开数据库符号链接支持。符号链接支持适用于所有Windows服务器,因此Max服务器不需要支持该特性。
· --with-ndbcluster
该选项启用NDB Cluster存储引擎支持。目前(5.1.2-alpha)只有Linux、Solaris和Mac OS X支持Cluster。已有一些用户报告在BSD 操作系统上成功使用了从源码构建的MySQL Cluster,但目前还没有得到官方支持。
MySQL-Max二进制分发版对于想要安装预编译程序的用户很方便。如果你使用源码分发版构建MySQL,你可以通过在配置时启用MySQL-Max二进制分发版构建所用的相同的特性来构建你自己的Max-like服务器。
MySQL-Max服务器包括BerkeleyDB (BDB)存储引擎,但并非所有平台支持BDB。
Solaris、Mac OS X和Linux(在大多数平台上)的MySQL-Max服务器包括NDB CLUSTER存储引擎支持。请注意必须用ndbcluster选项启动服务器,以便使服务器做为MySQL Cluster的一部分来运行。(详细信息参见17.4节,“MySQL簇的配置”)。
下面的表显示了MySQL-Max二进制在哪个平台上包括BDB和/或NDB CLUSTER支持:
系统 |
BDB支持 |
NDB支持 |
AIX 4.3 |
N |
N |
HP-UX 11.0 |
N |
N |
Linux-Alpha |
N |
Y |
Linux-IA-64 |
N |
N |
Linux-Intel |
Y |
Y |
Mac OS X |
N |
N |
NetWare |
N |
N |
SCO OSR5 |
Y |
N |
Solaris-SPARC |
Y |
Y |
Solaris-Intel |
N |
Y |
UnixWare |
Y |
N |
Windows NT/2000/XP |
Y |
N |
要想找出你的服务器支持哪个存储引擎,执行下面的语句:
mysql> SHOW ENGINES;
+------------+---------+----------------------------------------------------------------+
| Engine | Support | Comment |
+------------+---------+----------------------------------------------------------------+
| MyISAM | DEFAULT | Default engine as of MySQL 3.23 with great performance |
| MEMORY | YES | Hash based, stored in memory, useful for temporary tables |
| HEAP | YES | Alias for MEMORY |
| MERGE | YES | Collection of identical MyISAM tables |
| MRG_MYISAM | YES | Alias for MERGE |
| ISAM | NO | Obsolete storage engine, now replaced by MyISAM |
| MRG_ISAM | NO | Obsolete storage engine, now replaced by MERGE |
| InnoDB | YES | Supports transactions, row-level locking, and foreign keys |
| INNOBASE | YES | Alias for INNODB |
| BDB | YES | Supports transactions and page-level locking |
| BERKELEYDB | YES | Alias for BDB |
| NDBCLUSTER | NO | Clustered, fault-tolerant, memory-based tables |
| NDB | NO | Alias for NDBCLUSTER |
| EXAMPLE | NO | Example storage engine |
| ARCHIVE | YES | Archive storage engine |
| CSV | NO | CSV storage engine |
| FEDERATED | YES | Federated MySQL storage engine |
| BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) |
+------------+---------+----------------------------------------------------------------+
18 rows in set (0.00 sec)
(另参见13.5.4.8节,“SHOW ENGINES语法”)。
你还可以使用下面的语句代替SHOW ENGINES,并检查你感兴趣的存储引擎的变量值:
mysql> SHOW VARIABLES LIKE 'have%';
+-----------------------+----------+
| Variable_name | Value |
+-----------------------+----------+
| have_archive | YES |
| have_bdb | NO |
| have_blackhole_engine | YES |
| have_compress | YES |
| have_crypt | YES |
| have_csv | YES |
| have_example_engine | NO |
| have_federated_engine | NO |
| have_geometry | YES |
| have_innodb | YES |
| have_isam | NO |
| have_ndbcluster | DISABLED |
| have_openssl | NO |
| have_partition_engine | YES |
| have_query_cache | YES |
| have_raid | NO |
| have_rtree_keys | YES |
| have_symlink | YES |
+-----------------------+----------+
18 rows in set (0.01 sec)
SHOW命令的精确输出随使用的MySQL版本(和启用的特性)的不同而有变化。第2列的值表示各特性支持的服务器级别,如下所示:
值 |
含义 |
YES |
支持该特性并已经激活。 |
NO |
不支持该特性。 |
DISABLED |
支持该特性但被禁用。 |
NO值表示编译的服务器不支持该特性,因此在运行时不能激活。
出现DISABLED值是因为服务器启动时该特性被禁用,或没有给出启用它的所有选项。在后一种情况,host_名.err错误日志文件应包含该选项被禁用的原因。
如果服务器支持InnoDB或BDB存储引擎,你还可以看见DISABLED,但在运行启动时使用了--skip-innodb或--skip-bdb选项。对于NDB CLUSTER存储引擎,DISABLED表示服务器支持MySQL Cluster,但启动时未启用--ndb-cluster选项。
所有MySQL服务器支持MyISAM表,因为MyISAM是 默认存储引擎。