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是 默認存儲引擎。