List:Commits« Previous MessageNext Message »
From:martin.brown Date:October 1 2008 7:16pm
Subject:svn commit - mysqldoc@docsrva: r11936 - trunk/refman-5.0
View as plain text  
Author: mcbrown
Date: 2008-10-01 19:16:08 +0200 (Wed, 01 Oct 2008)
New Revision: 11936

Log:
Removing the CS/ES limitations and simplyfing the installation chapter structure



Removed:
   trunk/refman-5.0/installing-cs-core.xml
   trunk/refman-5.0/installing.xml
Renamed/Moved:
   trunk/refman-5.0/installing-core.xml (from rev 11934, trunk/refman-5.0/installing.xml)
   trunk/refman-5.0/installing-cs.xml (from rev 11934,
trunk/refman-5.0/installing-cs-core.xml)
Modified:
   trunk/refman-5.0/Makefile.depends
   trunk/refman-5.0/installing-es.xml
   trunk/refman-5.0/manual.xml
   trunk/refman-5.0/renamed-nodes.txt

Property changes on: trunk/refman-5.0/installing-core.xml
___________________________________________________________________
Name: svn:mergeinfo
   + 
Name: svn:eol-style
   + LF

Property changes on: trunk/refman-5.0/installing-cs.xml
___________________________________________________________________
Name: svn:mergeinfo
   + 


Modified: trunk/refman-5.0/Makefile.depends
===================================================================
--- trunk/refman-5.0/installing-core.xml	                        (rev 0)
+++ trunk/refman-5.0/installing-core.xml	2008-10-01 17:16:08 UTC (rev 11936)
Changed blocks: 46, Lines Added: 18243, Lines Deleted: 166; 674628 bytes

@@ -222,7 +222,7 @@
 	../refman-5.0/metadata/dba-core.idmap \
 	../refman-5.0/metadata/errors-problems.idmap \
 	../refman-5.0/metadata/functions-core.idmap \
-	../refman-5.0/metadata/installing-cs-core.idmap \
+	../refman-5.0/metadata/installing-core.idmap \
 	../refman-5.0/metadata/internationalization.idmap \
 	../refman-5.0/metadata/language-structure-core.idmap \
 	../refman-5.0/metadata/optimization.idmap \

@@ -490,7 +490,7 @@
 	../refman-5.0/metadata/extending-mysql.idmap \
 	../refman-5.0/metadata/faqs.idmap \
 	../refman-5.0/metadata/functions-core.idmap \
-	../refman-5.0/metadata/installing-cs-core.idmap \
+	../refman-5.0/metadata/installing-core.idmap \
 	../refman-5.0/metadata/internationalization.idmap \
 	../refman-5.0/metadata/introduction.idmap \
 	../refman-5.0/metadata/language-structure-core.idmap \

@@ -544,7 +544,7 @@
 	../refman-5.0/metadata/errors-problems.idmap \
 	../refman-5.0/metadata/extending-mysql.idmap \
 	../refman-5.0/metadata/functions-core.idmap \
-	../refman-5.0/metadata/installing-cs-core.idmap \
+	../refman-5.0/metadata/installing-core.idmap \
 	../refman-5.0/metadata/internationalization.idmap \
 	../refman-5.0/metadata/language-structure-core.idmap \
 	../refman-5.0/metadata/optimization.idmap \

@@ -564,10 +564,9 @@
 dynxml-local-functions-manprepped.xml: $(dynxml_local_functions_SOURCES)
$(dynxml_local_functions_IDMAPS)
 dynxml-local-functions-remprepped.xml: $(dynxml_local_functions_SOURCES)
$(dynxml_local_functions_IDMAPS)
 dynxml-local-functions.xml: $(dynxml_local_functions_INCLUDES)
-dynxml_local_installing_cs_INCLUDES = \
+dynxml_local_installing_INCLUDES = \
 	../common/fixedchars.ent \
 	../common/phrases.ent \
-	../dynamic-docs/build-configure/mysqld.xml \
 	../refman-common/urls.ent \
 	all-entities.ent \
 	images/published/mysql-cfg-fig1.png \

@@ -584,9 +583,11 @@
 	images/published/mysql-es-win32-fig2.png \
 	images/published/mysql-es-win32-fig3.png \
 	images/published/mysql-es-win32-fig4.png \
-	installing-cs-core.xml \
+	installing-cs.xml \
+	installing-es.xml \
+	installing-version.xml \
 	versions.ent
-dynxml_local_installing_cs_IMAGES = \
+dynxml_local_installing_IMAGES = \
 	images/published/mysql-cfg-fig1.png \
 	images/published/mysql-cfg-fig10.png \
 	images/published/mysql-cfg-fig2.png \

@@ -601,8 +602,8 @@
 	images/published/mysql-es-win32-fig2.png \
 	images/published/mysql-es-win32-fig3.png \
 	images/published/mysql-es-win32-fig4.png
-dynxml_local_installing_cs_SOURCES = dynxml-local-installing-cs.xml
$(dynxml_local_installing_cs_INCLUDES)
-dynxml_local_installing_cs_IDMAPS = \
+dynxml_local_installing_SOURCES = dynxml-local-installing.xml
$(dynxml_local_installing_INCLUDES)
+dynxml_local_installing_IDMAPS = \
 	../refman-5.0/metadata/apis-c.idmap \
 	../refman-5.0/metadata/backup.idmap \
 	../refman-5.0/metadata/connectors-apis.idmap \

@@ -610,8 +611,11 @@
 	../refman-5.0/metadata/dba-core.idmap \
 	../refman-5.0/metadata/errors-problems.idmap \
 	../refman-5.0/metadata/extending-mysql.idmap \
+	../refman-5.0/metadata/faqs.idmap \
 	../refman-5.0/metadata/functions-core.idmap \
+	../refman-5.0/metadata/installing-core.idmap \
 	../refman-5.0/metadata/installing-cs-core.idmap \
+	../refman-5.0/metadata/installing-es.idmap \
 	../refman-5.0/metadata/internationalization.idmap \
 	../refman-5.0/metadata/introduction.idmap \
 	../refman-5.0/metadata/language-structure-core.idmap \

@@ -626,6 +630,7 @@
 	../refman-5.0/metadata/programs-installation.idmap \
 	../refman-5.0/metadata/programs-server-core.idmap \
 	../refman-5.0/metadata/programs-using.idmap \
+	../refman-5.0/metadata/releasenotes-es.idmap \
 	../refman-5.0/metadata/replication-notes.idmap \
 	../refman-5.0/metadata/restrictions.idmap \
 	../refman-5.0/metadata/se-bdb-core.idmap \

@@ -639,15 +644,15 @@
 	../refman-5.0/metadata/stored-programs-views.idmap \
 	../refman-common/metadata/bug-reports.idmap \
 	../refman-common/metadata/information-sources.idmap
-dynxml-local-installing-cs.validpure: $(dynxml_local_installing_cs_SOURCES)
-dynxml-local-installing-cs.titles: $(dynxml_local_installing_cs_SOURCES)
-dynxml-local-installing-cs.useless: $(dynxml_local_installing_cs_SOURCES)
-dynxml-local-installing-cs.valid: $(dynxml_local_installing_cs_SOURCES)
$(dynxml_local_installing_cs_IDMAPS)
-dynxml-local-installing-cs.validwarn: $(dynxml_local_installing_cs_SOURCES)
$(dynxml_local_installing_cs_IDMAPS)
-dynxml-local-installing-cs-prepped.xml: $(dynxml_local_installing_cs_SOURCES)
$(dynxml_local_installing_cs_IDMAPS)
-dynxml-local-installing-cs-manprepped.xml: $(dynxml_local_installing_cs_SOURCES)
$(dynxml_local_installing_cs_IDMAPS)
-dynxml-local-installing-cs-remprepped.xml: $(dynxml_local_installing_cs_SOURCES)
$(dynxml_local_installing_cs_IDMAPS)
-dynxml-local-installing-cs.xml: $(dynxml_local_installing_cs_INCLUDES)
+dynxml-local-installing.validpure: $(dynxml_local_installing_SOURCES)
+dynxml-local-installing.titles: $(dynxml_local_installing_SOURCES)
+dynxml-local-installing.useless: $(dynxml_local_installing_SOURCES)
+dynxml-local-installing.valid: $(dynxml_local_installing_SOURCES)
$(dynxml_local_installing_IDMAPS)
+dynxml-local-installing.validwarn: $(dynxml_local_installing_SOURCES)
$(dynxml_local_installing_IDMAPS)
+dynxml-local-installing-prepped.xml: $(dynxml_local_installing_SOURCES)
$(dynxml_local_installing_IDMAPS)
+dynxml-local-installing-manprepped.xml: $(dynxml_local_installing_SOURCES)
$(dynxml_local_installing_IDMAPS)
+dynxml-local-installing-remprepped.xml: $(dynxml_local_installing_SOURCES)
$(dynxml_local_installing_IDMAPS)
+dynxml-local-installing.xml: $(dynxml_local_installing_INCLUDES)
 dynxml_local_language_structure_INCLUDES = \
 	../common/fixedchars.ent \
 	../common/phrases.ent \

@@ -773,7 +778,7 @@
 	../refman-5.0/metadata/extending-mysql.idmap \
 	../refman-5.0/metadata/functions-core.idmap \
 	../refman-5.0/metadata/information-schema.idmap \
-	../refman-5.0/metadata/installing-cs-core.idmap \
+	../refman-5.0/metadata/installing-core.idmap \
 	../refman-5.0/metadata/internationalization.idmap \
 	../refman-5.0/metadata/mysql-cluster-process-management.idmap \
 	../refman-5.0/metadata/news-5.0-core.idmap \

@@ -827,7 +832,7 @@
 	../refman-5.0/metadata/backup.idmap \
 	../refman-5.0/metadata/dba-core.idmap \
 	../refman-5.0/metadata/information-schema.idmap \
-	../refman-5.0/metadata/installing-cs-core.idmap \
+	../refman-5.0/metadata/installing-core.idmap \
 	../refman-5.0/metadata/internationalization.idmap \
 	../refman-5.0/metadata/optimization.idmap \
 	../refman-5.0/metadata/programs-admin-util-core.idmap \

@@ -893,8 +898,7 @@
 dynxml_local_programs_server_SOURCES = dynxml-local-programs-server.xml
$(dynxml_local_programs_server_INCLUDES)
 dynxml_local_programs_server_IDMAPS = \
 	../refman-5.0/metadata/dba-core.idmap \
-	../refman-5.0/metadata/installing-cs-core.idmap \
-	../refman-5.0/metadata/installing-outline.idmap \
+	../refman-5.0/metadata/installing-core.idmap \
 	../refman-5.0/metadata/programs-admin-util-core.idmap \
 	../refman-5.0/metadata/programs-server-core.idmap \
 	../refman-5.0/metadata/programs-using.idmap

@@ -923,7 +927,7 @@
 	../ndbapi/metadata/mgm-api.idmap \
 	../refman-5.0/metadata/dba-core.idmap \
 	../refman-5.0/metadata/information-schema.idmap \
-	../refman-5.0/metadata/installing-cs-core.idmap \
+	../refman-5.0/metadata/installing-core.idmap \
 	../refman-5.0/metadata/internationalization.idmap \
 	../refman-5.0/metadata/mysql-cluster-configuration.idmap \
 	../refman-5.0/metadata/mysql-cluster-interconnects.idmap \

@@ -957,7 +961,7 @@
 dynxml_local_releasenotes_es_5_0_IDMAPS = \
 	../ndbapi/metadata/mgm-api.idmap \
 	../refman-5.0/metadata/dba-core.idmap \
-	../refman-5.0/metadata/installing-cs-core.idmap \
+	../refman-5.0/metadata/installing-core.idmap \
 	../refman-5.0/metadata/internationalization.idmap \
 	../refman-5.0/metadata/mysql-cluster-backup.idmap \
 	../refman-5.0/metadata/mysql-cluster-configuration.idmap \

@@ -990,7 +994,7 @@
 dynxml_local_se_bdb_IDMAPS = \
 	../refman-5.0/metadata/backup.idmap \
 	../refman-5.0/metadata/dba-core.idmap \
-	../refman-5.0/metadata/installing-cs-core.idmap \
+	../refman-5.0/metadata/installing-core.idmap \
 	../refman-5.0/metadata/se-bdb-core.idmap \
 	../refman-5.0/metadata/sql-syntax-server-administration.idmap \
 	../refman-5.0/metadata/sql-syntax-transactions.idmap

@@ -1018,7 +1022,7 @@
 	../refman-5.0/metadata/data-types.idmap \
 	../refman-5.0/metadata/dba-core.idmap \
 	../refman-5.0/metadata/errors-problems.idmap \
-	../refman-5.0/metadata/installing-cs-core.idmap \
+	../refman-5.0/metadata/installing-core.idmap \
 	../refman-5.0/metadata/news-5.0-core.idmap \
 	../refman-5.0/metadata/programs-using.idmap \
 	../refman-5.0/metadata/se-innodb-core.idmap \

@@ -1049,7 +1053,7 @@
 	../refman-5.0/metadata/backup.idmap \
 	../refman-5.0/metadata/dba-core.idmap \
 	../refman-5.0/metadata/errors-problems.idmap \
-	../refman-5.0/metadata/installing-cs-core.idmap \
+	../refman-5.0/metadata/installing-core.idmap \
 	../refman-5.0/metadata/internationalization.idmap \
 	../refman-5.0/metadata/optimization.idmap \
 	../refman-5.0/metadata/programs-admin-util-core.idmap \

@@ -1105,6 +1109,7 @@
 	../refman-5.0/metadata/dba-core.idmap \
 	../refman-5.0/metadata/errors-problems.idmap \
 	../refman-5.0/metadata/extending-mysql.idmap \
+	../refman-5.0/metadata/installing-core.idmap \
 	../refman-5.0/metadata/installing-cs-core.idmap \
 	../refman-5.0/metadata/internationalization.idmap \
 	../refman-5.0/metadata/mysql-cluster-configuration.idmap \

@@ -1140,6 +1145,7 @@
 	../refman-5.0/metadata/dba-core.idmap \
 	../refman-5.0/metadata/errors-problems.idmap \
 	../refman-5.0/metadata/extending-mysql.idmap \
+	../refman-5.0/metadata/installing-core.idmap \
 	../refman-5.0/metadata/installing-cs-core.idmap \
 	../refman-5.0/metadata/language-structure-core.idmap \
 	../refman-5.0/metadata/optimization.idmap \

@@ -1178,7 +1184,7 @@
 	../refman-5.0/metadata/extending-mysql.idmap \
 	../refman-5.0/metadata/faqs.idmap \
 	../refman-5.0/metadata/information-schema.idmap \
-	../refman-5.0/metadata/installing-cs-core.idmap \
+	../refman-5.0/metadata/installing-core.idmap \
 	../refman-5.0/metadata/internationalization.idmap \
 	../refman-5.0/metadata/mysql-cluster-configuration.idmap \
 	../refman-5.0/metadata/mysql-cluster-interconnects.idmap \

@@ -1265,31 +1271,40 @@
 information-schema-manprepped.xml: $(information_schema_SOURCES)
$(information_schema_IDMAPS)
 information-schema-remprepped.xml: $(information_schema_SOURCES)
$(information_schema_IDMAPS)
 
-installing_cs_core_INCLUDES =
-installing_cs_core_IMAGES =
-installing_cs_core_SOURCES = installing-cs-core.xml $(installing_cs_core_INCLUDES)
-installing_cs_core_IDMAPS =
-installing-cs-core.validpure: $(installing_cs_core_SOURCES)
-installing-cs-core.titles: $(installing_cs_core_SOURCES)
-installing-cs-core.useless: $(installing_cs_core_SOURCES)
-installing-cs-core.valid: $(installing_cs_core_SOURCES) $(installing_cs_core_IDMAPS)
-installing-cs-core.validwarn: $(installing_cs_core_SOURCES) $(installing_cs_core_IDMAPS)
-installing-cs-core-prepped.xml: $(installing_cs_core_SOURCES)
$(installing_cs_core_IDMAPS)
-installing-cs-core-manprepped.xml: $(installing_cs_core_SOURCES)
$(installing_cs_core_IDMAPS)
-installing-cs-core-remprepped.xml: $(installing_cs_core_SOURCES)
$(installing_cs_core_IDMAPS)
+installing_cs_INCLUDES = \
+	../common/fixedchars.ent \
+	../common/phrases.ent \
+	../refman-common/urls.ent \
+	all-entities.ent \
+	versions.ent
+installing_cs_IMAGES =
+installing_cs_SOURCES = installing-cs.xml $(installing_cs_INCLUDES)
+installing_cs_IDMAPS = \
+	../refman-5.0/metadata/extending-mysql.idmap \
+	../refman-5.0/metadata/installing-core.idmap \
+	../refman-5.0/metadata/installing-cs-core.idmap \
+	../refman-5.0/metadata/news.idmap \
+	../refman-5.0/metadata/optimization.idmap \
+	../refman-common/metadata/information-sources.idmap
+installing-cs.validpure: $(installing_cs_SOURCES)
+installing-cs.titles: $(installing_cs_SOURCES)
+installing-cs.useless: $(installing_cs_SOURCES)
+installing-cs.valid: $(installing_cs_SOURCES) $(installing_cs_IDMAPS)
+installing-cs.validwarn: $(installing_cs_SOURCES) $(installing_cs_IDMAPS)
+installing-cs-prepped.xml: $(installing_cs_SOURCES) $(installing_cs_IDMAPS)
+installing-cs-manprepped.xml: $(installing_cs_SOURCES) $(installing_cs_IDMAPS)
+installing-cs-remprepped.xml: $(installing_cs_SOURCES) $(installing_cs_IDMAPS)
 
 installing_es_INCLUDES = \
 	../common/fixedchars.ent \
 	../common/phrases.ent \
 	../refman-common/urls.ent \
 	all-entities.ent \
-	images/published/mysql-esi-win32-uninst.png \
 	versions.ent
-installing_es_IMAGES = \
-	images/published/mysql-esi-win32-uninst.png
+installing_es_IMAGES =
 installing_es_SOURCES = installing-es.xml $(installing_es_INCLUDES)
 installing_es_IDMAPS = \
-	../refman-5.0/metadata/installing-cs-core.idmap \
+	../refman-5.0/metadata/installing-core.idmap \
 	../refman-5.0/metadata/news.idmap \
 	../refman-5.0/metadata/releasenotes-es.idmap
 installing-es.validpure: $(installing_es_SOURCES)

@@ -1320,98 +1335,6 @@
 installing-version-manprepped.xml: $(installing_version_SOURCES)
$(installing_version_IDMAPS)
 installing-version-remprepped.xml: $(installing_version_SOURCES)
$(installing_version_IDMAPS)
 
-installing_INCLUDES = \
-	../common/fixedchars.ent \
-	../common/phrases.ent \
-	../dynamic-docs/build-configure/mysqld.xml \
-	../refman-common/urls.ent \
-	all-entities.ent \
-	dynxml-local-installing-cs.xml \
-	images/published/mysql-cfg-fig1.png \
-	images/published/mysql-cfg-fig10.png \
-	images/published/mysql-cfg-fig2.png \
-	images/published/mysql-cfg-fig3.png \
-	images/published/mysql-cfg-fig4.png \
-	images/published/mysql-cfg-fig5.png \
-	images/published/mysql-cfg-fig6.png \
-	images/published/mysql-cfg-fig7.png \
-	images/published/mysql-cfg-fig8.png \
-	images/published/mysql-cfg-fig9.png \
-	images/published/mysql-es-win32-fig1.png \
-	images/published/mysql-es-win32-fig2.png \
-	images/published/mysql-es-win32-fig3.png \
-	images/published/mysql-es-win32-fig4.png \
-	images/published/mysql-esi-win32-uninst.png \
-	installing-cs-core.xml \
-	installing-es.xml \
-	installing-version.xml \
-	versions.ent
-installing_IMAGES = \
-	images/published/mysql-cfg-fig1.png \
-	images/published/mysql-cfg-fig10.png \
-	images/published/mysql-cfg-fig2.png \
-	images/published/mysql-cfg-fig3.png \
-	images/published/mysql-cfg-fig4.png \
-	images/published/mysql-cfg-fig5.png \
-	images/published/mysql-cfg-fig6.png \
-	images/published/mysql-cfg-fig7.png \
-	images/published/mysql-cfg-fig8.png \
-	images/published/mysql-cfg-fig9.png \
-	images/published/mysql-es-win32-fig1.png \
-	images/published/mysql-es-win32-fig2.png \
-	images/published/mysql-es-win32-fig3.png \
-	images/published/mysql-es-win32-fig4.png \
-	images/published/mysql-esi-win32-uninst.png
-installing_SOURCES = installing.xml $(installing_INCLUDES)
-installing_IDMAPS = \
-	../refman-5.0/metadata/apis-c.idmap \
-	../refman-5.0/metadata/backup.idmap \
-	../refman-5.0/metadata/connectors-apis.idmap \
-	../refman-5.0/metadata/data-types.idmap \
-	../refman-5.0/metadata/dba-core.idmap \
-	../refman-5.0/metadata/errors-problems.idmap \
-	../refman-5.0/metadata/extending-mysql.idmap \
-	../refman-5.0/metadata/faqs.idmap \
-	../refman-5.0/metadata/functions-core.idmap \
-	../refman-5.0/metadata/installing-cs-core.idmap \
-	../refman-5.0/metadata/installing-es.idmap \
-	../refman-5.0/metadata/internationalization.idmap \
-	../refman-5.0/metadata/introduction.idmap \
-	../refman-5.0/metadata/language-structure-core.idmap \
-	../refman-5.0/metadata/mysql-cluster-configuration.idmap \
-	../refman-5.0/metadata/mysql-cluster-utilities.idmap \
-	../refman-5.0/metadata/news-5.0-core.idmap \
-	../refman-5.0/metadata/news.idmap \
-	../refman-5.0/metadata/optimization.idmap \
-	../refman-5.0/metadata/precision-math.idmap \
-	../refman-5.0/metadata/programs-admin-util-core.idmap \
-	../refman-5.0/metadata/programs-client-core.idmap \
-	../refman-5.0/metadata/programs-installation.idmap \
-	../refman-5.0/metadata/programs-server-core.idmap \
-	../refman-5.0/metadata/programs-using.idmap \
-	../refman-5.0/metadata/releasenotes-es.idmap \
-	../refman-5.0/metadata/replication-notes.idmap \
-	../refman-5.0/metadata/restrictions.idmap \
-	../refman-5.0/metadata/se-bdb-core.idmap \
-	../refman-5.0/metadata/se-innodb-core.idmap \
-	../refman-5.0/metadata/se-myisam-core.idmap \
-	../refman-5.0/metadata/sql-syntax-compound-statements.idmap \
-	../refman-5.0/metadata/sql-syntax-data-definition.idmap \
-	../refman-5.0/metadata/sql-syntax-data-manipulation.idmap \
-	../refman-5.0/metadata/sql-syntax-replication.idmap \
-	../refman-5.0/metadata/sql-syntax-server-administration.idmap \
-	../refman-5.0/metadata/stored-programs-views.idmap \
-	../refman-common/metadata/bug-reports.idmap \
-	../refman-common/metadata/information-sources.idmap
-installing.validpure: $(installing_SOURCES)
-installing.titles: $(installing_SOURCES)
-installing.useless: $(installing_SOURCES)
-installing.valid: $(installing_SOURCES) $(installing_IDMAPS)
-installing.validwarn: $(installing_SOURCES) $(installing_IDMAPS)
-installing-prepped.xml: $(installing_SOURCES) $(installing_IDMAPS)
-installing-manprepped.xml: $(installing_SOURCES) $(installing_IDMAPS)
-installing-remprepped.xml: $(installing_SOURCES) $(installing_IDMAPS)
-
 internationalization_INCLUDES = \
 	../common/fixedchars.ent \
 	../common/phrases.ent \

@@ -1426,7 +1349,7 @@
 	../refman-5.0/metadata/faqs.idmap \
 	../refman-5.0/metadata/functions-core.idmap \
 	../refman-5.0/metadata/information-schema.idmap \
-	../refman-5.0/metadata/installing-cs-core.idmap \
+	../refman-5.0/metadata/installing-core.idmap \
 	../refman-5.0/metadata/internationalization.idmap \
 	../refman-5.0/metadata/programs-installation.idmap \
 	../refman-5.0/metadata/replication-notes.idmap \

@@ -1464,8 +1387,8 @@
 	../refman-5.0/metadata/faqs.idmap \
 	../refman-5.0/metadata/functions-core.idmap \
 	../refman-5.0/metadata/information-schema.idmap \
+	../refman-5.0/metadata/installing-core.idmap \
 	../refman-5.0/metadata/installing-cs-core.idmap \
-	../refman-5.0/metadata/installing-outline.idmap \
 	../refman-5.0/metadata/internationalization.idmap \
 	../refman-5.0/metadata/introduction.idmap \
 	../refman-5.0/metadata/language-structure-core.idmap \

@@ -1533,7 +1456,6 @@
 manual_INCLUDES = \
 	../common/fixedchars.ent \
 	../common/phrases.ent \
-	../dynamic-docs/build-configure/mysqld.xml \
 	../dynamic-docs/changelog/connector-j-versions.xml \
 	../dynamic-docs/changelog/connector-j.xml \
 	../dynamic-docs/changelog/connector-mxj-versions.xml \

@@ -1750,7 +1672,7 @@
 	dynxml-common-news-vstudioplugin.xml \
 	dynxml-local-dba.xml \
 	dynxml-local-functions.xml \
-	dynxml-local-installing-cs.xml \
+	dynxml-local-installing.xml \
 	dynxml-local-language-structure.xml \
 	dynxml-local-mysql-cluster-optvar.xml \
 	dynxml-local-news-5.0.xml \

@@ -1782,12 +1704,10 @@
 	images/published/mysql-es-win32-fig2.png \
 	images/published/mysql-es-win32-fig3.png \
 	images/published/mysql-es-win32-fig4.png \
-	images/published/mysql-esi-win32-uninst.png \
 	information-schema.xml \
-	installing-cs-core.xml \
+	installing-cs.xml \
 	installing-es.xml \
 	installing-version.xml \
-	installing.xml \
 	internationalization.xml \
 	introduction.xml \
 	language-structure-core.xml \

@@ -1948,8 +1868,7 @@
 	images/published/mysql-es-win32-fig1.png \
 	images/published/mysql-es-win32-fig2.png \
 	images/published/mysql-es-win32-fig3.png \
-	images/published/mysql-es-win32-fig4.png \
-	images/published/mysql-esi-win32-uninst.png
+	images/published/mysql-es-win32-fig4.png
 manual_SOURCES = manual.xml $(manual_INCLUDES)
 manual_IDMAPS = \
 	../ndbapi/metadata/mgm-api.idmap \

@@ -1969,9 +1888,9 @@
 	../refman-5.0/metadata/faqs.idmap \
 	../refman-5.0/metadata/functions-core.idmap \
 	../refman-5.0/metadata/information-schema.idmap \
+	../refman-5.0/metadata/installing-core.idmap \
 	../refman-5.0/metadata/installing-cs-core.idmap \
 	../refman-5.0/metadata/installing-es.idmap \
-	../refman-5.0/metadata/installing-outline.idmap \
 	../refman-5.0/metadata/installing-version.idmap \
 	../refman-5.0/metadata/internationalization.idmap \
 	../refman-5.0/metadata/introduction.idmap \

@@ -2084,8 +2003,7 @@
 mysql_cluster_configuration_SOURCES = mysql-cluster-configuration.xml
$(mysql_cluster_configuration_INCLUDES)
 mysql_cluster_configuration_IDMAPS = \
 	../refman-5.0/metadata/dba-core.idmap \
-	../refman-5.0/metadata/installing-cs-core.idmap \
-	../refman-5.0/metadata/installing-outline.idmap \
+	../refman-5.0/metadata/installing-core.idmap \
 	../refman-5.0/metadata/mysql-cluster-backup.idmap \
 	../refman-5.0/metadata/mysql-cluster-configuration.idmap \
 	../refman-5.0/metadata/mysql-cluster-interconnects.idmap \

@@ -2208,7 +2126,7 @@
 	../refman-common/images/published/multi-comp-1.png
 mysql_cluster_multi_computer_SOURCES = mysql-cluster-multi-computer.xml
$(mysql_cluster_multi_computer_INCLUDES)
 mysql_cluster_multi_computer_IDMAPS = \
-	../refman-5.0/metadata/installing-cs-core.idmap \
+	../refman-5.0/metadata/installing-core.idmap \
 	../refman-5.0/metadata/mysql-cluster-backup.idmap \
 	../refman-5.0/metadata/mysql-cluster-configuration.idmap \
 	../refman-5.0/metadata/mysql-cluster-interconnects.idmap \

@@ -2355,7 +2273,7 @@
 	../refman-common/images/published/rolling-restarts.png
 mysql_cluster_upgrade_downgrade_SOURCES = mysql-cluster-upgrade-downgrade.xml
$(mysql_cluster_upgrade_downgrade_INCLUDES)
 mysql_cluster_upgrade_downgrade_IDMAPS = \
-	../refman-5.0/metadata/installing-cs-core.idmap \
+	../refman-5.0/metadata/installing-core.idmap \
 	../refman-5.0/metadata/mysql-cluster-configuration.idmap \
 	../refman-5.0/metadata/mysql-cluster-upgrade-downgrade.idmap
 mysql-cluster-upgrade-downgrade.validpure: $(mysql_cluster_upgrade_downgrade_SOURCES)

@@ -2380,7 +2298,7 @@
 mysql_cluster_utilities_IDMAPS = \
 	../ndbapi/metadata/ndb-internals.idmap \
 	../ndbapi/metadata/ndbapi.idmap \
-	../refman-5.0/metadata/installing-cs-core.idmap \
+	../refman-5.0/metadata/installing-core.idmap \
 	../refman-5.0/metadata/mysql-cluster-backup.idmap \
 	../refman-5.0/metadata/mysql-cluster-configuration.idmap \
 	../refman-5.0/metadata/mysql-cluster-glossary.idmap \

@@ -2448,8 +2366,7 @@
 	../ndbapi/metadata/ndbapi.idmap \
 	../refman-5.0/metadata/dba-core.idmap \
 	../refman-5.0/metadata/faqs.idmap \
-	../refman-5.0/metadata/installing-cs-core.idmap \
-	../refman-5.0/metadata/installing-outline.idmap \
+	../refman-5.0/metadata/installing-core.idmap \
 	../refman-5.0/metadata/mysql-cluster-backup.idmap \
 	../refman-5.0/metadata/mysql-cluster-configuration.idmap \
 	../refman-5.0/metadata/mysql-cluster-glossary.idmap \

@@ -2540,7 +2457,7 @@
 	../refman-5.0/metadata/extending-mysql.idmap \
 	../refman-5.0/metadata/functions-core.idmap \
 	../refman-5.0/metadata/information-schema.idmap \
-	../refman-5.0/metadata/installing-cs-core.idmap \
+	../refman-5.0/metadata/installing-core.idmap \
 	../refman-5.0/metadata/internationalization.idmap \
 	../refman-5.0/metadata/mysql-cluster-process-management.idmap \
 	../refman-5.0/metadata/news-5.0-core.idmap \

@@ -2592,7 +2509,7 @@
 	../refman-5.0/metadata/errors-problems.idmap \
 	../refman-5.0/metadata/extending-mysql.idmap \
 	../refman-5.0/metadata/functions-core.idmap \
-	../refman-5.0/metadata/installing-cs-core.idmap \
+	../refman-5.0/metadata/installing-core.idmap \
 	../refman-5.0/metadata/introduction.idmap \
 	../refman-5.0/metadata/language-structure-core.idmap \
 	../refman-5.0/metadata/optimization.idmap \

@@ -2711,7 +2628,7 @@
 programs_installation_IMAGES =
 programs_installation_SOURCES = programs-installation.xml
$(programs_installation_INCLUDES)
 programs_installation_IDMAPS = \
-	../refman-5.0/metadata/installing-cs-core.idmap \
+	../refman-5.0/metadata/installing-core.idmap \
 	../refman-5.0/metadata/internationalization.idmap \
 	../refman-5.0/metadata/programs-installation.idmap \
 	../refman-5.0/metadata/sql-syntax-server-administration.idmap

@@ -2753,7 +2670,7 @@
 programs_using_SOURCES = programs-using.xml $(programs_using_INCLUDES)
 programs_using_IDMAPS = \
 	../refman-5.0/metadata/dba-core.idmap \
-	../refman-5.0/metadata/installing-cs-core.idmap \
+	../refman-5.0/metadata/installing-core.idmap \
 	../refman-5.0/metadata/mysql-cluster-configuration.idmap \
 	../refman-5.0/metadata/mysql-cluster-multi-computer.idmap \
 	../refman-5.0/metadata/programs-using.idmap \

@@ -2801,8 +2718,7 @@
 	../refman-5.0/metadata/backup.idmap \
 	../refman-5.0/metadata/dba-core.idmap \
 	../refman-5.0/metadata/information-schema.idmap \
-	../refman-5.0/metadata/installing-cs-core.idmap \
-	../refman-5.0/metadata/installing-outline.idmap \
+	../refman-5.0/metadata/installing-core.idmap \
 	../refman-5.0/metadata/internationalization.idmap \
 	../refman-5.0/metadata/mysql-cluster-configuration.idmap \
 	../refman-5.0/metadata/mysql-cluster-multi-computer.idmap \

@@ -2861,7 +2777,7 @@
 	../ndbapi/metadata/mgm-api.idmap \
 	../refman-5.0/metadata/dba-core.idmap \
 	../refman-5.0/metadata/information-schema.idmap \
-	../refman-5.0/metadata/installing-cs-core.idmap \
+	../refman-5.0/metadata/installing-core.idmap \
 	../refman-5.0/metadata/installing-version.idmap \
 	../refman-5.0/metadata/internationalization.idmap \
 	../refman-5.0/metadata/mysql-cluster-configuration.idmap \

@@ -2910,7 +2826,7 @@
 releasenotes_es_IDMAPS = \
 	../ndbapi/metadata/mgm-api.idmap \
 	../refman-5.0/metadata/dba-core.idmap \
-	../refman-5.0/metadata/installing-cs-core.idmap \
+	../refman-5.0/metadata/installing-core.idmap \
 	../refman-5.0/metadata/installing-version.idmap \
 	../refman-5.0/metadata/internationalization.idmap \
 	../refman-5.0/metadata/mysql-cluster-backup.idmap \

@@ -3265,7 +3181,7 @@
 se_merge_IMAGES =
 se_merge_SOURCES = se-merge.xml $(se_merge_INCLUDES)
 se_merge_IDMAPS = \
-	../refman-5.0/metadata/installing-cs-core.idmap \
+	../refman-5.0/metadata/installing-core.idmap \
 	../refman-5.0/metadata/programs-admin-util-core.idmap \
 	../refman-5.0/metadata/sql-syntax-utility.idmap
 se-merge.validpure: $(se_merge_SOURCES)

@@ -3352,7 +3268,7 @@
 	../refman-5.0/metadata/errors-problems.idmap \
 	../refman-5.0/metadata/extending-mysql.idmap \
 	../refman-5.0/metadata/functions-core.idmap \
-	../refman-5.0/metadata/installing-cs-core.idmap \
+	../refman-5.0/metadata/installing-core.idmap \
 	../refman-5.0/metadata/internationalization.idmap \
 	../refman-5.0/metadata/introduction.idmap \
 	../refman-5.0/metadata/language-structure-core.idmap \

@@ -3628,7 +3544,7 @@
 	../refman-5.0/metadata/dba-core.idmap \
 	../refman-5.0/metadata/errors-problems.idmap \
 	../refman-5.0/metadata/faqs.idmap \
-	../refman-5.0/metadata/installing-cs-core.idmap \
+	../refman-5.0/metadata/installing-core.idmap \
 	../refman-5.0/metadata/internationalization.idmap \
 	../refman-5.0/metadata/mysql-cluster.idmap \
 	../refman-5.0/metadata/news-5.0-core.idmap \

@@ -3758,7 +3674,7 @@
 	../refman-5.0/metadata/dba-core.idmap \
 	../refman-5.0/metadata/errors-problems.idmap \
 	../refman-5.0/metadata/functions-core.idmap \
-	../refman-5.0/metadata/installing-outline.idmap \
+	../refman-5.0/metadata/installing-core.idmap \
 	../refman-5.0/metadata/introduction.idmap \
 	../refman-5.0/metadata/language-structure-core.idmap \
 	../refman-5.0/metadata/optimization.idmap \

Copied: trunk/refman-5.0/installing-core.xml (from rev 11934,
trunk/refman-5.0/installing.xml)
===================================================================
--- trunk/refman-5.0/installing-core.xml	                        (rev 0)
+++ trunk/refman-5.0/installing-core.xml	2008-10-01 17:16:08 UTC (rev 11936)

@@ -0,0 +1,18161 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+<!ENTITY % all.entities SYSTEM "all-entities.ent">
+  %all.entities;
+]>
+<chapter id="installing">
+
+  <title>Installing and Upgrading MySQL</title>
+
+  <indexterm>
+    <primary>installing</primary>
+    <secondary>overview</secondary>
+  </indexterm>
+
+  <section id="installation-overview">
+
+    <title>MySQL Installation Overview</title>
+
+    <indexterm>
+      <primary>installing</primary>
+      <secondary>overview</secondary>
+    </indexterm>
+
+    <para>
+      This chapter describes how to obtain and install MySQL. You can
+      choose to install MySQL Enterprise or MySQL Community Server:
+    </para>
+
+    <itemizedlist>
+
+      <listitem>
+        <para>
+          MySQL Enterprise is MySQL AB's commercial offering for modern
+          enterprise businesses. It includes MySQL Enterprise Server and
+          the services provided by MySQL Network. To install MySQL
+          Enterprise, see <xref linkend="installing-es"/>.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          MySQL Community Server is for users who are comfortable
+          configuring and administering MySQL by themselves. To install
+          MySQL Community Server, see <xref linkend="installing-cs"/>.
+        </para>
+      </listitem>
+
+    </itemizedlist>
+
+    <para>
+      If you plan to upgrade an existing version of MySQL to a newer
+      version rather than install MySQL for the first time, see
+      <xref linkend="upgrade"/>, for information about upgrade
+      procedures and about issues that you should consider before
+      upgrading.
+    </para>
+
+    <para>
+      If you are interested in migrating to MySQL from another database
+      system, you may wish to read <xref linkend="faqs-migration"/>,
+      which contains answers to some common questions concerning
+      migration issues.
+    </para>
+
+  </section>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="installing-version.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="installing-es.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="installing-cs.xml"/>
+
+  <section id="getting-mysql" role="cs">
+
+    <title>How to Get MySQL</title>
+
+    <indexterm>
+      <primary>downloading</primary>
+    </indexterm>
+
+    <indexterm>
+      <primary>MySQL version</primary>
+    </indexterm>
+
+    <indexterm>
+      <primary>version</primary>
+      <secondary>latest</secondary>
+    </indexterm>
+
+    <indexterm>
+      <primary>getting MySQL</primary>
+    </indexterm>
+
+    <indexterm>
+      <primary>mirror sites</primary>
+    </indexterm>
+
+    <indexterm>
+      <primary>URLs for downloading MySQL</primary>
+    </indexterm>
+
+    <para>
+      Check our downloads page at <ulink url="&base-url-downloads;"/>
+      for information about the current version of MySQL and for
+      downloading instructions. For a complete up-to-date list of MySQL
+      download mirror sites, see
+      <ulink url="&base-url-downloads;mirrors.html"/>. You can also find
+      information there about becoming a MySQL mirror site and how to
+      report a bad or out-of-date mirror.
+    </para>
+
+    <para>
+      Our main mirror is located at
+      <ulink url="http://mirrors.sunsite.dk/mysql/"/>.
+    </para>
+
+  </section>
+
+  <section id="verifying-package-integrity" role="cs">
+
+    <title>Verifying Package Integrity Using MD5 Checksums or
+      <literal>GnuPG</literal></title>
+
+    <para>
+      After you have downloaded the MySQL package that suits your needs
+      and before you attempt to install it, you should make sure that it
+      is intact and has not been tampered with. MySQL AB offers three
+      means of integrity checking:
+    </para>
+
+    <itemizedlist>
+
+      <listitem>
+        <para>
+          MD5 checksums
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          Cryptographic signatures using <literal>GnuPG</literal>, the
+          GNU Privacy Guard
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          For RPM packages, the built-in RPM integrity verification
+          mechanism
+        </para>
+      </listitem>
+
+    </itemizedlist>
+
+    <para>
+      The following sections describe how to use these methods.
+    </para>
+
+    <para>
+      If you notice that the MD5 checksum or GPG signatures do not
+      match, first try to download the respective package one more time,
+      perhaps from another mirror site. If you repeatedly cannot
+      successfully verify the integrity of the package, please notify us
+      about such incidents, including the full package name and the
+      download site you have been using, at
+      <email>webmaster@stripped</email> or
+      <email>build@stripped</email>. Do not report downloading problems
+      using the bug-reporting system.
+    </para>
+
+    <section id="verifying-md5-checksum" role="cs">
+
+      <title>Verifying the MD5 Checksum</title>
+
+      <para>
+        After you have downloaded a MySQL package, you should make sure
+        that its MD5 checksum matches the one provided on the MySQL
+        download pages. Each package has an individual checksum that you
+        can verify with the following command, where
+        <replaceable>package_name</replaceable> is the name of the
+        package you downloaded:
+      </para>
+
+<programlisting>
+shell&gt; <userinput>md5sum
<replaceable>package_name</replaceable></userinput>
+</programlisting>
+
+      <para>
+        Example:
+      </para>
+
+<programlisting>
+shell&gt; <userinput>md5sum
mysql-standard-&current-version;-linux-i686.tar.gz</userinput>
+aaab65abbec64d5e907dcd41b8699945  mysql-standard-&current-version;-linux-i686.tar.gz
+</programlisting>
+
+      <para>
+        You should verify that the resulting checksum (the string of
+        hexadecimal digits) matches the one displayed on the download
+        page immediately below the respective package.
+      </para>
+
+      <note>
+        <para>
+          Make sure to verify the checksum of the <emphasis>archive
+          file</emphasis> (for example, the <filename>.zip</filename>
or
+          <filename>.tar.gz</filename> file) and not of the files that
+          are contained inside of the archive.
+        </para>
+      </note>
+
+      <para>
+        Note that not all operating systems support the
+        <command>md5sum</command> command. On some, it is simply called
+        <command>md5</command>, and others do not ship it at all. On
+        Linux, it is part of the <emphasis role="bold">GNU Text
+        Utilities</emphasis> package, which is available for a wide
+        range of platforms. You can download the source code from
+        <ulink url="http://www.gnu.org/software/textutils/"/> as well.
+        If you have OpenSSL installed, you can use the command
+        <command>openssl md5
+        <replaceable>package_name</replaceable></command> instead. A
+        Windows implementation of the <command>md5</command> command
+        line utility is available from
+        <ulink url="http://www.fourmilab.ch/md5/"/>.
+        <command>winMd5Sum</command> is a graphical MD5 checking tool
+        that can be obtained from
+        <ulink url="http://www.nullriver.com/index/products/winmd5sum"/>.
+      </para>
+
+    </section>
+
+    <section id="checking-gpg-signature" role="cs">
+
+      <title>Signature Checking Using
<literal>GnuPG</literal></title>
+
+      <para>
+        Another method of verifying the integrity and authenticity of a
+        package is to use cryptographic signatures. This is more
+        reliable than using MD5 checksums, but requires more work.
+      </para>
+
+      <para>
+        At MySQL AB, we sign MySQL downloadable packages with
+        <command>GnuPG</command> (GNU Privacy Guard).
+        <command>GnuPG</command> is an Open Source alternative to the
+        well-known Pretty Good Privacy (<command>PGP</command>) by Phil
+        Zimmermann. See <ulink url="http://www.gnupg.org/"/> for more
+        information about <command>GnuPG</command> and how to obtain and
+        install it on your system. Most Linux distributions ship with
+        <command>GnuPG</command> installed by default. For more
+        information about <command>GnuPG</command>, see
+        <ulink url="http://www.openpgp.org/"/>.
+      </para>
+
+      <remark>
+        Do not use @email with the key name that comes out as
+        <literal>&lt;...&gt;</literal> in some output formats, which
are
+        not part of the key name.
+      </remark>
+
+      <para>
+        To verify the signature for a specific package, you first need
+        to obtain a copy of MySQL AB's public GPG build key, which you
+        can download from <ulink url="http://keyserver.pgp.com/"/>. The
+        key that you want to obtain is named
+        <literal>build@stripped</literal>. Alternatively, you can cut
+        and paste the key directly from the following text:
+      </para>
+
+<programlisting>
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1.0.6 (GNU/Linux)
+Comment: For info see http://www.gnupg.org
+
+mQGiBD4+owwRBAC14GIfUfCyEDSIePvEW3SAFUdJBtoQHH/nJKZyQT7h9bPlUWC3
+RODjQReyCITRrdwyrKUGku2FmeVGwn2u2WmDMNABLnpprWPkBdCk96+OmSLN9brZ
+fw2vOUgCmYv2hW0hyDHuvYlQA/BThQoADgj8AW6/0Lo7V1W9/8VuHP0gQwCgvzV3
+BqOxRznNCRCRxAuAuVztHRcEAJooQK1+iSiunZMYD1WufeXfshc57S/+yeJkegNW
+hxwR9pRWVArNYJdDRT+rf2RUe3vpquKNQU/hnEIUHJRQqYHo8gTxvxXNQc7fJYLV
+K2HtkrPbP72vwsEKMYhhr0eKCbtLGfls9krjJ6sBgACyP/Vb7hiPwxh6rDZ7ITnE
+kYpXBACmWpP8NJTkamEnPCia2ZoOHODANwpUkP43I7jsDmgtobZX9qnrAXw+uNDI
+QJEXM6FSbi0LLtZciNlYsafwAPEOMDKpMqAK6IyisNtPvaLd8lH0bPAnWqcyefep
+rv0sxxqUEMcM3o7wwgfN83POkDasDbs3pjwPhxvhz6//62zQJ7Q7TXlTUUwgUGFj
+a2FnZSBzaWduaW5nIGtleSAod3d3Lm15c3FsLmNvbSkgPGJ1aWxkQG15c3FsLmNv
+bT6IXQQTEQIAHQUCR6yUtAUJDTBYqAULBwoDBAMVAwIDFgIBAheAAAoJEIxxjTtQ
+cuH1rpIAn38+BlBI815Dou9VXMIAsQEk4G3tAJ9+Cz69Y/Xwm611lzteJrCAA32+
+aYhMBBMRAgAMBQI+PqPRBYMJZgC7AAoJEElQ4SqycpHyJOEAn1mxHijft00bKXvu
+cSo/pECUmppiAJ41M9MRVj5VcdH/KN/KjRtW6tHFPYhMBBMRAgAMBQI+QoIDBYMJ
+YiKJAAoJELb1zU3GuiQ/lpEAoIhpp6BozKI8p6eaabzF5MlJH58pAKCu/ROofK8J
+Eg2aLos+5zEYrB/LsohGBBARAgAGBQI/rOOvAAoJEK/FI0h4g3QP9pYAoNtSISDD
+AAU2HafyAYlLD/yUC4hKAJ0czMsBLbo0M/xPaJ6Ox9Q5Hmw2uIhGBBARAgAGBQI/
+tEN3AAoJEIWWr6swc05mxsMAnRag9X61Ygu1kbfBiqDku4czTd9pAJ4q5W8KZ0+2
+ujTrEPN55NdWtnXj4YhGBBARAgAGBQJDW7PqAAoJEIvYLm8wuUtcf3QAnRCyqF0C
+pMCTdIGc7bDO5I7CIMhTAJ0UTGx0O1d/VwvdDiKWj45N2tNbYIhGBBMRAgAGBQJE
+8TMmAAoJEPZJxPRgk1MMCnEAoIm2pP0sIcVh9Yo0YYGAqORrTOL3AJwIbcy+e8HM
+NSoNV5u51RnrVKie34hMBBARAgAMBQJBgcsBBYMGItmLAAoJEBhZ0B9ne6HsQo0A
+nA/LCTQ3P5kvJvDhg1DsfVTFnJxpAJ49WFjg/kIcaN5iP1JfaBAITZI3H4hMBBAR
+AgAMBQJBgcs0BYMGItlYAAoJEIHC9+viE7aSIiMAnRVTVVAfMXvJhV6D5uHfWeeD
+046TAJ4kjwP2bHyd6DjCymq+BdEDz63axohMBBARAgAMBQJBgctiBYMGItkqAAoJ
+EGtw7Nldw/RzCaoAmwWM6+Rj1zl4D/PIys5nW48Hql3hAJ0bLOBthv96g+7oUy9U
+j09Uh41lF4hMBBARAgAMBQJB0JMkBYMF1BFoAAoJEH0lygrBKafCYlUAoIb1r5D6
+qMLMPMO1krHk3MNbX5b5AJ4vryx5fw6iJctC5GWJ+Y8ytXab34hMBBARAgAMBQJC
+K1u6BYMFeUjSAAoJEOYbpIkV67mr8xMAoJMy+UJC0sqXMPSxh3BUsdcmtFS+AJ9+
+Z15LpoOnAidTT/K9iODXGViK6ohMBBIRAgAMBQJAKlk6BYMHektSAAoJEDyhHzSU
++vhhJlwAnA/gOdwOThjO8O+dFtdbpKuImfXJAJ0TL53QKp92EzscZSz49lD2YkoE
+qohMBBIRAgAMBQJAPfq6BYMHZqnSAAoJEPLXXGPjnGWcst8AoLQ3MJWqttMNHDbl
+xSyzXhFGhRU8AJ4ukRzfNJqElQHQ00ZM2WnCVNzOUIhMBBIRAgAMBQJBDgqEBYMG
+lpoIAAoJEDnKK/Q9aopf/N0AniE2fcCKO1wDIwusuGVlC+JvnnWbAKDDoUSEYuNn
+5qzRbrzWW5zBno/Nb4hMBBIRAgAMBQJCgKU0BYMFI/9YAAoJEAQNwIV8g5+o4yQA
+nA9QOFLV5POCddyUMqB/fnctuO9eAJ4sJbLKP/Z3SAiTpKrNo+XZRxauqIhMBBMR
+AgAMBQI+TU2EBYMJV1cIAAoJEC27dr+t1MkzBQwAoJU+RuTVSn+TI+uWxUpT82/d
+s5NkAJ9bnNodffyMMK7GyMiv/TzifiTD+4hMBBMRAgAMBQJB14B2BYMFzSQWAAoJ
+EGbv28jNgv0+P7wAn13uu8YkhwfNMJJhWdpK2/qM/4AQAJ40drnKW2qJ5EEIJwtx
+pwapgrzWiYhMBBMRAgAMBQJCGIEOBYMFjCN+AAoJEHbBAxyiMW6hoO4An0Ith3Kx
+5/sixbjZR9aEjoePGTNKAJ94SldLiESaYaJx2lGIlD9bbVoHQYhdBBMRAgAdBQJH
+rJTPBQkNMFioBQsHCgMEAxUDAgMWAgECF4AACgkQjHGNO1By4fV0KgCgsLpG2wP0
+rc3s07Fync9g7MfairMAoIUefSNKrGTsTxvLeyH4DLzJW/QFiHsEMBECADsFAkJ3
+NfU0HQBPb3BzLi4uIHNob3VsZCBoYXZlIGJlZW4gbG9jYWwhIEknbSAqc28qIHN0
+dXBpZC4uLgAKCRA5yiv0PWqKX+9HAJ0WjTx/rqgouK4QCrOV/2IOU+jMQQCfYSC8
+JgsIIeN8aiyuStTdYrk0VWCIjwQwEQIATwUCRW8Av0gdAFNob3VsZCBoYXZlIGJl
+ZW4gYSBsb2NhbCBzaWduYXR1cmUsIG9yIHNvbWV0aGluZyAtIFdURiB3YXMgSSB0
+aGlua2luZz8ACgkQOcor9D1qil+g+wCfcFWoo5qUl4XTE9K8tH3Q+xGWeYYAnjii
+KxjtOXc0ls+BlqXxbfZ9uqBsiQIiBBABAgAMBQJBgcuFBYMGItkHAAoJEKrj5s5m
+oURoqC8QAIISudocbJRhrTAROOPoMsReyp46Jdp3iL1oFDGcPfkZSBwWh8L+cJjh
+dycIwwSeZ1D2h9S5Tc4EnoE0khsS6wBpuAuih5s//coRqIIiLKEdhTmNqulkCH5m
+imCzc5zXWZDW0hpLr2InGsZMuh2QCwAkB4RTBM+r18cUXMLV4YHKyjIVaDhsiPP/
+MKUj6rJNsUDmDq1GiJdOjySjtCFjYADlQYSD7zcd1vpqQLThnZBESvEoCqumEfOP
+xemNU6xAB0CL+pUpB40pE6Un6Krr5h6yZxYZ/N5vzt0Y3B5UUMkgYDSpjbulNvaU
+TFiOxEU3gJvXc1+h0BsxM7FwBZnuMA8LEA+UdQb76YcyuFBcROhmcEUTiducLu84
+E2BZ2NSBdymRQKSinhvXsEWlH6Txm1gtJLynYsvPi4B4JxKbb+awnFPusL8W+gfz
+jbygeKdyqzYgKj3M79R3geaY7Q75Kxl1UogiOKcbI5VZvg47OQCWeeERnejqEAdx
+EQiwGA/ARhVOP/1l0LQA7jg2P1xTtrBqqC2ufDB+v+jhXaCXxstKSW1lTbv/b0d6
+454UaOUV7RisN39pE2zFvJvY7bwfiwbUJVmYLm4rWJAEOJLIDtDRtt2h8JahDObm
+3CWkpadjw57S5v1c/mn+xV9yTgVx5YUfC/788L1HNKXfeVDq8zbAiQIiBBMBAgAM
+BQJCnwocBYMFBZpwAAoJENjCCglaJFfPIT4P/25zvPp8ixqV85igs3rRqMBtBsj+
+5EoEW6DJnlGhoi26yf1nasC2frVasWG7i4JIm0U3WfLZERGDjR/nqlOCEqsP5gS3
+43N7r4UpDkBsYh0WxH/ZtST5llFK3zd7XgtxvqKL98l/OSgijH2W2SJ9DGpjtO+T
+iegq7igtJzw7Vax9z/LQH2xhRQKZR9yernwMSYaJ72i9SyWbK3k0+e95fGnlR5pF
+zlGq320rYHgD7v9yoQ2t1klsAxK6e3b7Z+RiJG6cAU8o8F0kGxjWzF4v8D1op7S+
+IoRdB0Bap01ko0KLyt3+g4/33/2UxsW50BtfqcvYNJvU4bZns1YSqAgDOOanBhg8
+Ip5XPlDxH6J/3997n5JNj/nk5ojfd8nYfe/5TjflWNiput6tZ7frEki1wl6pTNbv
+V9C1eLUJMSXfDZyHtUXmiP9DKNpsucCUeBKWRKLqnsHLkLYydsIeUJ8+ciKc+EWh
+FxEY+Ml72cXAaz5BuW9L8KHNzZZfez/ZJabiARQpFfjOwAnmhzJ9r++TEKRLEr96
+taUI9/8nVPvT6LnBpcM38Td6dJ639YvuH3ilAqmPPw50YvglIEe4BUYD5r52Seqc
+8XQowouGOuBX4vs7zgWFuYA/s9ebfGaIw+uJd/56Xl9ll6q5CghqB/yt1EceFEnF
+CAjQc2SeRo6qzx22uQINBD4+ox0QCADv4Yl/Fsx1jjCyU+eMf2sXg3ap9awQ3+XF
+pmglhzdrozTZYKceXpqFPb+0ErbDVAjhgW15HjuAK+2Bvo7Ukd986jYd8uZENGJG
+N3UNMIep7JfsIeFyCGP901GVbZnSXlAURyZX1TRWGndoV9YLhSN+zctT6GQBbMTv
+NoPlwf0nvK//rG5lXDjXXHSHhSqxNxYy7SIzUHMQupfUNjsvCg8Rv871GRt/h+Yt
+7XUTMhoJrg+oBFdBlzh2FKKcy3ordfgGtGwpN+jMG7vgXjsPwiVt/m9Jgdu4Tmn/
+WggPOeSD+nyRb7cXG5avJxyKoVNw3PbXnLJff0tcWeUvMpRv8XkbAAMFB/4vCqpr
+wIatF+w4AnGKbrcId+3LmZRzmtRKdOyUZgQg4JHUF5Bq7I9ls8OwMP0xnVlpJp9q
+cW/AUbouXH3GRTu3Or68ouhaSbi7nF/e+fnlWOdJ3VpD15CdRxeIvhycEahNs5Yj
+f0RzLOCyXMF0L74w+NxBNwDunolRWw/qgAHcVBaDni25SjQRzxuwzxvcS/jYua5B
+Pk10ocbAexdM+2XSSWThtCTg5qMeyLLUExqGlPbuNaMmUyIlz4hYnSaCGQoe33bq
+z/KZ91/keR1DVzK+zPm2vJUjcXHvxd5Jh9C+67CqnYfXf2lcYSSDSfop1Q5611la
+F7vRgY0/DXKNYlPUiEwEGBECAAwFAkeslPwFCQ0wWN8ACgkQjHGNO1By4fWlzgCf
+Qj3rkfcljYZOuLOn50J7PFuF7FoAnjwWGhwVi9+Fm2B5RZvpo++BBkdP
+=Xquv
+-----END PGP PUBLIC KEY BLOCK-----
+
+</programlisting>
+
+      <para>
+        To import the build key into your personal public GPG keyring,
+        use <command>gpg --import</command>. For example, if you have
+        saved the key in a file named
+        <filename>mysql_pubkey.asc</filename>, the import command looks
+        like this:
+      </para>
+
+<programlisting>
+shell&gt; <userinput>gpg --import mysql_pubkey.asc</userinput>
+gpg: key 5072E1F5: public key "MySQL Package signing key (www.mysql.com)
&lt;build@stripped&gt;" imported
+gpg: Total number processed: 1
+gpg:               imported: 1
+gpg: no ultimately trusted keys found
+</programlisting>
+
+      <para>
+        You can also download the key from the public keyserver using
+        the public key id, <literal>5072E1F5</literal>:
+      </para>
+
+<programlisting>shell&gt; gpg --recv-keys 5072E1F5
+gpg: requesting key 5072E1F5 from hkp server subkeys.pgp.net
+gpg: key 5072E1F5: "MySQL Package signing key (www.mysql.com)
&lt;build@stripped&gt;" 2 new signatures
+gpg: no ultimately trusted keys found
+gpg: Total number processed: 1
+gpg:         new signatures: 2
+</programlisting>
+
+      <para>
+        If you want to import the key into your RPM configuration to
+        validate RPM install packages, you should be able to import the
+        key directly:
+      </para>
+
+<programlisting>shell&gt; <userinput>rpm --import
mysql_pubkey.asc</userinput></programlisting>
+
+      <para>
+        If you experience problems, try exporting the key from
+        <command>gpg</command> and importing:
+      </para>
+
+<programlisting>shell&gt; gpg --export -a 5072e1f5 > 5072e1f5.asc
+shell&gt; rpm --import 5072e1f5.asc</programlisting>
+
+      <para>
+        Alternatively, <command>rpm</command> also supports loading the
+        key directly from a URL, and you cas use this manual page:
+      </para>
+
+<programlisting>shell&gt; <userinput>rpm --import
&base-url-refman;/&current-series;/en/checking-gpg-signature.html</userinput></programlisting>
+
+      <para>
+        After you have downloaded and imported the public build key,
+        download your desired MySQL package and the corresponding
+        signature, which also is available from the download page. The
+        signature file has the same name as the distribution file with
+        an <filename>.asc</filename> extension. For example:
+      </para>
+
+      <informaltable>
+        <tgroup cols="2">
+          <colspec colwidth="25*"/>
+          <colspec colwidth="75*"/>
+          <tbody>
+            <row>
+              <entry>Distribution file</entry>
+             
<entry><literal>mysql-standard-&current-version;-linux-i686.tar.gz</literal></entry>
+            </row>
+            <row>
+              <entry>Signature file</entry>
+             
<entry><literal>mysql-standard-&current-version;-linux-i686.tar.gz.asc</literal></entry>
+            </row>
+          </tbody>
+        </tgroup>
+      </informaltable>
+
+      <para>
+        Make sure that both files are stored in the same directory and
+        then run the following command to verify the signature for the
+        distribution file:
+      </para>
+
+<programlisting>
+shell&gt; <userinput>gpg --verify
<replaceable>package_name</replaceable>.asc</userinput>
+</programlisting>
+
+      <para>
+        Example:
+      </para>
+
+<programlisting>
+shell&gt; <userinput>gpg --verify
mysql-standard-&current-version;-linux-i686.tar.gz.asc</userinput>
+gpg: Signature made Tue 12 Jul 2005 23:35:41 EST using DSA key ID 5072E1F5
+gpg: Good signature from "MySQL Package signing key (www.mysql.com)
&lt;build@stripped&gt;"
+</programlisting>
+
+      <para>
+        The <literal>Good signature</literal> message indicates that
+        everything is all right. You can ignore any <literal>insecure
+        memory</literal> warning you might obtain.
+      </para>
+
+      <para>
+        See the GPG documentation for more information on how to work
+        with public keys.
+      </para>
+
+    </section>
+
+    <section id="checking-rpm-signature" role="cs">
+
+      <title>Signature Checking Using
<literal>RPM</literal></title>
+
+      <para>
+        For RPM packages, there is no separate signature. RPM packages
+        have a built-in GPG signature and MD5 checksum. You can verify a
+        package by running the following command:
+      </para>
+
+<programlisting>
+shell&gt; <userinput>rpm --checksig
<replaceable>package_name</replaceable>.rpm</userinput>
+</programlisting>
+
+      <para>
+        Example:
+      </para>
+
+<programlisting>
+shell&gt; <userinput>rpm --checksig
MySQL-server-&current-version;-0.glibc23.i386.rpm</userinput>
+MySQL-server-&current-version;-0.glibc23.i386.rpm: md5 gpg OK
+</programlisting>
+
+      <note>
+        <para>
+          If you are using RPM 4.1 and it shows the error
+          <errortext>(GPG) NOT OK (MISSING KEYS:
+          GPG#5072e1f5)</errortext> even though you have imported the
+          MySQL public build key into your own GPG keyring, you need to
+          import the key into the RPM keyring first. RPM 4.1 no longer
+          uses your personal GPG keyring (or GPG itself). Rather, it
+          maintains its own keyring because it is a system-wide
+          application and a user's GPG public keyring is a user-specific
+          file. To import the MySQL public key into the RPM keyring,
+          first obtain the key as described in
+          <xref linkend="checking-gpg-signature"/>. Then use
+          <command>rpm --import</command> to import the key. For
+          example, if you have saved the public key in a file named
+          <filename>mysql_pubkey.asc</filename>, import it using this
+          command:
+        </para>
+      </note>
+
+<programlisting>
+shell&gt; <userinput>rpm --import mysql_pubkey.asc</userinput>
+</programlisting>
+
+      <para>
+        If you need to obtain the MySQL public key, see
+        <xref linkend="checking-gpg-signature"/>.
+      </para>
+
+    </section>
+
+  </section>
+
+  <section id="installation-layouts" role="cses">
+
+    <title>Installation Layouts</title>
+
+    <indexterm>
+      <primary>installation layouts</primary>
+    </indexterm>
+
+    <indexterm>
+      <primary>layout of installation</primary>
+    </indexterm>
+
+    <indexterm>
+      <primary>directory structure</primary>
+      <secondary>default</secondary>
+    </indexterm>
+
+    <indexterm>
+      <primary>default installation location</primary>
+    </indexterm>
+
+    <para>
+      This section describes the default layout of the directories
+      created by installing binary or source distributions provided by
+      MySQL AB. A distribution provided by another vendor might use a
+      layout different from those shown here.
+    </para>
+
+    <para>
+      For MySQL &current-series; on Windows, the default installation
+      directory is <filename>C:\Program Files\MySQL\MySQL Server
+      &current-series;</filename>. (Some Windows users prefer to install
+      in <filename>C:\mysql</filename>, the directory that formerly was
+      used as the default. However, the layout of the subdirectories
+      remains the same.) The installation directory has the following
+      subdirectories:
+    </para>
+
+    <informaltable>
+      <tgroup cols="2">
+        <colspec colwidth="35*"/>
+        <colspec colwidth="65*"/>
+        <tbody>
+          <row>
+            <entry><emphasis
role="bold">Directory</emphasis></entry>
+            <entry><emphasis
role="bold">Contents</emphasis></entry>
+          </row>
+          <row>
+            <entry><filename>bin</filename></entry>
+            <entry>Client programs and the <command>mysqld</command>
server</entry>
+          </row>
+          <row>
+            <entry><filename>data</filename></entry>
+            <entry>Log files, databases</entry>
+          </row>
+          <row>
+            <entry><filename>Docs</filename></entry>
+            <entry>Manual in CHM format</entry>
+          </row>
+          <row>
+            <entry><filename>examples</filename></entry>
+            <entry>Example programs and scripts</entry>
+          </row>
+          <row>
+            <entry><filename>include</filename></entry>
+            <entry>Include (header) files</entry>
+          </row>
+          <row>
+            <entry><filename>lib</filename></entry>
+            <entry>Libraries</entry>
+          </row>
+          <row>
+            <entry><filename>scripts</filename></entry>
+            <entry>Utility scripts</entry>
+          </row>
+          <row>
+            <entry><filename>share</filename></entry>
+            <entry>Error message files</entry>
+          </row>
+        </tbody>
+      </tgroup>
+    </informaltable>
+
+    <para>
+      Installations created from MySQL AB's Linux RPM distributions
+      result in files under the following system directories:
+    </para>
+
+    <informaltable>
+      <tgroup cols="2">
+        <colspec colwidth="35*"/>
+        <colspec colwidth="65*"/>
+        <tbody>
+          <row>
+            <entry><emphasis
role="bold">Directory</emphasis></entry>
+            <entry><emphasis
role="bold">Contents</emphasis></entry>
+          </row>
+          <row>
+            <entry><filename>/usr/bin</filename></entry>
+            <entry>Client programs and scripts</entry>
+          </row>
+          <row>
+            <entry><filename>/usr/sbin</filename></entry>
+            <entry>The <command>mysqld</command> server</entry>
+          </row>
+          <row>
+            <entry><filename>/var/lib/mysql</filename></entry>
+            <entry>Log files, databases</entry>
+          </row>
+          <row>
+            <entry><filename>/usr/share/info</filename></entry>
+            <entry>Manual in Info format</entry>
+          </row>
+          <row>
+            <entry><filename>/usr/share/man</filename></entry>
+            <entry>Unix man pages</entry>
+          </row>
+          <row>
+           
<entry><filename>/usr/include/mysql</filename></entry>
+            <entry>Include (header) files</entry>
+          </row>
+          <row>
+            <entry><filename>/usr/lib/mysql</filename></entry>
+            <entry>Libraries</entry>
+          </row>
+          <row>
+            <entry><filename>/usr/share/mysql</filename></entry>
+            <entry>Error message and character set files</entry>
+          </row>
+          <row>
+           
<entry><filename>/usr/share/sql-bench</filename></entry>
+            <entry>Benchmarks</entry>
+          </row>
+        </tbody>
+      </tgroup>
+    </informaltable>
+
+    <para>
+      On Unix, a <command>tar</command> file binary distribution is
+      installed by unpacking it at the installation location you choose
+      (typically <filename>/usr/local/mysql</filename>) and creates the
+      following directories in that location:
+    </para>
+
+    <informaltable>
+      <tgroup cols="2">
+        <colspec colwidth="35*"/>
+        <colspec colwidth="65*"/>
+        <tbody>
+          <row>
+            <entry><emphasis
role="bold">Directory</emphasis></entry>
+            <entry><emphasis
role="bold">Contents</emphasis></entry>
+          </row>
+          <row>
+            <entry><filename>bin</filename></entry>
+            <entry>Client programs and the <command>mysqld</command>
server</entry>
+          </row>
+          <row>
+            <entry><filename>data</filename></entry>
+            <entry>Log files, databases</entry>
+          </row>
+          <row>
+            <entry><filename>docs</filename></entry>
+            <entry>Manual in Info format</entry>
+          </row>
+          <row>
+            <entry><filename>man</filename></entry>
+            <entry>Unix manual pages</entry>
+          </row>
+          <row>
+            <entry><filename>include</filename></entry>
+            <entry>Include (header) files</entry>
+          </row>
+          <row>
+            <entry><filename>lib</filename></entry>
+            <entry>Libraries</entry>
+          </row>
+          <row>
+            <entry><filename>scripts</filename></entry>
+            <entry><command>mysql_install_db</command></entry>
+          </row>
+          <row>
+            <entry><filename>share/mysql</filename></entry>
+            <entry>Error message files</entry>
+          </row>
+          <row>
+            <entry><filename>sql-bench</filename></entry>
+            <entry>Benchmarks</entry>
+          </row>
+        </tbody>
+      </tgroup>
+    </informaltable>
+
+    <para>
+      A source distribution is installed after you configure and compile
+      it. By default, the installation step installs files under
+      <filename>/usr/local</filename>, in the following subdirectories:
+    </para>
+
+    <informaltable>
+      <tgroup cols="2">
+        <colspec colwidth="35*"/>
+        <colspec colwidth="65*"/>
+        <tbody>
+          <row>
+            <entry><emphasis
role="bold">Directory</emphasis></entry>
+            <entry><emphasis
role="bold">Contents</emphasis></entry>
+          </row>
+          <row>
+            <entry><filename>bin</filename></entry>
+            <entry>Client programs and scripts</entry>
+          </row>
+          <row>
+            <entry><filename>include/mysql</filename></entry>
+            <entry>Include (header) files</entry>
+          </row>
+          <row>
+            <entry><filename>Docs</filename></entry>
+            <entry>Manual in Info, CHM formats</entry>
+          </row>
+          <row>
+            <entry><filename>man</filename></entry>
+            <entry>Unix manual pages</entry>
+          </row>
+          <row>
+            <entry><filename>lib/mysql</filename></entry>
+            <entry>Libraries</entry>
+          </row>
+          <row>
+            <entry><filename>libexec</filename></entry>
+            <entry>The <command>mysqld</command> server</entry>
+          </row>
+          <row>
+            <entry><filename>share/mysql</filename></entry>
+            <entry>Error message files</entry>
+          </row>
+          <row>
+            <entry><filename>sql-bench</filename></entry>
+            <entry>Benchmarks and <literal>crash-me</literal>
test</entry>
+          </row>
+          <row>
+            <entry><filename>var</filename></entry>
+            <entry>Databases and log files</entry>
+          </row>
+        </tbody>
+      </tgroup>
+    </informaltable>
+
+    <para>
+      Within its installation directory, the layout of a source
+      installation differs from that of a binary installation in the
+      following ways:
+    </para>
+
+    <itemizedlist>
+
+      <listitem>
+        <para>
+          The <command>mysqld</command> server is installed in the
+          <filename>libexec</filename> directory rather than in the
+          <filename>bin</filename> directory.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          The data directory is <filename>var</filename> rather than
+          <filename>data</filename>.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          <command>mysql_install_db</command> is installed in the
+          <filename>bin</filename> directory rather than in the
+          <filename>scripts</filename> directory.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          The header file and library directories are
+          <filename>include/mysql</filename> and
+          <filename>lib/mysql</filename> rather than
+          <filename>include</filename> and
<filename>lib</filename>.
+        </para>
+      </listitem>
+
+    </itemizedlist>
+
+    <para>
+      You can create your own binary installation from a compiled source
+      distribution by executing the
+      <filename>scripts/make_binary_distribution</filename> script from
+      the top directory of the source distribution.
+    </para>
+
+  </section>
+
+  <section id="quick-standard-installation" role="cs">
+
+    <title>Standard MySQL Installation Using a Binary Distribution</title>
+
+    <para>
+      The next several sections cover the installation of MySQL on
+      platforms where we offer packages using the native packaging
+      format of the respective platform. (This is also known as
+      performing a binary installation.) However, binary distributions
+      of MySQL are available for many other platforms as well. See
+      <xref linkend="installing-binary"/>, for generic installation
+      instructions for these packages that apply to all platforms.
+    </para>
+
+    <para>
+      See <xref linkend="installing-cs"/>, for more information on what
+      other binary distributions are available and how to obtain them.
+    </para>
+
+  </section>
+
+  <section id="windows-installation" role="cs">
+
+    <title>Installing MySQL on Windows</title>
+
+    <remark role="todo">
+      The prompt is inconsistent in the Windows sections. Sometimes it
+      begins with C:, sometimes it's shell&gt;.
+    </remark>
+
+    <para>
+      A native Windows distribution of MySQL has been available from
+      MySQL AB since version 3.21 and represents a sizable percentage of
+      the daily downloads of MySQL. This section describes the process
+      for installing MySQL on Windows.
+    </para>
+
+    <note>
+      <para>
+        If you are upgrading MySQL from an existing installation older
+        than MySQL 4.1.5, you must first perform the procedure described
+        in <xref linkend="windows-upgrading"/>.
+      </para>
+    </note>
+
+    <para>
+      To run MySQL on Windows, you need the following:
+    </para>
+
+    <itemizedlist>
+
+      <listitem>
+        <para>
+          A Windows operating system such as 2000, XP, Vista, or Windows
+          Server 2003. Only 32-bit and 64-bit versions of Windows 2000
+          and later are supported; however, 64-bit Windows Vista is not
+          yet supported. Windows 95/98/ME and versions of Windows older
+          than these are no longer supported.
+        </para>
+
+        <para>
+          A Windows operating system permits you to run the MySQL server
+          as a service. See <xref linkend="windows-start-service"/>.
+        </para>
+
+        <para>
+          Generally, you should install MySQL on Windows using an
+          account that has administrator rights. Otherwise, you may
+          encounter problems with certain operations such as editing the
+          <literal>PATH</literal> environment variable or accessing the
+          <command>Service Control Manager</command>.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          TCP/IP protocol support.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          Enough space on the hard drive to unpack, install, and create
+          the databases in accordance with your requirements (generally
+          a minimum of 200 megabytes is recommended.)
+        </para>
+      </listitem>
+
+    </itemizedlist>
+
+    <para>
+      For a list of limitations within the Windows version of MySQL, see
+      <xref linkend="limits-windows"/>.
+    </para>
+
+    <para>
+      There may also be other requirements, depending on how you plan to
+      use MySQL:
+    </para>
+
+    <itemizedlist>
+
+      <listitem>
+        <para>
+          If you plan to connect to the MySQL server via ODBC, you need
+          a Connector/ODBC driver. See
+          <xref linkend="connectors-apis"/>.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          If you need tables with a size larger than 4GB, install MySQL
+          on an NTFS or newer filesystem. Don't forget to use
+          <literal>MAX_ROWS</literal> and
+          <literal>AVG_ROW_LENGTH</literal> when you create tables. See
+          <xref linkend="create-table"/>.
+        </para>
+      </listitem>
+
+    </itemizedlist>
+
+    <para>
+      MySQL for Windows is available in several distribution formats:
+    </para>
+
+    <itemizedlist>
+
+      <listitem>
+        <para>
+          Binary distributions are available that contain a setup
+          program that installs everything you need so that you can
+          start the server immediately. Another binary distribution
+          format contains an archive that you simply unpack in the
+          installation location and then configure yourself. For
+          details, see <xref linkend="windows-choosing-package"/>.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          The source distribution contains all the code and support
+          files for building the executables using the Visual Studio
+          compiler system.
+        </para>
+      </listitem>
+
+    </itemizedlist>
+
+    <para>
+      Generally speaking, you should use a binary distribution that
+      includes an installer. It is simpler to use than the others, and
+      you need no additional tools to get MySQL up and running. The
+      installer for the Windows version of MySQL, combined with a GUI
+      Configuration Wizard, automatically installs MySQL, creates an
+      option file, starts the server, and secures the default user
+      accounts.
+    </para>
+
+    <caution>
+      <para>
+        Using virus scanning software such as Norton/Symantec Anti-Virus
+        on directories containing MySQL data and temporary tables can
+        cause issues, both in terms of the performance of MySQL and the
+        virus-scanning software mis-identifying the contents of the
+        files as containing spam. This is because of the fingerprinting
+        mechanism used by the virus scanning software, and the way in
+        which MySQL rapidly updates different files, which may be
+        identified as a potential security risk.
+      </para>
+
+      <para>
+        After installing MySQL Server, it is recommended that you
+        disable virus scanning on main directory
+        (<literal>datadir</literal>) being used to store your MySQL
+        table data. There is usually a system built into the virus
+        scanning software to allow certain directories to be
+        specifically ignored during virus scanning.
+      </para>
+
+      <para>
+        In addition, by default, MySQL creates temporary files in the
+        standard Windows temporary directory. To prevent the temporary
+        files also being scanned, you should configure a separate
+        temporary directory for MySQL temporary files and add this to
+        the virus scanning exclusion list. To do this, add a
+        configuration option for the <literal>tmpdir</literal> parameter
+        to your <filename>my.ini</filename> configuration file. For more
+        information, see <xref linkend="windows-create-option-file"/>,
+        and
+        <link
linkend="option_mysqld_tmpdir"><literal>tmpdir</literal></link>.
+      </para>
+    </caution>
+
+    <para>
+      The following section describes how to install MySQL on Windows
+      using a binary distribution. To use an installation package that
+      does not include an installer, follow the procedure described in
+      <xref linkend="windows-install-archive"/>. To install using a
+      source distribution, see <xref linkend="windows-source-build"/>.
+    </para>
+
+    <para>
+      MySQL distributions for Windows can be downloaded from
+      <ulink url="&base-url-downloads;"/>. See
+      <xref linkend="getting-mysql"/>.
+    </para>
+
+    <section id="windows-choosing-package" role="cs">
+
+      <title>Choosing An Installation Package</title>
+
+      <para>
+        For MySQL &current-series;, there are three installation
+        packages to choose from when installing MySQL on Windows:
+      </para>
+
+      <itemizedlist>
+
+        <listitem>
+          <formalpara>
+
+            <title>The Essentials package</title>
+
+            <para>
+              This package has a filename similar to
+             
<filename>mysql-essential-&current-version;-win32.msi</filename>
+              and contains the minimum set of files needed to install
+              MySQL on Windows, including the Configuration Wizard. This
+              package does not include optional components such as the
+              embedded server and benchmark suite.
+            </para>
+
+          </formalpara>
+        </listitem>
+
+        <listitem>
+          <formalpara>
+
+            <title>The Complete package</title>
+
+            <para>
+              This package has a filename similar to
+              <filename>mysql-&current-version;-win32.zip</filename> and
+              contains all files needed for a complete Windows
+              installation, including the Configuration Wizard. This
+              package includes optional components such as the embedded
+              server and benchmark suite.
+            </para>
+
+          </formalpara>
+        </listitem>
+
+        <listitem>
+          <formalpara>
+
+            <title>The no-install archive</title>
+
+            <para>
+              This package has a filename similar to
+             
<filename>mysql-noinstall-&current-version;-win32.zip</filename>
+              and contains all the files found in the Complete install
+              package, with the exception of the Configuration Wizard.
+              This package does not include an automated installer, and
+              must be manually installed and configured.
+            </para>
+
+          </formalpara>
+        </listitem>
+
+      </itemizedlist>
+
+      <para>
+        The Essentials package is recommended for most users. It is
+        provided as an <filename>.msi</filename> file for use with the
+        Windows Installer. The Complete and Noinstall distributions are
+        packaged as Zip archives. To use them, you must have a tool that
+        can unpack <filename>.zip</filename> files.
+      </para>
+
+      <para>
+        Your choice of install package affects the installation process
+        you must follow. If you choose to install either the Essentials
+        or Complete install packages, see
+        <xref linkend="windows-using-installer"/>. If you choose to
+        install MySQL from the Noinstall archive, see
+        <xref linkend="windows-install-archive"/>.
+      </para>
+
+    </section>
+
+    <section id="windows-using-installer" role="cses">
+
+      <title>Installing MySQL with the Automated Installer</title>
+
+      <para>
+        New MySQL users can use the MySQL Installation Wizard and MySQL
+        Configuration Wizard to install MySQL on Windows. These are
+        designed to install and configure MySQL in such a way that new
+        users can immediately get started using MySQL.
+      </para>
+
+      <para>
+        The MySQL Installation Wizard and MySQL Configuration Wizard are
+        available in the Essentials and Complete install packages. They
+        are recommended for most standard MySQL installations.
+        Exceptions include users who need to install multiple instances
+        of MySQL on a single server host and advanced users who want
+        complete control of server configuration.
+      </para>
+
+    </section>
+
+    <section id="windows-install-wizard" role="cses">
+
+      <title>Using the MySQL Installation Wizard</title>
+
+      <section id="mysql-install-wizard-introduction">
+
+        <title>Introduction to the Installation Wizard</title>
+
+        <para>
+          MySQL Installation Wizard is an installer for the MySQL server
+          that uses the latest installer technologies for Microsoft
+          Windows. The MySQL Installation Wizard, in combination with
+          the MySQL Configuration Wizard, allows a user to install and
+          configure a MySQL server that is ready for use immediately
+          after installation.
+        </para>
+
+        <para>
+          The MySQL Installation Wizard is the standard installer for
+          all MySQL server distributions, version 4.1.5 and higher.
+          Users of previous versions of MySQL need to shut down and
+          remove their existing MySQL installations manually before
+          installing MySQL with the MySQL Installation Wizard. See
+          <xref linkend="mysql-install-wizard-upgrading"/>, for more
+          information on upgrading from a previous version.
+        </para>
+
+        <para>
+          The Microsoft Windows Installer (MSI) is the standard for
+          application installations on Windows 2000 and later versions.
+          The MySQL Installation Wizard makes use of this technology to
+          provide a smoother and more flexible installation process.
+        </para>
+
+        <para>
+          The Microsoft Windows Installer Engine was updated with the
+          release of Windows XP; those using a previous version of
+          Windows can reference
+          <ulink
url="http://support.microsoft.com/default.aspx?scid=kb;EN-US;292539">this
+          Microsoft Knowledge Base article</ulink> for information on
+          upgrading to the latest version of the Windows Installer
+          Engine.
+        </para>
+
+        <para>
+          In addition, Microsoft has introduced the WiX (Windows
+          Installer XML) toolkit, which is the first highly acknowledged
+          Open Source project from Microsoft. We have switched to WiX
+          because it is an Open Source project and it allows us to
+          handle the complete Windows installation process in a flexible
+          manner using scripts.
+        </para>
+
+        <para>
+          Improving the MySQL Installation Wizard depends on the support
+          and feedback of users. If you find that the MySQL Installation
+          Wizard is lacking some feature important to you, or if you
+          discover a bug, please report it in our bugs database using
+          the instructions given in <xref linkend="bug-reports"/>.
+        </para>
+
+      </section>
+
+      <section id="mysql-install-wizard-starting" role="cs">
+
+        <title>Downloading and Starting the MySQL Installation Wizard</title>
+
+        <para>
+          MySQL installation packages can be downloaded from
+          <ulink url="&base-url-downloads;"/>. If the package you
+          download is contained within a Zip archive, you need to
+          extract the archive first.
+        </para>
+
+        <note>
+          <para>
+            If you are installing on Windows Vista it is best to open a
+            port for MySQL to use before beginning the installation. To
+            do this, first ensure that you are logged in as an
+            administrator, then go to the <literal>Control
+            Panel</literal> and double-click the <literal>Windows
+            Firewall</literal> icon. Choose the <literal>Allow a program
+            through Windows Firewall</literal> option and click the
+            <guibutton>Add port</guibutton> button. Enter
+            <literal>MySQL</literal> into the
<guilabel>Name</guilabel>
+            text box and <literal>3306</literal> (or other port of your
+            choice) into the <guilabel>Port number</guilabel> text box.
+            Also ensure that the <guilabel>TCP</guilabel> protocol radio
+            button is selected. If you wish, you can also limit access
+            to the MySQL server by choosing the <guilabel>Change
+            scope</guilabel> button. Confirm your choices by clicking
+            the <guibutton>OK</guibutton> button. If you do not open a
+            port prior to installation, you cannot configure the MySQL
+            server immediately after installation. Additionally, when
+            running the MySQL Installation Wizard on Windows Vista,
+            ensure that you are logged in as a user with administrative
+            rights.
+          </para>
+        </note>
+
+        <para>
+          The process for starting the wizard depends on the contents of
+          the installation package you download. If there is a
+          <filename>setup.exe</filename> file present, double-click it
+          to start the installation process. If there is an
+          <filename>.msi</filename> file present, double-click it to
+          start the installation process.
+        </para>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata fileref="images/published/mysql-es-win32-fig1.png"
format="PNG"/>
+          </imageobject>
+          <textobject>
+            <phrase lang="en">MySQL Installer Main Screen
+            (Windows)</phrase>
+          </textobject>
+        </mediaobject>
+
+      </section>
+
+<!--   EDITS THROUGH HERE   -->
+
+      <section id="mysql-install-wizard-install-type" role="cs">
+
+        <title>Choosing an Installation Type</title>
+
+        <para>
+          There are three installation types available:
+          <emphasis role="bold">Typical</emphasis>,
+          <emphasis role="bold">Complete</emphasis>, and
+          <emphasis role="bold">Custom</emphasis>.
+        </para>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata fileref="images/published/mysql-es-win32-fig2.png"
format="PNG"/>
+          </imageobject>
+          <textobject>
+            <phrase lang="en">MySQL Installer Setup type
+            (Windows)</phrase>
+          </textobject>
+        </mediaobject>
+
+        <para>
+          The <emphasis role="bold">Typical</emphasis> installation type
+          installs the MySQL server, the <command>mysql</command>
+          command-line client, and the command-line utilities. The
+          command-line clients and utilities include
+          <command>mysqldump</command>,
<command>myisamchk</command>,
+          and several other tools to help you manage the MySQL server.
+        </para>
+
+        <para>
+          The <emphasis role="bold">Complete</emphasis> installation
+          type installs all components included in the installation
+          package. The full installation package includes components
+          such as the embedded server library, the benchmark suite,
+          support scripts, and documentation.
+        </para>
+
+        <para>
+          The <emphasis role="bold">Custom</emphasis> installation type
+          gives you complete control over which packages you wish to
+          install and the installation path that is used. See
+          <xref linkend="mysql-install-wizard-custom-install"/>, for
+          more information on performing a custom install.
+        </para>
+
+        <para>
+          If you choose the <emphasis role="bold">Typical</emphasis> or
+          <emphasis role="bold">Complete</emphasis> installation types
+          and click the <guibutton>Next</guibutton> button, you advance
+          to the confirmation screen to verify your choices and begin
+          the installation. If you choose the
+          <emphasis role="bold">Custom</emphasis> installation type and
+          click the <guibutton>Next</guibutton> button, you advance to
+          the custom installation dialog, described in
+          <xref linkend="mysql-install-wizard-custom-install"/>.
+        </para>
+
+      </section>
+
+      <section id="mysql-install-wizard-custom-install" role="cs">
+
+        <title>The Custom Installation Dialog</title>
+
+        <para>
+          If you wish to change the installation path or the specific
+          components that are installed by the MySQL Installation
+          Wizard, choose the <emphasis role="bold">Custom</emphasis>
+          installation type.
+        </para>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata fileref="images/published/mysql-es-win32-fig3.png"
format="PNG"/>
+          </imageobject>
+          <textobject>
+            <phrase lang="en">MySQL Installer Custom Installation
+            (Windows)</phrase>
+          </textobject>
+        </mediaobject>
+
+        <para>
+          A tree view on the left side of the custom install dialog
+          lists all available components. Components that are not
+          installed have a red <guiicon>X</guiicon> icon; components
+          that are installed have a gray icon. To change whether a
+          component is installed, click on that component's icon and
+          choose a new option from the drop-down list that appears.
+        </para>
+
+        <para>
+          You can change the default installation path by clicking the
+          <guibutton>Change...</guibutton> button to the right of the
+          displayed installation path.
+        </para>
+
+        <para>
+          After choosing your installation components and installation
+          path, click the <guibutton>Next</guibutton> button to advance
+          to the confirmation dialog.
+        </para>
+
+      </section>
+
+      <section id="mysql-install-wizard-confirmation-dialog" role="cs">
+
+        <title>The Confirmation Dialog</title>
+
+        <para>
+          Once you choose an installation type and optionally choose
+          your installation components, you advance to the confirmation
+          dialog. Your installation type and installation path are
+          displayed for you to review.
+        </para>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata fileref="images/published/mysql-es-win32-fig4.png"
format="PNG"/>
+          </imageobject>
+          <textobject>
+            <phrase lang="en">MySQL Installer Installation Summary
+            (Windows)</phrase>
+          </textobject>
+        </mediaobject>
+
+        <para>
+          To install MySQL if you are satisfied with your settings,
+          click the <guibutton>Install</guibutton> button. To change
+          your settings, click the <guibutton>Back</guibutton> button.
+          To exit the MySQL Installation Wizard without installing
+          MySQL, click the <guibutton>Cancel</guibutton> button.
+        </para>
+
+        <para>
+          After installation is complete, you have the option of
+          registering with the MySQL web site. Registration gives you
+          access to post in the MySQL forums at
+          <ulink url="http://forums.mysql.com">forums.mysql.com</ulink>,
+          along with the ability to report bugs at
+          <ulink url="http://bugs.mysql.com">bugs.mysql.com</ulink> and
+          to subscribe to our newsletter. The final screen of the
+          installer provides a summary of the installation and gives you
+          the option to launch the MySQL Configuration Wizard, which you
+          can use to create a configuration file, install the MySQL
+          service, and configure security settings.
+        </para>
+
+      </section>
+
+      <section id="mysql-install-wizard-changes" role="cs">
+
+        <title>Changes Made by MySQL Installation Wizard</title>
+
+        <para>
+          Once you click the <guibutton>Install</guibutton> button, the
+          MySQL Installation Wizard begins the installation process and
+          makes certain changes to your system which are described in
+          the sections that follow.
+        </para>
+
+        <para>
+          <emphasis role="bold">Changes to the Registry</emphasis>
+        </para>
+
+        <para>
+          The MySQL Installation Wizard creates one Windows registry key
+          in a typical install situation, located in
+          <literal>HKEY_LOCAL_MACHINE\SOFTWARE\MySQL AB</literal>.
+        </para>
+
+        <para>
+          The MySQL Installation Wizard creates a key named after the
+          major version of the server that is being installed, such as
+          <literal>MySQL Server &current-series;</literal>. It contains
+          two string values, <literal>Location</literal> and
+          <literal>Version</literal>. The
<literal>Location</literal>
+          string contains the path to the installation directory. In a
+          default installation it contains <literal>C:\Program
+          Files\MySQL\MySQL Server &current-series;\</literal>. The
+          <literal>Version</literal> string contains the release number.
+          For example, for an installation of MySQL Server
+          &current-version;, the key contains a value of
+          <literal>&current-version;</literal>.
+        </para>
+
+        <para>
+          These registry keys are used to help external tools identify
+          the installed location of the MySQL server, preventing a
+          complete scan of the hard-disk to determine the installation
+          path of the MySQL server. The registry keys are not required
+          to run the server, and if you install MySQL using the
+          <literal>noinstall</literal> Zip archive, the registry keys
+          are not created.
+        </para>
+
+        <remark>
+          END REGISTRY
+        </remark>
+
+        <para>
+          <emphasis role="bold">Changes to the Start Menu</emphasis>
+        </para>
+
+        <para>
+          The MySQL Installation Wizard creates a new entry in the
+          Windows <guimenu>Start</guimenu> menu under a common MySQL
+          menu heading named after the major version of MySQL that you
+          have installed. For example, if you install MySQL
+          &current-series;, the MySQL Installation Wizard creates a
+          <guisubmenu>MySQL Server &current-series;</guisubmenu> section
+          in the <guimenu>Start</guimenu> menu.
+        </para>
+
+        <para>
+          The following entries are created within the new
+          <guimenu>Start</guimenu> menu section:
+        </para>
+
+        <itemizedlist>
+
+          <listitem>
+            <para>
+              <guimenuitem>MySQL Command Line Client</guimenuitem>: This
+              is a shortcut to the <command>mysql</command> command-line
+              client and is configured to connect as the
+              <literal>root</literal> user. The shortcut prompts for a
+              <literal>root</literal> user password when you connect.
+            </para>
+          </listitem>
+
+          <listitem>
+            <para>
+              <guimenuitem>MySQL Server Instance Config
+              Wizard</guimenuitem>: This is a shortcut to the MySQL
+              Configuration Wizard. Use this shortcut to configure a
+              newly installed server, or to reconfigure an existing
+              server.
+            </para>
+          </listitem>
+
+          <listitem>
+            <para>
+              <guimenuitem>MySQL Documentation</guimenuitem>: This is a
+              link to the MySQL server documentation that is stored
+              locally in the MySQL server installation directory. This
+              option is not available when the MySQL server is installed
+              using the Essentials installation package.
+            </para>
+          </listitem>
+
+        </itemizedlist>
+
+        <remark role="update">
+          [MH] Once again, if the package names change update this!
+        </remark>
+
+        <para>
+          <emphasis role="bold">Changes to the File System</emphasis>
+        </para>
+
+        <para>
+          The MySQL Installation Wizard by default installs the MySQL
+          &current-series; server to <filename>C:\<replaceable>Program
+          Files</replaceable>\MySQL\MySQL Server
+          <replaceable>&current-series;</replaceable></filename>,
where
+          <replaceable>Program Files</replaceable> is the default
+          location for applications in your system, and
+          <replaceable>&current-series;</replaceable> is the major
+          version of your MySQL server. This is the recommended location
+          for the MySQL server, replacing the former default location
+          <filename>C:\mysql</filename>.
+        </para>
+
+        <para>
+          By default, all MySQL applications are stored in a common
+          directory at <filename>C:\<replaceable>Program
+          Files</replaceable>\MySQL</filename>, where
+          <replaceable>Program Files</replaceable> is the default
+          location for applications in your Windows installation. A
+          typical MySQL installation on a developer machine might look
+          like this:
+        </para>
+
+<programlisting>
+C:\Program Files\MySQL\MySQL Server &current-series;
+C:\Program Files\MySQL\MySQL Administrator 1.0
+C:\Program Files\MySQL\MySQL Query Browser 1.0
+</programlisting>
+
+        <para>
+          This approach makes it easier to manage and maintain all MySQL
+          applications installed on a particular system.
+        </para>
+
+      </section>
+
+      <section id="mysql-install-wizard-upgrading" role="cs">
+
+        <title>Upgrading MySQL with the Installation Wizard</title>
+
+        <para>
+          The MySQL Installation Wizard can perform server upgrades
+          automatically using the upgrade capabilities of MSI. That
+          means you do not need to remove a previous installation
+          manually before installing a new release. The installer
+          automatically shuts down and removes the previous MySQL
+          service before installing the new version.
+        </para>
+
+        <para>
+          Automatic upgrades are available only when upgrading between
+          installations that have the same major and minor version
+          numbers. For example, you can upgrade automatically from MySQL
+          4.1.5 to MySQL 4.1.6, but not from MySQL &previous-series; to
+          MySQL &current-series;.
+        </para>
+
+        <para>
+          See <xref linkend="windows-upgrading"/>.
+        </para>
+
+        <remark>
+          END UPGRADING
+        </remark>
+
+      </section>
+
+    </section>
+
+    <section id="mysql-config-wizard" role="cses">
+
+      <title>MySQL Server Configuration Wizard</title>
+
+      <para>
+        The MySQL Server Configuration Wizard helps automate the process
+        of configuring your server. It creates a custom MySQL
+        configuration file (<filename>my.ini</filename> or
+        <filename>my.cnf</filename>) by asking you a series of questions
+        and then applying your responses to a template to generate the
+        configuration file that is tuned to your installation.
+      </para>
+
+      <para>
+        The MySQL Server Configuration Wizard is included with the MySQL
+        &current-series; server. For Community Server users, the MySQL
+        Server Configuration Wizard is available only for Windows. For
+        Enterprise Server users, the MySQL Server Configuration Wizard
+        is included as part of the standard Enterprise Installer.
+      </para>
+
+      <para>
+        The MySQL Server Configuration Wizard is to a large extent the
+        result of feedback that MySQL AB has received from many users
+        over a period of several years. However, if you find that it
+        lacks some feature important to you, please report it in our
+        bugs database using the instructions given in
+        <xref linkend="bug-reports"/>.
+      </para>
+
+      <section id="mysql-config-wizard-starting" role="cses">
+
+        <title>Starting the MySQL Server Configuration Wizard</title>
+
+        <para>
+          The MySQL Server Configuration Wizard is normally started as
+          part of the installation process. You should only need to run
+          the MySQL Server Configuration Wizard again when you need to
+          change the configuration parameters of your server.
+        </para>
+
+        <para>
+          If you chose not to open a port prior to installing MySQL on
+          Windows Vista, you can choose to use the MySQL Server
+          Configuration Wizard after installation. However, you must
+          open a port in the Windows Firewall. To do this see the
+          instructions given in
+          <xref linkend="mysql-install-wizard-starting"/>. Rather than
+          opening a port, you also have the option of adding MySQL as a
+          program that bypasses the Windows Firewall. One or the other
+          option is sufficient &mdash; you need not do both.
+          Additionally, when running the MySQL Server Configuration
+          Wizard on Windows Vista ensure that you are logged in as a
+          user with administrative rights.
+        </para>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata fileref="images/published/mysql-cfg-fig1.png" format="PNG"/>
+          </imageobject>
+          <textobject>
+            <phrase lang="en">MySQL Server Configuration Wizard</phrase>
+          </textobject>
+        </mediaobject>
+
+        <section id="mysql-config-wizard-starting-windows" role="cses">
+
+          <title>The MySQL Server Configuration Wizard on Windows</title>
+
+          <para>
+            You can launch the MySQL Configuration Wizard by clicking
+            the <guimenuitem>MySQL Server Instance Config
+            Wizard</guimenuitem> entry in the
+            <guisubmenu>MySQL</guisubmenu> section of the Windows
+            <guimenu>Start</guimenu> menu.
+          </para>
+
+          <para>
+            Alternatively, you can navigate to the
+            <filename>bin</filename> directory of your MySQL
+            installation and launch the
+            <filename>MySQLInstanceConfig.exe</filename> file directly.
+          </para>
+
+          <para>
+            The MySQL Server Configuration Wizard places the
+            <filename>my.ini</filename> file in the installation
+            directory for the MySQL server. This helps associate
+            configuration files with particular server instances.
+          </para>
+
+          <para>
+            To ensure that the MySQL server knows where to look for the
+            <filename>my.ini</filename> file, an argument similar to
+            this is passed to the MySQL server as part of the service
+            installation:
+          </para>
+
+<programlisting>
+--defaults-file="<replaceable>C:\Program Files\MySQL\MySQL Server
&current-series;</replaceable>\my.ini"
+</programlisting>
+
+          <para>
+            Here, <replaceable>C:\Program Files\MySQL\MySQL Server
+            &current-series;</replaceable> is replaced with the
+            installation path to the MySQL Server. The
+            <option>--defaults-file</option> option instructs the MySQL
+            server to read the specified file for configuration options
+            when it starts.
+          </para>
+
+          <para>
+            Apart from making changes to the <filename>my.ini</filename>
+            file by running the MySQL Server Configuration Wizard again,
+            you can modify it by opening it with a text editor and
+            making any necessary changes. You can also modify the server
+            configuration with the
+            <ulink url="http://www.mysql.com/products/administrator/">MySQL
+            Administrator</ulink> utility. For more information about
+            server configuration, see <xref linkend="server-options"/>.
+          </para>
+
+          <para>
+            MySQL clients and utilities such as the
+            <command>mysql</command> and
<command>mysqldump</command>
+            command-line clients are not able to locate the
+            <filename>my.ini</filename> file located in the server
+            installation directory. To configure the client and utility
+            applications, create a new <filename>my.ini</filename> file
+            in the Windows installation directory (for example,
+            <filename>C:\WINDOWS</filename>).
+          </para>
+
+          <para>
+            <remark role="update">
+              [SH] Amend the list with Windows Vista once it's there
+            </remark>
+
+            Under Windows Server 2003, Windows Server 2000 and Windows
+            XP, MySQL Server Configuration Wizard will configure MySQL
+            to work as a Windows service. To start and stop MySQL you
+            use the <filename>Services</filename> application that is
+            supplied as part of the Windows Administrator Tools.
+          </para>
+
+        </section>
+
+      </section>
+
+      <section id="mysql-config-wizard-maintenance" role="cses">
+
+        <title>Choosing a Maintenance Option</title>
+
+        <para>
+          If the MySQL Server Configuration Wizard detects an existing
+          configuration file, you have the option of either
+          reconfiguring your existing server, or removing the server
+          instance by deleting the configuration file and stopping and
+          removing the MySQL service.
+        </para>
+
+        <para>
+          To reconfigure an existing server, choose the
+          <guimenuitem>Re-configure Instance</guimenuitem> option and
+          click the <guibutton>Next</guibutton> button. Any existing
+          configuration file is not overwritten, but renamed (within the
+          same directory) using a timestamp (Windows) or sequential
+          number (Linux). To remove the existing server instance, choose
+          the <guimenuitem>Remove Instance</guimenuitem> option and
+          click the <guibutton>Next</guibutton> button.
+        </para>
+
+        <para>
+          If you choose the <guimenuitem>Remove Instance</guimenuitem>
+          option, you advance to a confirmation window. Click the
+          <guibutton>Execute</guibutton> button. The MySQL Server
+          Configuration Wizard stops and removes the MySQL service, and
+          then deletes the configuration file. The server installation
+          and its <filename>data</filename> folder are not removed.
+        </para>
+
+        <para>
+          If you choose the <guimenuitem>Re-configure
+          Instance</guimenuitem> option, you advance to the
+          <guimenu>Configuration Type</guimenu> dialog where you can
+          choose the type of installation that you wish to configure.
+        </para>
+
+      </section>
+
+      <section id="mysql-config-wizard-configuration-type" role="cses">
+
+        <title>Choosing a Configuration Type</title>
+
+        <para>
+          When you start the MySQL Server Configuration Wizard for a new
+          MySQL installation, or choose the <guimenuitem>Re-configure
+          Instance</guimenuitem> option for an existing installation,
+          you advance to the <guimenu>Configuration Type</guimenu>
+          dialog.
+        </para>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata fileref="images/published/mysql-cfg-fig2.png" format="PNG"/>
+          </imageobject>
+          <textobject>
+            <phrase lang="en">MySQL Server Configuration Wizard:
+            Configuration Type</phrase>
+          </textobject>
+        </mediaobject>
+
+        <para>
+          There are two configuration types available:
+          <guimenuitem>Detailed Configuration</guimenuitem> and
+          <guimenuitem>Standard Configuration</guimenuitem>. The
+          <guimenuitem>Standard Configuration</guimenuitem> option is
+          intended for new users who want to get started with MySQL
+          quickly without having to make many decisions about server
+          configuration. The <guimenuitem>Detailed
+          Configuration</guimenuitem> option is intended for advanced
+          users who want more fine-grained control over server
+          configuration.
+        </para>
+
+        <para>
+          If you are new to MySQL and need a server configured as a
+          single-user developer machine, the <guimenuitem>Standard
+          Configuration</guimenuitem> should suit your needs. Choosing
+          the <guimenuitem>Standard Configuration</guimenuitem> option
+          causes the MySQL Configuration Wizard to set all configuration
+          options automatically with the exception of
+          <guimenuitem>Service Options</guimenuitem> and
+          <guimenuitem>Security Options</guimenuitem>.
+        </para>
+
+        <para>
+          The <guimenuitem>Standard Configuration</guimenuitem> sets
+          options that may be incompatible with systems where there are
+          existing MySQL installations. If you have an existing MySQL
+          installation on your system in addition to the installation
+          you wish to configure, the <guimenuitem>Detailed
+          Configuration</guimenuitem> option is recommended.
+        </para>
+
+        <para>
+          To complete the <guimenuitem>Standard
+          Configuration</guimenuitem>, please refer to the sections on
+          <guimenuitem>Service Options</guimenuitem> and
+          <guimenuitem>Security Options</guimenuitem> in
+          <xref linkend="mysql-config-wizard-service"/>, and
+          <xref linkend="mysql-config-wizard-security"/>, respectively.
+        </para>
+
+      </section>
+
+      <section id="mysql-config-wizard-server-type" role="cses">
+
+        <title>The Server Type Dialog</title>
+
+        <para>
+          There are three different server types available to choose
+          from. The server type that you choose affects the decisions
+          that the MySQL Server Configuration Wizard makes with regard
+          to memory, disk, and processor usage.
+        </para>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata fileref="images/published/mysql-cfg-fig3.png" format="PNG"/>
+          </imageobject>
+          <textobject>
+            <phrase lang="en">MySQL Server Configuration Wizard: Server
+            Type</phrase>
+          </textobject>
+        </mediaobject>
+
+        <itemizedlist>
+
+          <listitem>
+            <para>
+              <guimenuitem>Developer Machine</guimenuitem>: Choose this
+              option for a typical desktop workstation where MySQL is
+              intended only for personal use. It is assumed that many
+              other desktop applications are running. The MySQL server
+              is configured to use minimal system resources.
+            </para>
+          </listitem>
+
+          <listitem>
+            <para>
+              <guimenuitem>Server Machine</guimenuitem>: Choose this
+              option for a server machine where the MySQL server is
+              running alongside other server applications such as FTP,
+              email, and Web servers. The MySQL server is configured to
+              use a moderate portion of the system resources.
+            </para>
+          </listitem>
+
+          <listitem>
+            <para>
+              <guimenuitem>Dedicated MySQL Server Machine</guimenuitem>:
+              Choose this option for a server machine that is intended
+              to run only the MySQL server. It is assumed that no other
+              applications are running. The MySQL server is configured
+              to use all available system resources.
+            </para>
+          </listitem>
+
+        </itemizedlist>
+
+        <note>
+          <para>
+            By selecting one of the preconfigured configurations, the
+            values and settings of various options in your
+            <filename>my.cnf</filename> or
<filename>my.ini</filename>
+            will be altered accordingly. The default values and options
+            as described in the reference manual may therefore be
+            different to the options and values that were created during
+            the execution of the configuration wizard.
+          </para>
+        </note>
+
+      </section>
+
+      <section id="mysql-config-wizard-database-usage" role="cses">
+
+        <title>The Database Usage Dialog</title>
+
+        <para>
+          The <guimenu>Database Usage</guimenu> dialog allows you to
+          indicate the storage engines that you expect to use when
+          creating MySQL tables. The option you choose determines
+          whether the <literal>InnoDB</literal> storage engine is
+          available and what percentage of the server resources are
+          available to <literal>InnoDB</literal>.
+        </para>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata fileref="images/published/mysql-cfg-fig4.png" format="PNG"/>
+          </imageobject>
+          <textobject>
+            <phrase lang="en">MySQL Server Configuration Wizard: Usage
+            Dialog</phrase>
+          </textobject>
+        </mediaobject>
+
+        <itemizedlist>
+
+          <listitem>
+            <para>
+              <guimenuitem>Multifunctional Database</guimenuitem>: This
+              option enables both the <literal>InnoDB</literal> and
+              <literal>MyISAM</literal> storage engines and divides
+              resources evenly between the two. This option is
+              recommended for users who use both storage engines on a
+              regular basis.
+            </para>
+          </listitem>
+
+          <listitem>
+            <para>
+              <guimenuitem>Transactional Database Only</guimenuitem>:
+              This option enables both the <literal>InnoDB</literal> and
+              <literal>MyISAM</literal> storage engines, but dedicates
+              most server resources to the <literal>InnoDB</literal>
+              storage engine. This option is recommended for users who
+              use <literal>InnoDB</literal> almost exclusively and make
+              only minimal use of <literal>MyISAM</literal>.
+            </para>
+          </listitem>
+
+          <listitem>
+            <para>
+              <guimenuitem>Non-Transactional Database
+              Only</guimenuitem>: This option disables the
+              <literal>InnoDB</literal> storage engine completely and
+              dedicates all server resources to the
+              <literal>MyISAM</literal> storage engine. This option is
+              recommended for users who do not use
+              <literal>InnoDB</literal>.
+            </para>
+          </listitem>
+
+        </itemizedlist>
+
+        <para>
+          The Configuration Wizard uses a template to generate the
+          server configuration file. The <guimenu>Database
+          Usage</guimenu> dialog sets one of the following option
+          strings:
+        </para>
+
+<programlisting>
+Multifunctional Database:        MIXED
+Transactional Database Only:     INNODB
+Non-Transactional Database Only: MYISAM
+</programlisting>
+
+        <para>
+          When these options are processed through the default template
+          (my-template.ini) the result is:
+        </para>
+
+<programlisting>
+Multifunctional Database:
+default-storage-engine=InnoDB
+_myisam_pct=50
+
+Transactional Database Only:
+default-storage-engine=InnoDB
+_myisam_pct=5
+
+Non-Transactional Database Only:
+default-storage-engine=MyISAM
+_myisam_pct=100
+skip-innodb
+</programlisting>
+
+        <para>
+          The <literal>_myisam_pct</literal> value is used to calculate
+          the percentage of resources dedicated to
+          <literal>MyISAM</literal>. The remaining resources are
+          allocated to <literal>InnoDB</literal>.
+        </para>
+
+      </section>
+
+      <section id="mysql-config-wizard-tablespace" role="cses">
+
+        <title>The InnoDB Tablespace Dialog</title>
+
+        <para>
+          Some users may want to locate the <literal>InnoDB</literal>
+          tablespace files in a different location than the MySQL server
+          data directory. Placing the tablespace files in a separate
+          location can be desirable if your system has a higher capacity
+          or higher performance storage device available, such as a RAID
+          storage system.
+        </para>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata fileref="images/published/mysql-cfg-fig5.png" format="PNG"/>
+          </imageobject>
+          <textobject>
+            <phrase lang="en">MySQL Server Configuration Wizard: InnoDB
+            Data Tablespace</phrase>
+          </textobject>
+        </mediaobject>
+
+        <para>
+          To change the default location for the
+          <literal>InnoDB</literal> tablespace files, choose a new drive
+          from the drop-down list of drive letters and choose a new path
+          from the drop-down list of paths. To create a custom path,
+          click the <guibutton>...</guibutton> button.
+        </para>
+
+        <para>
+          If you are modifying the configuration of an existing server,
+          you must click the <guibutton>Modify</guibutton> button before
+          you change the path. In this situation you must move the
+          existing tablespace files to the new location manually before
+          starting the server.
+        </para>
+
+      </section>
+
+      <section id="mysql-config-wizard-connections" role="cses">
+
+        <title>The Concurrent Connections Dialog</title>
+
+        <para>
+          To prevent the server from running out of resources, it is
+          important to limit the number of concurrent connections to the
+          MySQL server that can be established. The <guimenu>Concurrent
+          Connections</guimenu> dialog allows you to choose the expected
+          usage of your server, and sets the limit for concurrent
+          connections accordingly. It is also possible to set the
+          concurrent connection limit manually.
+        </para>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata fileref="images/published/mysql-cfg-fig6.png" format="PNG"/>
+          </imageobject>
+          <textobject>
+            <phrase lang="en">MySQL Server Configuration Wizard:
+            Connections</phrase>
+          </textobject>
+        </mediaobject>
+
+        <itemizedlist>
+
+          <listitem>
+            <para>
+              <guimenuitem>Decision Support (DSS)/OLAP</guimenuitem>:
+              Choose this option if your server does not require a large
+              number of concurrent connections. The maximum number of
+              connections is set at 100, with an average of 20
+              concurrent connections assumed.
+            </para>
+          </listitem>
+
+          <listitem>
+            <para>
+              <guimenuitem>Online Transaction Processing
+              (OLTP)</guimenuitem>: Choose this option if your server
+              requires a large number of concurrent connections. The
+              maximum number of connections is set at 500.
+            </para>
+          </listitem>
+
+          <listitem>
+            <para>
+              <guimenuitem>Manual Setting</guimenuitem>: Choose this
+              option to set the maximum number of concurrent connections
+              to the server manually. Choose the number of concurrent
+              connections from the drop-down box provided, or enter the
+              maximum number of connections into the drop-down box if
+              the number you desire is not listed.
+            </para>
+          </listitem>
+
+        </itemizedlist>
+
+      </section>
+
+      <section id="mysql-config-wizard-networking" role="cses">
+
+        <title>The Networking and Strict Mode Options Dialog</title>
+
+        <para>
+          Use the <guimenu>Networking Options</guimenu> dialog to enable
+          or disable TCP/IP networking and to configure the port number
+          that is used to connect to the MySQL server.
+        </para>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata fileref="images/published/mysql-cfg-fig7.png" format="PNG"/>
+          </imageobject>
+          <textobject>
+            <phrase lang="en">MySQL Server Configuration Wizard: Network
+            Configuration</phrase>
+          </textobject>
+        </mediaobject>
+
+        <para>
+          TCP/IP networking is enabled by default. To disable TCP/IP
+          networking, uncheck the box next to the <guimenuitem>Enable
+          TCP/IP Networking</guimenuitem> option.
+        </para>
+
+        <para>
+          Port 3306 is used by default. To change the port used to
+          access MySQL, choose a new port number from the drop-down box
+          or type a new port number directly into the drop-down box. If
+          the port number you choose is in use, you are prompted to
+          confirm your choice of port number.
+        </para>
+
+        <para>
+          Set the <guimenu>Server SQL Mode</guimenu> to either enable or
+          disable strict mode. Enabling strict mode (default) makes
+          MySQL behave more like other database management systems.
+          <emphasis>If you run applications that rely on MySQL's old
+          <quote>forgiving</quote> behavior, make sure to either adapt
+          those applications or to disable strict mode.</emphasis> For
+          more information about strict mode, see
+          <xref linkend="server-sql-mode"/>.
+        </para>
+
+      </section>
+
+      <section id="mysql-config-wizard-character-set" role="cses">
+
+        <title>The Character Set Dialog</title>
+
+        <para>
+          The MySQL server supports multiple character sets and it is
+          possible to set a default server character set that is applied
+          to all tables, columns, and databases unless overridden. Use
+          the <guimenu>Character Set</guimenu> dialog to change the
+          default character set of the MySQL server.
+        </para>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata fileref="images/published/mysql-cfg-fig8.png" format="PNG"/>
+          </imageobject>
+          <textobject>
+            <phrase lang="en">MySQL Server Configuration Wizard:
+            Character Set</phrase>
+          </textobject>
+        </mediaobject>
+
+        <itemizedlist>
+
+          <listitem>
+            <para>
+              <guimenuitem>Standard Character Set</guimenuitem>: Choose
+              this option if you want to use <literal>latin1</literal>
+              as the default server character set.
+              <literal>latin1</literal> is used for English and many
+              Western European languages.
+            </para>
+          </listitem>
+
+          <listitem>
+            <para>
+              <guimenuitem>Best Support For
+              Multilingualism</guimenuitem>: Choose this option if you
+              want to use <literal>utf8</literal> as the default server
+              character set. This is a Unicode character set that can
+              store characters from many different languages.
+            </para>
+          </listitem>
+
+          <listitem>
+            <para>
+              <guimenuitem>Manual Selected Default Character Set /
+              Collation</guimenuitem>: Choose this option if you want to
+              pick the server's default character set manually. Choose
+              the desired character set from the provided drop-down
+              list.
+            </para>
+          </listitem>
+
+        </itemizedlist>
+
+      </section>
+
+      <section id="mysql-config-wizard-service" role="es">
+
+        <title>The Service Options Dialog</title>
+
+        <para>
+          On Windows platforms, the MySQL server can be installed as a
+          Windows service. When installed this way, the MySQL server can
+          be started automatically during system startup, and even
+          restarted automatically by Windows in the event of a service
+          failure.
+        </para>
+
+        <para>
+          The MySQL Server Configuration Wizard installs the MySQL
+          server as a service by default, using the service name
+          <literal>MySQL</literal>. If you do not wish to install the
+          service, uncheck the box next to the <guimenuitem>Install As
+          Windows Service</guimenuitem> option. You can change the
+          service name by picking a new service name from the drop-down
+          box provided or by entering a new service name into the
+          drop-down box.
+        </para>
+
+        <note>
+          <para>
+            Service names can include any legal character except forward
+            (<literal>/</literal>) or backward
(<literal>\</literal>)
+            slashes, and must be less than 256 characters long.
+          </para>
+        </note>
+
+        <warning>
+          <para>
+            If you are installing multiple versions of MySQL onto the
+            same machine, you <emphasis>must</emphasis> choose a
+            different service name for each version that you install. If
+            you do not choose a different service for each installed
+            version then the service manager information will be
+            inconsistent and this will cause problems when you try to
+            uninstall a previous version.
+          </para>
+
+          <para>
+            If you have already installed multiple versions using the
+            same service name, you must manually edit the contents of
+            the
+           
<literal>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services</literal>
+            parameters within the Windows registry to update the
+            association of the service name with the correct server
+            version.
+          </para>
+
+          <para>
+            Typically, when installing multiple versions you create a
+            service name based on the version information. For example,
+            you might install MySQL 5.x as <literal>mysql5</literal>, or
+            specific versions such as MySQL 5.0.56 as
+            <literal>mysql5056</literal>.
+          </para>
+        </warning>
+
+        <para>
+          To install the MySQL server as a service but not have it
+          started automatically at startup, uncheck the box next to the
+          <guimenuitem>Launch the MySQL Server
+          Automatically</guimenuitem> option.
+        </para>
+
+      </section>
+
+      <section id="mysql-config-wizard-security" role="cses">
+
+        <title>The Security Options Dialog</title>
+
+        <para>
+          <emphasis>It is strongly recommended that you set a
+          <literal>root</literal> password for your MySQL
+          server</emphasis>, and the MySQL Server Configuration Wizard
+          requires by default that you do so. If you do not wish to set
+          a <literal>root</literal> password, uncheck the box next to
+          the <guimenuitem>Modify Security Settings</guimenuitem>
+          option.
+        </para>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata fileref="images/published/mysql-cfg-fig9.png" format="PNG"/>
+          </imageobject>
+          <textobject>
+            <phrase lang="en">MySQL Server Configuration Wizard:
+            Security</phrase>
+          </textobject>
+        </mediaobject>
+
+        <para>
+          To set the <literal>root</literal> password, enter the desired
+          password into both the <guimenuitem>New root
+          password</guimenuitem> and <guimenuitem>Confirm</guimenuitem>
+          boxes. If you are reconfiguring an existing server, you need
+          to enter the existing <literal>root</literal> password into
+          the <guimenuitem>Current root password</guimenuitem> box.
+        </para>
+
+        <para>
+          To prevent <literal>root</literal> logins from across the
+          network, check the box next to the <guimenuitem>Root may only
+          connect from localhost</guimenuitem> option. This increases
+          the security of your <literal>root</literal> account.
+        </para>
+
+        <para>
+          <remark role="todo">
+            [SH] Depending on how this will (or won't) be changed in the
+            Enterprise Installer, this paragraph needs to be reworked.
+          </remark>
+
+          To create an anonymous user account, check the box next to the
+          <guimenuitem>Create An Anonymous Account</guimenuitem> option.
+          Creating an anonymous account can decrease server security and
+          cause login and permission difficulties. For this reason, it
+          is not recommended.
+        </para>
+
+      </section>
+
+      <section id="mysql-config-wizard-confirmation" role="cses">
+
+        <title>The Confirmation Dialog</title>
+
+        <para>
+          The final dialog in the MySQL Server Configuration Wizard is
+          the <guimenu>Confirmation Dialog</guimenu>. To start the
+          configuration process, click the
+          <guibutton>Execute</guibutton> button. To return to a previous
+          dialog, click the <guibutton>Back</guibutton> button. To exit
+          the MySQL Server Configuration Wizard without configuring the
+          server, click the <guibutton>Cancel</guibutton> button.
+        </para>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata fileref="images/published/mysql-cfg-fig10.png"
format="PNG"/>
+          </imageobject>
+          <textobject>
+            <phrase lang="en">MySQL Server Configuration Wizard:
+            Confirmation</phrase>
+          </textobject>
+        </mediaobject>
+
+        <para>
+          After you click the <guibutton>Execute</guibutton> button, the
+          MySQL Server Configuration Wizard performs a series of tasks
+          and displays the progress onscreen as the tasks are performed.
+        </para>
+
+        <para>
+          The MySQL Server Configuration Wizard first determines
+          configuration file options based on your choices using a
+          template prepared by MySQL AB developers and engineers. This
+          template is named <filename>my-template.ini</filename> and is
+          located in your server installation directory.
+        </para>
+
+        <para>
+          The MySQL Configuration Wizard then writes these options to
+          the corresponding configuration file.
+        </para>
+
+        <para>
+          If you chose to create a service for the MySQL server, the
+          MySQL Server Configuration Wizard creates and starts the
+          service. If you are reconfiguring an existing service, the
+          MySQL Server Configuration Wizard restarts the service to
+          apply your configuration changes.
+        </para>
+
+        <para>
+          If you chose to set a <literal>root</literal> password, the
+          MySQL Configuration Wizard connects to the server, sets your
+          new <literal>root</literal> password, and applies any other
+          security settings you may have selected.
+        </para>
+
+        <para>
+          After the MySQL Server Configuration Wizard has completed its
+          tasks, it displays a summary. Click the
+          <guibutton>Finish</guibutton> button to exit the MySQL Server
+          Configuration Wizard.
+        </para>
+
+      </section>
+
+    </section>
+
+    <section id="windows-install-archive" role="cs">
+
+      <title>Installing MySQL from a Noinstall Zip Archive</title>
+
+      <para>
+        Users who are installing from the Noinstall package can use the
+        instructions in this section to manually install MySQL. The
+        process for installing MySQL from a Zip archive is as follows:
+      </para>
+
+      <orderedlist>
+
+        <listitem>
+          <para>
+            Extract the archive to the desired install directory
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            Create an option file
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            Choose a MySQL server type
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            Start the MySQL server
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            Secure the default user accounts
+          </para>
+        </listitem>
+
+      </orderedlist>
+
+      <para>
+        This process is described in the sections that follow.
+      </para>
+
+    </section>
+
+    <section id="windows-extract-archive" role="cs">
+
+      <title>Extracting the Install Archive</title>
+
+      <para>
+        To install MySQL manually, do the following:
+      </para>
+
+      <orderedlist>
+
+        <listitem>
+          <para>
+            If you are upgrading from a previous version please refer to
+            <xref linkend="windows-upgrading"/>, before beginning the
+            upgrade process.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            Make sure that you are logged in as a user with
+            administrator privileges.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            Choose an installation location. Traditionally, the MySQL
+            server is installed in <filename>C:\mysql</filename>. The
+            MySQL Installation Wizard installs MySQL under
+            <filename>C:\Program Files\MySQL</filename>. If you do not
+            install MySQL at <filename>C:\mysql</filename>, you must
+            specify the path to the install directory during startup or
+            in an option file. See
+            <xref linkend="windows-create-option-file"/>.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            Extract the install archive to the chosen installation
+            location using your preferred Zip archive tool. Some tools
+            may extract the archive to a folder within your chosen
+            installation location. If this occurs, you can move the
+            contents of the subfolder into the chosen installation
+            location.
+          </para>
+        </listitem>
+
+      </orderedlist>
+
+    </section>
+
+    <section id="windows-create-option-file" role="cses">
+
+      <title>Creating an Option File</title>
+
+      <para>
+        If you need to specify startup options when you run the server,
+        you can indicate them on the command line or place them in an
+        option file. For options that are used every time the server
+        starts, you may find it most convenient to use an option file to
+        specify your MySQL configuration. This is particularly true
+        under the following circumstances:
+      </para>
+
+      <itemizedlist>
+
+        <listitem>
+          <para>
+            The installation or data directory locations are different
+            from the default locations (<filename>C:\Program
+            Files\MySQL\MySQL Server &current-series;</filename> and
+            <filename>C:\Program Files\MySQL\MySQL Server
+            &current-series;\data</filename>).
+          </para>
+        </listitem>
+
+        <listitem>
+          <remark role="todo">
+            Add an example here.
+          </remark>
+
+          <para>
+            You need to tune the server settings.
+          </para>
+        </listitem>
+
+      </itemizedlist>
+
+      <para>
+        When the MySQL server starts on Windows, it looks for options in
+        two files: the <filename>my.ini</filename> file in the Windows
+        directory, and the <filename>C:\my.cnf</filename> file. The
+        Windows directory typically is named something like
+        <filename>C:\WINDOWS</filename>. You can determine its exact
+        location from the value of the <literal>WINDIR</literal>
+        environment variable using the following command:
+      </para>
+
+<programlisting>
+C:\&gt; <userinput>echo %WINDIR%</userinput>
+</programlisting>
+
+      <para>
+        MySQL looks for options first in the <filename>my.ini</filename>
+        file, and then in the <filename>my.cnf</filename> file. However,
+        to avoid confusion, it's best if you use only one file. If your
+        PC uses a boot loader where <filename>C:</filename> is not the
+        boot drive, your only option is to use the
+        <filename>my.ini</filename> file. Whichever option file you use,
+        it must be a plain text file.
+      </para>
+
+      <para>
+        You can also make use of the example option files included with
+        your MySQL distribution; see
+        <xref linkend="option-files-preconfigured"/>.
+      </para>
+
+      <para>
+        An option file can be created and modified with any text editor,
+        such as Notepad. For example, if MySQL is installed in
+        <filename>E:\mysql</filename> and the data directory is in
+        <filename>E:\mydata\data</filename>, you can create an option
+        file containing a <literal>[mysqld]</literal> section to specify
+        values for the <literal>basedir</literal> and
+        <literal>datadir</literal> parameters:
+      </para>
+
+<programlisting>
+[mysqld]
+# set basedir to your installation path
+basedir=E:/mysql
+# set datadir to the location of your data directory
+datadir=E:/mydata/data
+</programlisting>
+
+      <para>
+        Note that Windows pathnames are specified in option files using
+        (forward) slashes rather than backslashes. If you do use
+        backslashes, you must double them:
+      </para>
+
+<programlisting>
+[mysqld]
+# set basedir to your installation path
+basedir=E:\\mysql
+# set datadir to the location of your data directory
+datadir=E:\\mydata\\data
+</programlisting>
+
+      <para>
+        On Windows, the MySQL installer places the data directory
+        directly under the directory where you install MySQL. If you
+        would like to use a data directory in a different location, you
+        should copy the entire contents of the <filename>data</filename>
+        directory to the new location. For example, if MySQL is
+        installed in <filename>C:\Program Files\MySQL\MySQL Server
+        &current-series;</filename>, the data directory is by default in
+        <filename>C:\Program Files\MySQL\MySQL Server
+        &current-series;\data</filename>. If you want to use
+        <filename>E:\mydata</filename> as the data directory instead,
+        you must do two things:
+      </para>
+
+      <orderedlist>
+
+        <listitem>
+          <para>
+            Move the entire <filename>data</filename> directory and all
+            of its contents from <filename>C:\Program Files\MySQL\MySQL
+            Server &current-series;\data</filename> to
+            <filename>E:\mydata</filename>.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            Use a <option>--datadir</option> option to specify the new
+            data directory location each time you start the server.
+          </para>
+        </listitem>
+
+      </orderedlist>
+
+    </section>
+
+    <section id="windows-select-server" role="cs">
+
+      <title>Selecting a MySQL Server Type</title>
+
+      <para>
+        The following table shows the available servers for Windows in
+        MySQL &current-series;.
+      </para>
+
+      <informaltable>
+        <tgroup cols="2">
+          <colspec colwidth="20*"/>
+          <colspec colwidth="80*"/>
+          <tbody>
+            <row>
+              <entry><emphasis
role="bold">Binary</emphasis></entry>
+              <entry><emphasis
role="bold">Description</emphasis></entry>
+            </row>
+            <row>
+              <entry><command>mysqld-nt</command></entry>
+              <entry>Optimized binary with named-pipe support</entry>
+            </row>
+            <row>
+              <entry><command>mysqld</command></entry>
+              <entry>Optimized binary without named-pipe support</entry>
+            </row>
+            <row>
+              <entry><command>mysqld-debug</command></entry>
+              <entry>Like <command>mysqld-nt</command>, but compiled
with full debugging and
+                automatic memory allocation checking</entry>
+            </row>
+          </tbody>
+        </tgroup>
+      </informaltable>
+
+      <para>
+        All of the preceding binaries are optimized for modern Intel
+        processors, but should work on any Intel i386-class or higher
+        processor.
+      </para>
+
+      <para>
+        Each of the servers in a distribution support the same set of
+        storage engines. The <literal>SHOW ENGINES</literal> statement
+        displays which engines a given server supports.
+      </para>
+
+      <para>
+        All Windows MySQL &current-series; servers have support for
+        symbolic linking of database directories.
+      </para>
+
+      <indexterm>
+        <primary>TCP/IP</primary>
+      </indexterm>
+
+      <indexterm>
+        <primary>named pipes</primary>
+      </indexterm>
+
+      <para>
+        MySQL supports TCP/IP on all Windows platforms. MySQL servers on
+        Windows support named pipes as indicated in the following list.
+        However, the default is to use TCP/IP regardless of platform.
+        (Named pipes are slower than TCP/IP in many Windows
+        configurations.)
+      </para>
+
+      <para>
+        Use of named pipes is subject to these conditions:
+      </para>
+
+      <itemizedlist>
+
+        <listitem>
+          <para>
+            Named pipes are enabled only if you start the server with
+            the <option>--enable-named-pipe</option> option. It is
+            necessary to use this option explicitly because some users
+            have experienced problems with shutting down the MySQL
+            server when named pipes were used.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            Named-pipe connections are allowed only by the
+            <command>mysqld-nt</command> and
+            <command>mysqld-debug</command> servers.
+          </para>
+        </listitem>
+
+      </itemizedlist>
+
+      <note>
+        <para>
+          Most of the examples in this manual use
+          <command>mysqld</command> as the server name. If you choose to
+          use a different server, such as <command>mysqld-nt</command>,
+          make the appropriate substitutions in the commands that are
+          shown in the examples.
+        </para>
+      </note>
+
+    </section>
+
+    <section id="windows-server-first-start" role="cses">
+
+      <title>Starting the Server for the First Time</title>
+
+      <para>
+        This section gives a general overview of starting the MySQL
+        server. The following sections provide more specific information
+        for starting the MySQL server from the command line or as a
+        Windows service.
+      </para>
+
+      <para>
+        The information here applies primarily if you installed MySQL
+        using the <literal>Noinstall</literal> version, or if you wish
+        to configure and test MySQL manually rather than with the GUI
+        tools.
+      </para>
+
+      <para>
+        The examples in these sections assume that MySQL is installed
+        under the default location of <filename>C:\Program
+        Files\MySQL\MySQL Server &current-series;</filename>. Adjust the
+        pathnames shown in the examples if you have MySQL installed in a
+        different location.
+      </para>
+
+      <para>
+        Clients have two options. They can use TCP/IP, or they can use a
+        named pipe if the server supports named-pipe connections.
+      </para>
+
+      <para>
+        MySQL for Windows also supports shared-memory connections if the
+        server is started with the <option>--shared-memory</option>
+        option. Clients can connect through shared memory by using the
+        <option>--protocol=MEMORY</option> option.
+      </para>
+
+      <para>
+        For information about which server binary to run, see
+        <xref linkend="windows-select-server"/>.
+      </para>
+
+      <para>
+        Testing is best done from a command prompt in a console window
+        (or <quote>DOS window</quote>). In this way you can have the
+        server display status messages in the window where they are easy
+        to see. If something is wrong with your configuration, these
+        messages make it easier for you to identify and fix any
+        problems.
+      </para>
+
+      <para>
+        To start the server, enter this command:
+      </para>
+
+<programlisting>
+C:\&gt; <userinput>"C:\Program Files\MySQL\MySQL Server
&current-series;\bin\mysqld" --console</userinput>
+</programlisting>
+
+      <para>
+        For a server that includes <literal>InnoDB</literal> support,
+        you should see the messages similar to those following as it
+        starts (the pathnames and sizes may differ):
+      </para>
+
+<programlisting>
+InnoDB: The first specified datafile c:\ibdata\ibdata1 did not exist:
+InnoDB: a new database to be created!
+InnoDB: Setting file c:\ibdata\ibdata1 size to 209715200
+InnoDB: Database physically writes the file full: wait...
+InnoDB: Log file c:\iblogs\ib_logfile0 did not exist: new to be created
+InnoDB: Setting log file c:\iblogs\ib_logfile0 size to 31457280
+InnoDB: Log file c:\iblogs\ib_logfile1 did not exist: new to be created
+InnoDB: Setting log file c:\iblogs\ib_logfile1 size to 31457280
+InnoDB: Log file c:\iblogs\ib_logfile2 did not exist: new to be created
+InnoDB: Setting log file c:\iblogs\ib_logfile2 size to 31457280
+InnoDB: Doublewrite buffer not found: creating new
+InnoDB: Doublewrite buffer created
+InnoDB: creating foreign key constraint system tables
+InnoDB: foreign key constraint system tables created
+011024 10:58:25  InnoDB: Started
+</programlisting>
+
+      <para>
+        When the server finishes its startup sequence, you should see
+        something like this, which indicates that the server is ready to
+        service client connections:
+      </para>
+
+<programlisting>
+mysqld: ready for connections
+Version: '&current-version;'  socket: ''  port: 3306
+</programlisting>
+
+      <para>
+        The server continues to write to the console any further
+        diagnostic output it produces. You can open a new console window
+        in which to run client programs.
+      </para>
+
+      <para>
+        If you omit the <option>--console</option> option, the server
+        writes diagnostic output to the error log in the data directory
+        (<filename>C:\Program Files\MySQL\MySQL Server
+        &current-series;\data</filename> by default). The error log is
+        the file with the <filename>.err</filename> extension.
+      </para>
+
+      <note>
+        <para>
+          The accounts that are listed in the MySQL grant tables
+          initially have no passwords. After starting the server, you
+          should set up passwords for them using the instructions in
+          <xref linkend="post-installation"/>.
+        </para>
+      </note>
+
+    </section>
+
+    <section id="windows-start-command-line" role="cses">
+
+      <title>Starting MySQL from the Windows Command Line</title>
+
+      <para>
+        The MySQL server can be started manually from the command line.
+        This can be done on any version of Windows.
+      </para>
+
+      <para>
+        To start the <command>mysqld</command> server from the command
+        line, you should start a console window (or <quote>DOS
+        window</quote>) and enter this command:
+      </para>
+
+<programlisting>
+C:\&gt; <userinput>"C:\Program Files\MySQL\MySQL Server
&current-series;\bin\mysqld"</userinput>
+</programlisting>
+
+      <para>
+        The path to <command>mysqld</command> may vary depending on the
+        install location of MySQL on your system.
+      </para>
+
+      <para>
+        You can stop the MySQL server by executing this command:
+      </para>
+
+<programlisting>
+C:\&gt; <userinput>"C:\Program Files\MySQL\MySQL Server
&current-series;\bin\mysqladmin" -u root shutdown</userinput>
+</programlisting>
+
+      <note>
+        <para>
+          If the MySQL <literal>root</literal> user account has a
+          password, you need to invoke <command>mysqladmin</command>
+          with the <option>-p</option> option and supply the password
+          when prompted.
+        </para>
+      </note>
+
+      <para>
+        This command invokes the MySQL administrative utility
+        <command>mysqladmin</command> to connect to the server and tell
+        it to shut down. The command connects as the MySQL
+        <literal>root</literal> user, which is the default
+        administrative account in the MySQL grant system. Note that
+        users in the MySQL grant system are wholly independent from any
+        login users under Windows.
+      </para>
+
+      <para>
+        If <command>mysqld</command> doesn't start, check the error log
+        to see whether the server wrote any messages there to indicate
+        the cause of the problem. The error log is located in the
+        <filename>C:\Program Files\MySQL\MySQL Server
+        &current-series;\data</filename> directory. It is the file with
+        a suffix of <filename>.err</filename>. You can also try to start
+        the server as <command>mysqld --console</command>; in this case,
+        you may get some useful information on the screen that may help
+        solve the problem.
+      </para>
+
+      <para>
+        The last option is to start <command>mysqld</command> with the
+        <option>--standalone</option> and
<option>--debug</option>
+        options. In this case, <command>mysqld</command> writes a log
+        file <filename>C:\mysqld.trace</filename> that should contain
+        the reason why <command>mysqld</command> doesn't start. See
+        <ulink url="http://forge.mysql.com/wiki/MySQL_Internals_Porting">MySQL
+        Internals: Porting</ulink>.
+      </para>
+
+      <para>
+        Use <command>mysqld --verbose --help</command> to display all
+        the options that <command>mysqld</command> understands.
+      </para>
+
+    </section>
+
+    <section id="windows-start-service" role="cses">
+
+      <title>Starting MySQL as a Windows Service</title>
+
+      <para>
+        On Windows, the recommended way to run MySQL is to install it as
+        a Windows service, whereby MySQL starts and stops automatically
+        when Windows starts and stops. A MySQL server installed as a
+        service can also be controlled from the command line using
+        <command>NET</command> commands, or with the graphical
+        <command>Services</command> utility. Generally, to install MySQL
+        as a Windows service you should be logged in using an account
+        that has administrator rights.
+      </para>
+
+      <para>
+        The <command>Services</command> utility (the Windows
+        <command>Service Control Manager</command>) can be found in the
+        Windows Control Panel (under <guimenuitem>Administrative
+        Tools</guimenuitem> on Windows 2000, XP, Vista, and Server
+        2003). To avoid conflicts, it is advisable to close the
+        <command>Services</command> utility while performing server
+        installation or removal operations from the command line.
+      </para>
+
+      <para>
+        Before installing MySQL as a Windows service, you should first
+        stop the current server if it is running by using the following
+        command:
+      </para>
+
+<programlisting>
+C:\&gt; <userinput>"C:\Program Files\MySQL\MySQL Server
&current-series;\bin\mysqladmin"</userinput>
+          <userinput>-u root shutdown</userinput>
+</programlisting>
+
+      <note>
+        <para>
+          If the MySQL <literal>root</literal> user account has a
+          password, you need to invoke <command>mysqladmin</command>
+          with the <option>-p</option> option and supply the password
+          when prompted.
+        </para>
+      </note>
+
+      <para>
+        This command invokes the MySQL administrative utility
+        <command>mysqladmin</command> to connect to the server and tell
+        it to shut down. The command connects as the MySQL
+        <literal>root</literal> user, which is the default
+        administrative account in the MySQL grant system. Note that
+        users in the MySQL grant system are wholly independent from any
+        login users under Windows.
+      </para>
+
+      <para>
+        Install the server as a service using this command:
+      </para>
+
+<programlisting>
+C:\&gt; <userinput>"C:\Program Files\MySQL\MySQL Server
&current-series;\bin\mysqld" --install</userinput>
+</programlisting>
+
+      <para>
+        The service-installation command does not start the server.
+        Instructions for that are given later in this section.
+      </para>
+
+      <para>
+        To make it easier to invoke MySQL programs, you can add the
+        pathname of the MySQL <filename>bin</filename> directory to your
+        Windows system <literal>PATH</literal> environment variable:
+      </para>
+
+      <itemizedlist>
+
+        <listitem>
+          <para>
+            On the Windows desktop, right-click on the <guiicon>My
+            Computer</guiicon> icon, and select
+            <guimenuitem>Properties</guimenuitem>
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            Next select the <guimenuitem>Advanced</guimenuitem> tab from
+            the <guimenu>System Properties</guimenu> menu that appears,
+            and click the <guibutton>Environment Variables</guibutton>
+            button.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            Under <guilabel>System Variables</guilabel>, select
+            <guimenuitem>Path</guimenuitem>, and then click the
+            <guibutton>Edit</guibutton> button. The <guimenu>Edit
System
+            Variable</guimenu> dialogue should appear.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            Place your cursor at the end of the text appearing in the
+            space marked <guilabel>Variable Value</guilabel>. (Use the
+            <keycap>End</keycap> key to ensure that your cursor is
+            positioned at the very end of the text in this space.) Then
+            enter the complete pathname of your MySQL
+            <filename>bin</filename> directory (for example,
+            <literal>C:\Program Files\MySQL\MySQL Server
+            &current-series;\bin</literal>), Note that there should be a
+            semicolon separating this path from any values present in
+            this field. Dismiss this dialogue, and each dialogue in
+            turn, by clicking <guibutton>OK</guibutton> until all of the
+            dialogues that were opened have been dismissed. You should
+            now be able to invoke any MySQL executable program by typing
+            its name at the DOS prompt from any directory on the system,
+            without having to supply the path. This includes the
+            servers, the <command>mysql</command> client, and all MySQL
+            command-line utilities such as <command>mysqladmin</command>
+            and <command>mysqldump</command>.
+          </para>
+
+          <para>
+            You should not add the MySQL <filename>bin</filename>
+            directory to your Windows <literal>PATH</literal> if you are
+            running multiple MySQL servers on the same machine.
+          </para>
+        </listitem>
+
+      </itemizedlist>
+
+      <warning>
+        <para>
+          You must exercise great care when editing your system
+          <literal>PATH</literal> by hand; accidental deletion or
+          modification of any portion of the existing
+          <literal>PATH</literal> value can leave you with a
+          malfunctioning or even unusable system.
+        </para>
+      </warning>
+
+      <para>
+        The following additional arguments can be used in MySQL
+        &current-series; when installing the service:
+      </para>
+
+      <itemizedlist>
+
+        <listitem>
+          <para>
+            You can specify a service name immediately following the
+            <option>--install</option> option. The default service name
+            is <literal>MySQL</literal>.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            If a service name is given, it can be followed by a single
+            option. By convention, this should be
+           
<option>--defaults-file=<replaceable>file_name</replaceable></option>
+            to specify the name of an option file from which the server
+            should read options when it starts.
+          </para>
+
+          <para>
+            The use of a single option other than
+            <option>--defaults-file</option> is possible but
+            discouraged. <option>--defaults-file</option> is more
+            flexible because it enables you to specify multiple startup
+            options for the server by placing them in the named option
+            file. Also, in MySQL &current-series;, use of an option
+            different from <option>--defaults-file</option> is not
+            supported until 5.0.3.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            As of MySQL 5.0.1, you can also specify a
+            <option>--local-service</option> option following the
+            service name. This causes the server to run using the
+            <literal>LocalService</literal> Windows account that has
+            limited system privileges. This account is available only
+            for Windows XP or newer. If both
+            <option>--defaults-file</option> and
+            <option>--local-service</option> are given following the
+            service name, they can be in any order.
+          </para>
+        </listitem>
+
+      </itemizedlist>
+
+      <para>
+        For a MySQL server that is installed as a Windows service, the
+        following rules determine the service name and option files that
+        the server uses:
+      </para>
+
+      <itemizedlist>
+
+        <listitem>
+          <para>
+            If the service-installation command specifies no service
+            name or the default service name (<literal>MySQL</literal>)
+            following the <option>--install</option> option, the server
+            uses the a service name of <literal>MySQL</literal> and
+            reads options from the <literal>[mysqld]</literal> group in
+            the standard option files.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            If the service-installation command specifies a service name
+            other than <literal>MySQL</literal> following the
+            <option>--install</option> option, the server uses that
+            service name. It reads options from the
+            <literal>[mysqld]</literal> group and the group that has the
+            same name as the service in the standard option files. This
+            allows you to use the <literal>[mysqld]</literal> group for
+            options that should be used by all MySQL services, and an
+            option group with the service name for use by the server
+            installed with that service name.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            If the service-installation command specifies a
+            <option>--defaults-file</option> option after the service
+            name, the server reads options only from the
+            <literal>[mysqld]</literal> group of the named file and
+            ignores the standard option files.
+          </para>
+        </listitem>
+
+      </itemizedlist>
+
+      <para>
+        As a more complex example, consider the following command:
+      </para>
+
+<programlisting>
+C:\&gt; <userinput>"C:\Program Files\MySQL\MySQL Server
&current-series;\bin\mysqld"</userinput>
+          <userinput>--install MySQL
--defaults-file=C:\my-opts.cnf</userinput>
+</programlisting>
+
+      <para>
+        Here, the default service name (<literal>MySQL</literal>) is
+        given after the <option>--install</option> option. If no
+        <option>--defaults-file</option> option had been given, this
+        command would have the effect of causing the server to read the
+        <literal>[mysqld]</literal> group from the standard option
+        files. However, because the <option>--defaults-file</option>
+        option is present, the server reads options from the
+        <literal>[mysqld]</literal> option group, and only from the
+        named file.
+      </para>
+
+      <para>
+        You can also specify options as Start parameters in the Windows
+        <command>Services</command> utility before you start the MySQL
+        service.
+      </para>
+
+      <para>
+        Once a MySQL server has been installed as a service, Windows
+        starts the service automatically whenever Windows starts. The
+        service also can be started immediately from the
+        <command>Services</command> utility, or by using a <command>NET
+        START MySQL</command> command. The <command>NET</command>
+        command is not case sensitive.
+      </para>
+
+      <para>
+        When run as a service, <command>mysqld</command> has no access
+        to a console window, so no messages can be seen there. If
+        <command>mysqld</command> does not start, check the error log to
+        see whether the server wrote any messages there to indicate the
+        cause of the problem. The error log is located in the MySQL data
+        directory (for example, <filename>C:\Program Files\MySQL\MySQL
+        Server &current-series;\data</filename>). It is the file with a
+        suffix of <filename>.err</filename>.
+      </para>
+
+      <para>
+        When a MySQL server has been installed as a service, and the
+        service is running, Windows stops the service automatically when
+        Windows shuts down. The server also can be stopped manually by
+        using the <literal>Services</literal> utility, the <command>NET
+        STOP MySQL</command> command, or the <command>mysqladmin
+        shutdown</command> command.
+      </para>
+
+      <para>
+        You also have the choice of installing the server as a manual
+        service if you do not wish for the service to be started
+        automatically during the boot process. To do this, use the
+        <option>--install-manual</option> option rather than the
+        <option>--install</option> option:
+      </para>
+
+<programlisting>
+C:\&gt; <userinput>"C:\Program Files\MySQL\MySQL Server
&current-series;\bin\mysqld" --install-manual</userinput>
+</programlisting>
+
+      <para>
+        To remove a server that is installed as a service, first stop it
+        if it is running by executing <command>NET STOP MySQL</command>.
+        Then use the <option>--remove</option> option to remove it:
+      </para>
+
+<programlisting>
+C:\&gt; <userinput>"C:\Program Files\MySQL\MySQL Server
&current-series;\bin\mysqld" --remove</userinput>
+</programlisting>
+
+      <para>
+        If <command>mysqld</command> is not running as a service, you
+        can start it from the command line. For instructions, see
+        <xref linkend="windows-start-command-line"/>.
+      </para>
+
+      <para>
+        Please see <xref linkend="windows-troubleshooting"/>, if you
+        encounter difficulties during installation.
+      </para>
+
+    </section>
+
+    <section id="windows-testing" role="cses">
+
+      <title>Testing The MySQL Installation</title>
+
+      <indexterm>
+        <primary>TCP/IP</primary>
+      </indexterm>
+
+      <indexterm>
+        <primary>named pipes</primary>
+      </indexterm>
+
+      <para>
+        You can test whether the MySQL server is working by executing
+        any of the following commands:
+      </para>
+
+<programlisting>
+C:\&gt; <userinput>"C:\Program Files\MySQL\MySQL Server
&current-series;\bin\mysqlshow"</userinput>
+C:\&gt; <userinput>"C:\Program Files\MySQL\MySQL Server
&current-series;\bin\mysqlshow" -u root mysql</userinput>
+C:\&gt; <userinput>"C:\Program Files\MySQL\MySQL Server
&current-series;\bin\mysqladmin" version status proc</userinput>
+C:\&gt; <userinput>"C:\Program Files\MySQL\MySQL Server
&current-series;\bin\mysql" test</userinput>
+</programlisting>
+
+      <para>
+        If <command>mysqld</command> is slow to respond to TCP/IP
+        connections from client programs, there is probably a problem
+        with your DNS. In this case, start <command>mysqld</command>
+        with the <option>--skip-name-resolve</option> option and use
+        only <literal>localhost</literal> and IP numbers in the
+        <literal>Host</literal> column of the MySQL grant tables.
+      </para>
+
+      <para>
+        You can force a MySQL client to use a named-pipe connection
+        rather than TCP/IP by specifying the <option>--pipe</option> or
+        <option>--protocol=PIPE</option> option, or by specifying
+        <literal>.</literal> (period) as the host name. Use the
+        <option>--socket</option> option to specify the name of the pipe
+        if you do not want to use the default pipe name.
+      </para>
+
+      <para>
+        Note that if you have set a password for the
+        <literal>root</literal> account, deleted the anonymous account,
+        or created a new user account, then you must use the appropriate
+        <option>-u</option> and <option>-p</option> options with
the
+        commands shown above in order to connect with the MySQL Server.
+        See <xref linkend="connecting"/>.
+      </para>
+
+      <para>
+        For more information about <command>mysqlshow</command>, see
+        <xref linkend="mysqlshow"/>.
+      </para>
+
+    </section>
+
+    <section id="windows-troubleshooting" role="cses">
+
+      <title>Troubleshooting a MySQL Installation Under Windows</title>
+
+      <para>
+        When installing and running MySQL for the first time, you may
+        encounter certain errors that prevent the MySQL server from
+        starting. The purpose of this section is to help you diagnose
+        and correct some of these errors.
+      </para>
+
+      <para>
+        Your first resource when troubleshooting server issues is the
+        error log. The MySQL server uses the error log to record
+        information relevant to the error that prevents the server from
+        starting. The error log is located in the data directory
+        specified in your <filename>my.ini</filename> file. The default
+        data directory location is <filename>C:\Program
+        Files\MySQL\MySQL Server &current-series;\data</filename>. See
+        <xref linkend="error-log"/>.
+      </para>
+
+      <para>
+        Another source of information regarding possible errors is the
+        console messages displayed when the MySQL service is starting.
+        Use the <command>NET START MySQL</command> command from the
+        command line after installing <command>mysqld</command> as a
+        service to see any error messages regarding the starting of the
+        MySQL server as a service. See
+        <xref linkend="windows-start-service"/>.
+      </para>
+
+      <para>
+        The following examples show other common error messages you may
+        encounter when installing MySQL and starting the server for the
+        first time:
+      </para>
+
+      <itemizedlist>
+
+        <listitem>
+          <para>
+            If the MySQL server cannot find the <literal>mysql</literal>
+            privileges database or other critical files, you may see
+            these messages:
+          </para>
+
+<programlisting>
+System error 1067 has occurred.
+Fatal error: Can't open privilege tables: Table 'mysql.host' doesn't exist
+</programlisting>
+
+          <para>
+            These messages often occur when the MySQL base or data
+            directories are installed in different locations than the
+            default locations (<filename>C:\Program Files\MySQL\MySQL
+            Server &current-series;</filename> and <filename>C:\Program
+            Files\MySQL\MySQL Server &current-series;\data</filename>,
+            respectively).
+          </para>
+
+          <para>
+            This situation may occur when MySQL is upgraded and
+            installed to a new location, but the configuration file is
+            not updated to reflect the new location. In addition, there
+            may be old and new configuration files that conflict. Be
+            sure to delete or rename any old configuration files when
+            upgrading MySQL.
+          </para>
+
+          <para>
+            If you have installed MySQL to a directory other than
+            <filename>C:\Program Files\MySQL\MySQL Server
+            &current-series;</filename>, you need to ensure that the
+            MySQL server is aware of this through the use of a
+            configuration (<filename>my.ini</filename>) file. The
+            <filename>my.ini</filename> file needs to be located in your
+            Windows directory, typically
+            <filename>C:\WINDOWS</filename>. You can determine its exact
+            location from the value of the <literal>WINDIR</literal>
+            environment variable by issuing the following command from
+            the command prompt:
+          </para>
+
+<programlisting>
+C:\&gt; <userinput>echo %WINDIR%</userinput>
+</programlisting>
+
+          <para>
+            An option file can be created and modified with any text
+            editor, such as Notepad. For example, if MySQL is installed
+            in <filename>E:\mysql</filename> and the data directory is
+            <filename>D:\MySQLdata</filename>, you can create the option
+            file and set up a <literal>[mysqld]</literal> section to
+            specify values for the <literal>basedir</literal> and
+            <literal>datadir</literal> parameters:
+          </para>
+
+<programlisting>
+[mysqld]
+# set basedir to your installation path
+basedir=E:/mysql
+# set datadir to the location of your data directory
+datadir=D:/MySQLdata
+</programlisting>
+
+          <para>
+            Note that Windows pathnames are specified in option files
+            using (forward) slashes rather than backslashes. If you do
+            use backslashes, you must double them:
+          </para>
+
+<programlisting>
+[mysqld]
+# set basedir to your installation path
+basedir=C:\\Program Files\\MySQL\\MySQL Server &current-series;
+# set datadir to the location of your data directory
+datadir=D:\\MySQLdata
+</programlisting>
+
+          <formalpara role="mnmas">
+
+            <title>MySQL Enterprise</title>
+
+            <para>
+              For expert advice on the start-up options appropriate to
+              your circumstances, subscribe to the MySQL Enterprise
+              Monitor. For more information, see
+              <ulink url="&base-url-enterprise;advisors.html"/>.
+            </para>
+
+          </formalpara>
+
+          <para>
+            If you change the <literal>datadir</literal> value in your
+            MySQL configuration file, you must move the contents of the
+            existing MySQL data directory before restarting the MySQL
+            server.
+          </para>
+
+          <para>
+            See <xref linkend="windows-create-option-file"/>.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            If you reinstall or upgrade MySQL without first stopping and
+            removing the existing MySQL service and install MySQL using
+            the MySQL Configuration Wizard, you may see this error:
+          </para>
+
+<programlisting>
+Error: Cannot create Windows service for MySql. Error: 0
+</programlisting>
+
+          <para>
+            This occurs when the Configuration Wizard tries to install
+            the service and finds an existing service with the same
+            name.
+          </para>
+
+          <para>
+            One solution to this problem is to choose a service name
+            other than <literal>mysql</literal> when using the
+            configuration wizard. This allows the new service to be
+            installed correctly, but leaves the outdated service in
+            place. Although this is harmless, it is best to remove old
+            services that are no longer in use.
+          </para>
+
+          <para>
+            To permanently remove the old <literal>mysql</literal>
+            service, execute the following command as a user with
+            administrative privileges, on the command-line:
+          </para>
+
+<programlisting>
+C:\&gt; <userinput>sc delete mysql</userinput>
+[SC] DeleteService SUCCESS
+</programlisting>
+
+          <para>
+            If the <literal>sc</literal> utility is not available for
+            your version of Windows, download the
+            <literal>delsrv</literal> utility from
+            <ulink
url="http://www.microsoft.com/windows2000/techinfo/reskit/tools/existing/delsrv-o.asp"/>
+            and use the <literal>delsrv mysql</literal> syntax.
+          </para>
+        </listitem>
+
+      </itemizedlist>
+
+    </section>
+
+    <section id="windows-upgrading" role="cs">
+
+      <title>Upgrading MySQL on Windows</title>
+
+      <indexterm>
+        <primary>Windows</primary>
+        <secondary>upgrading</secondary>
+      </indexterm>
+
+      <para>
+        This section lists some of the steps you should take when
+        upgrading MySQL on Windows.
+      </para>
+
+      <orderedlist>
+
+        <listitem>
+          <para>
+            Review <xref linkend="upgrade"/>, for additional information
+            on upgrading MySQL that is not specific to Windows.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            You should always back up your current MySQL installation
+            before performing an upgrade. See <xref linkend="backup"/>.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            Download the latest Windows distribution of MySQL from
+            <ulink url="&base-url-downloads;"/>.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            Before upgrading MySQL, you must stop the server. If the
+            server is installed as a service, stop the service with the
+            following command from the command prompt:
+          </para>
+
+<programlisting>
+C:\&gt; <userinput>NET STOP MySQL</userinput>
+</programlisting>
+
+          <para>
+            If you are not running the MySQL server as a service, use
+            the following command to stop it:
+          </para>
+
+<programlisting>
+C:\&gt; <userinput>"C:\Program Files\MySQL\MySQL Server
&current-series;\bin\mysqladmin" -u root shutdown</userinput>
+</programlisting>
+
+          <note>
+            <para>
+              If the MySQL <literal>root</literal> user account has a
+              password, you need to invoke <command>mysqladmin</command>
+              with the <option>-p</option> option and supply the
+              password when prompted.
+            </para>
+          </note>
+        </listitem>
+
+        <listitem>
+          <para>
+            When upgrading to MySQL &current-series; from a version
+            previous to 4.1.5, or when upgrading from a version of MySQL
+            installed from a Zip archive to a version of MySQL installed
+            with the MySQL Installation Wizard, you must manually remove
+            the previous installation and MySQL service (if the server
+            is installed as a service).
+          </para>
+
+          <para>
+            To remove the MySQL service, use the following command:
+          </para>
+
+<programlisting>
+C:\&gt; <userinput>C:\mysql\bin\mysqld --remove</userinput>
+</programlisting>
+
+          <para>
+            <emphasis role="bold">If you do not remove the existing
+            service, the MySQL Installation Wizard may fail to properly
+            install the new MySQL service.</emphasis>
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            If you are using the MySQL Installation Wizard, start the
+            wizard as described in
+            <xref linkend="windows-install-wizard"/>.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            If you are installing MySQL from a Zip archive, extract the
+            archive. You may either overwrite your existing MySQL
+            installation (usually located at
+            <filename>C:\mysql</filename>), or install it into a
+            different directory, such as <literal>C:\mysql5</literal>.
+            Overwriting the existing installation is recommended.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            If you were running MySQL as a Windows service and you had
+            to remove the service earlier in this procedure, reinstall
+            the service. (See <xref linkend="windows-start-service"/>.)
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            Restart the server. For example, use <command>NET START
+            MySQL</command> if you run MySQL as a service, or invoke
+            <command>mysqld</command> directly otherwise.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            If you encounter errors, see
+            <xref linkend="windows-troubleshooting"/>.
+          </para>
+        </listitem>
+
+      </orderedlist>
+
+    </section>
+
+    <section id="windows-vs-unix" role="cses">
+
+      <title>MySQL on Windows Compared to MySQL on Unix</title>
+
+      <indexterm>
+        <primary>Windows</primary>
+        <secondary>versus Unix</secondary>
+      </indexterm>
+
+      <indexterm>
+        <primary>operating systems</primary>
+        <secondary>Windows versus Unix</secondary>
+      </indexterm>
+
+      <para>
+        MySQL for Windows has proven itself to be very stable. The
+        Windows version of MySQL has the same features as the
+        corresponding Unix version, with the following exceptions:
+      </para>
+
+      <itemizedlist>
+
+        <listitem>
+          <para>
+            <emphasis role="bold">Limited number of ports</emphasis>
+          </para>
+
+          <para>
+            Windows systems have about 4,000 ports available for client
+            connections, and after a connection on a port closes, it
+            takes two to four minutes before the port can be reused. In
+            situations where clients connect to and disconnect from the
+            server at a high rate, it is possible for all available
+            ports to be used up before closed ports become available
+            again. If this happens, the MySQL server appears to be
+            unresponsive even though it is running. Note that ports may
+            be used by other applications running on the machine as
+            well, in which case the number of ports available to MySQL
+            is lower.
+          </para>
+
+          <para>
+            For more information about this problem, see
+            <ulink
url="http://support.microsoft.com/default.aspx?scid=kb;en-us;196271"/>.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            <emphasis role="bold">Concurrent reads</emphasis>
+          </para>
+
+          <para>
+            MySQL depends on the <literal>pread()</literal> and
+            <literal>pwrite()</literal> system calls to be able to mix
+            <literal>INSERT</literal> and
<literal>SELECT</literal>.
+            Currently, we use mutexes to emulate
+            <literal>pread()</literal> and
<literal>pwrite()</literal>.
+            We intend to replace the file level interface with a virtual
+            interface in the future so that we can use the
+           
<literal>readfile()</literal>/<literal>writefile()</literal>
+            interface to get more speed. The current implementation
+            limits the number of open files that MySQL &current-series;
+            can use to 2,048, which means that you cannot run as many
+            concurrent threads on Windows as on Unix.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            <emphasis role="bold">Blocking read</emphasis>
+          </para>
+
+          <para>
+            MySQL uses a blocking read for each connection. That has the
+            following implications if named-pipe connections are
+            enabled:
+          </para>
+
+          <itemizedlist>
+
+            <listitem>
+              <para>
+                A connection is not disconnected automatically after
+                eight hours, as happens with the Unix version of MySQL.
+              </para>
+            </listitem>
+
+            <listitem>
+              <para>
+                If a connection hangs, it is not possible to break it
+                without killing MySQL.
+              </para>
+            </listitem>
+
+            <listitem>
+              <para>
+                <command>mysqladmin kill</command> does not work on a
+                sleeping connection.
+              </para>
+            </listitem>
+
+            <listitem>
+              <para>
+                <command>mysqladmin shutdown</command> cannot abort as
+                long as there are sleeping connections.
+              </para>
+            </listitem>
+
+          </itemizedlist>
+
+          <para>
+            We plan to fix this problem in the future.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            <emphasis role="bold"><literal>ALTER
+            TABLE</literal></emphasis>
+          </para>
+
+          <para>
+            While you are executing an <literal>ALTER TABLE</literal>
+            statement, the table is locked from being used by other
+            threads. This has to do with the fact that on Windows, you
+            can't delete a file that is in use by another thread. In the
+            future, we may find some way to work around this problem.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            <emphasis role="bold"><literal>DROP
+            TABLE</literal></emphasis>
+          </para>
+
+          <para>
+            <remark role="todo">
+              We have views now, so is this fixed?
+            </remark>
+
+            <literal>DROP TABLE</literal> on a table that is in use by a
+            <literal>MERGE</literal> table does not work on Windows
+            because the <literal>MERGE</literal> handler does the table
+            mapping hidden from the upper layer of MySQL. Because
+            Windows does not allow dropping files that are open, you
+            first must flush all <literal>MERGE</literal> tables (with
+            <literal>FLUSH TABLES</literal>) or drop the
+            <literal>MERGE</literal> table before dropping the table.
+
+            <remark>
+              We will fix this at the same time that we introduce views.
+            </remark>
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            <emphasis role="bold"><literal>DATA DIRECTORY</literal> and
+            <literal>INDEX DIRECTORY</literal></emphasis>
+          </para>
+
+          <para>
+            The <literal>DATA DIRECTORY</literal> and <literal>INDEX
+            DIRECTORY</literal> options for <literal>CREATE
+            TABLE</literal> are ignored on Windows, because Windows
+            doesn't support symbolic links. These options also are
+            ignored on systems that have a non-functional
+            <literal>realpath()</literal> call.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            <emphasis role="bold"><literal>DROP
+            DATABASE</literal></emphasis>
+          </para>
+
+          <para>
+            You cannot drop a database that is in use by some thread.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            <emphasis role="bold">Case-insensitive names</emphasis>
+          </para>
+
+          <para>
+            Filenames are not case sensitive on Windows, so MySQL
+            database and table names are also not case sensitive on
+            Windows. The only restriction is that database and table
+            names must be specified using the same case throughout a
+            given statement. See
+            <xref linkend="identifier-case-sensitivity"/>.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            <emphasis role="bold">The
+            <quote><literal>\</literal></quote> pathname
separator
+            character</emphasis>
+          </para>
+
+          <para>
+            Pathname components in Windows are separated by the
+            <quote><literal>\</literal></quote> character, which
is also
+            the escape character in MySQL. If you are using
+            <literal>LOAD DATA INFILE</literal> or <literal>SELECT ...
+            INTO OUTFILE</literal>, use Unix-style filenames with
+            <quote><literal>/</literal></quote> characters:
+          </para>
+
+<programlisting>
+mysql&gt; <userinput>LOAD DATA INFILE 'C:/tmp/skr.txt' INTO TABLE
skr;</userinput>
+mysql&gt; <userinput>SELECT * INTO OUTFILE 'C:/tmp/skr.txt' FROM
skr;</userinput>
+</programlisting>
+
+          <para>
+            Alternatively, you must double the
+            <quote><literal>\</literal></quote> character:
+          </para>
+
+<programlisting>
+mysql&gt; <userinput>LOAD DATA INFILE 'C:\\tmp\\skr.txt' INTO TABLE
skr;</userinput>
+mysql&gt; <userinput>SELECT * INTO OUTFILE 'C:\\tmp\\skr.txt' FROM
skr;</userinput>
+</programlisting>
+        </listitem>
+
+        <listitem>
+          <para>
+            <emphasis role="bold">Problems with pipes</emphasis>
+          </para>
+
+          <para>
+            Pipes do not work reliably from the Windows command-line
+            prompt. If the pipe includes the character
+            <literal>^Z</literal> / <literal>CHAR(24)</literal>,
Windows
+            thinks that it has encountered end-of-file and aborts the
+            program.
+          </para>
+
+          <para>
+            This is mainly a problem when you try to apply a binary log
+            as follows:
+          </para>
+
+<programlisting>
+C:\&gt; <userinput>mysqlbinlog
<replaceable>binary_log_file</replaceable> | mysql
--user=root</userinput>
+</programlisting>
+
+          <para>
+            If you have a problem applying the log and suspect that it
+            is because of a <literal>^Z</literal> /
+            <literal>CHAR(24)</literal> character, you can use the
+            following workaround:
+          </para>
+
+<programlisting>
+C:\&gt; <userinput>mysqlbinlog
<replaceable>binary_log_file</replaceable>
--result-file=/tmp/bin.sql</userinput>
+C:\&gt; <userinput>mysql --user=root --execute "source
/tmp/bin.sql"</userinput>
+</programlisting>
+
+          <para>
+            The latter command also can be used to reliably read in any
+            SQL file that may contain binary data.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            <emphasis role="bold"><literal>Access denied for
+            user</literal> error</emphasis>
+          </para>
+
+          <para>
+            If MySQL cannot resolve your hostname properly, you may get
+            the following error when you attempt to run a MySQL client
+            program to connect to a server running on the same machine:
+          </para>
+
+<programlisting>
+Access denied for user '<replaceable>some_user</replaceable>'@'unknown'
+to database 'mysql'
+</programlisting>
+
+          <para>
+            To fix this problem, you should create a file named
+            <filename>\windows\hosts</filename> containing the following
+            information:
+          </para>
+
+<programlisting>
+127.0.0.1       localhost
+</programlisting>
+        </listitem>
+
+      </itemizedlist>
+
+      <remark>
+        MH - Does this to-do list even still have relevance? I would
+        think we would now Task internal developers rather than ask the
+        world for help.
+      </remark>
+
+      <para>
+        Here are some open issues for anyone who might want to help us
+        improve MySQL on Windows:
+      </para>
+
+      <indexterm>
+        <primary>Windows</primary>
+        <secondary>open issues</secondary>
+      </indexterm>
+
+      <itemizedlist>
+
+        <listitem>
+          <para>
+            Add macros to use the faster thread-safe increment/decrement
+            methods provided by Windows.
+          </para>
+        </listitem>
+
+      </itemizedlist>
+
+    </section>
+
+  </section>
+
+  <section id="linux-rpm" role="cses">
+
+    <title>Installing MySQL from RPM Packages on Linux</title>
+
+    <indexterm>
+      <primary>RPM file</primary>
+    </indexterm>
+
+    <indexterm>
+      <primary>RPM Package Manager</primary>
+    </indexterm>
+
+    <indexterm>
+      <primary>installing</primary>
+      <secondary>Linux RPM packages</secondary>
+    </indexterm>
+
+    <para>
+      The recommended way to install MySQL on RPM-based Linux
+      distributions is by using the RPM packages. The RPMs provided by
+      MySQL AB to the community should work on all versions of Linux
+      that support RPM packages and use <literal>glibc</literal> 2.3.
+      MySQL AB also provides RPMs with binaries that are statically
+      linked to a patched version of <literal>glibc</literal> 2.2, but
+      only for the x86 (32-bit) architecture. To obtain RPM packages,
+      see <xref linkend="getting-mysql"/>.
+    </para>
+
+    <para>
+      For non-RPM Linux distributions, you can install MySQL using a
+      <filename>.tar.gz</filename> package. See
+      <xref linkend="installing-binary"/>.
+    </para>
+
+    <para>
+      MySQL AB does provide some platform-specific RPMs; the difference
+      between a platform-specific RPM and a generic RPM is that a
+      platform-specific RPM is built on the targeted platform and is
+      linked dynamically whereas a generic RPM is linked statically with
+      LinuxThreads.
+    </para>
+
+    <note>
+      <para>
+        RPM distributions of MySQL often are provided by other vendors.
+        Be aware that they may differ in features and capabilities from
+        those built by MySQL AB, and that the instructions in this
+        manual do not necessarily apply to installing them. The vendor's
+        instructions should be consulted instead.
+      </para>
+    </note>
+
+    <para>
+      If you have problems with an RPM file (for example, if you receive
+      the error <literal>Sorry, the host
+      '<replaceable>xxxx</replaceable>' could not be looked
+      up</literal>), see <xref linkend="binary-notes-linux"/>.
+    </para>
+
+    <para>
+      In most cases, you need to install only the
+      <literal>MySQL-server</literal> and
+      <literal>MySQL-client</literal> packages to get a functional MySQL
+      installation. The other packages are not required for a standard
+      installation.
+    </para>
+
+    <para>
+      For upgrades, if your installation was originally produced by
+      installing multiple RPM packages, it is best to upgrade all the
+      packages, not just some. For example, if you previously installed
+      the server and client RPMs, do not upgrade just the server RPM.
+    </para>
+
+    <remark role="todo">
+      Probably also dated. /JS
+    </remark>
+
+    <para>
+      If you get a dependency failure when trying to install MySQL
+      packages (for example, <literal>error: removing these packages
+      would break dependencies: libmysqlclient.so.10 is needed by
+      ...</literal>), you should also install the
+      <literal>MySQL-shared-compat</literal> package, which includes
+      both the shared libraries for backward compatibility
+      (<literal>libmysqlclient.so.12</literal> for MySQL 4.0 and
+      <literal>libmysqlclient.so.10</literal> for MySQL 3.23).
+    </para>
+
+    <remark role="todo">
+      Check currency of this info. I'd say that even Debian is shipping
+      4.0 by now. /JS
+    </remark>
+
+    <para>
+      Some Linux distributions still ship with MySQL 3.23 and they
+      usually link applications dynamically to save disk space. If these
+      shared libraries are in a separate package (for example,
+      <literal>MySQL-shared</literal>), it is sufficient to simply leave
+      this package installed and just upgrade the MySQL server and
+      client packages (which are statically linked and do not depend on
+      the shared libraries). For distributions that include the shared
+      libraries in the same package as the MySQL server (for example,
+      Red Hat Linux), you could either install our 3.23
+      <literal>MySQL-shared</literal> RPM, or use the
+      <literal>MySQL-shared-compat</literal> package instead. (Do not
+      install both.)
+    </para>
+
+    <para>
+      The RPM packages shown in the following list are available. The
+      names shown here use a suffix of
+      <filename>.glibc23.i386.rpm</filename>, but particular packages
+      can have different suffixes, as described later. Packages that
+      have <literal>community</literal> in the names are Community
+      Server builds, available from MySQL 5.0.27 on.
+    </para>
+
+    <itemizedlist>
+
+      <listitem>
+        <para>
+         
<literal>MySQL-server-<replaceable>VERSION</replaceable>.glibc23.i386.rpm</literal>,
+         
<literal>MySQL-server-community-<replaceable>VERSION</replaceable>.glibc23.i386.rpm</literal>
+        </para>
+
+        <para>
+          The MySQL server. You need this unless you only want to
+          connect to a MySQL server running on another machine.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+         
<literal>MySQL-client-<replaceable>VERSION</replaceable>.glibc23.i386.rpm</literal>,
+         
<literal>MySQL-client-community-<replaceable>VERSION</replaceable>.glibc23.i386.rpm</literal>
+        </para>
+
+        <para>
+          The standard MySQL client programs. You probably always want
+          to install this package.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+         
<literal>MySQL-bench-<replaceable>VERSION</replaceable>.glibc23.i386.rpm</literal>
+        </para>
+
+        <para>
+          Tests and benchmarks. Requires Perl and the
+          <literal>DBI</literal> and
<literal>DBD::mysql</literal>
+          modules.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+         
<literal>MySQL-devel-<replaceable>VERSION</replaceable>.glibc23.i386.rpm</literal>,
+         
<literal>MySQL-devel-community-<replaceable>VERSION</replaceable>.glibc23.i386.rpm</literal>
+        </para>
+
+        <para>
+          The libraries and include files that are needed if you want to
+          compile other MySQL clients, such as the Perl modules.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+         
<literal>MySQL-debuginfo-<replaceable>VERSION</replaceable>.glibc23.i386.rpm</literal>,
+         
<literal>MySQL-community-debuginfo-<replaceable>VERSION</replaceable>.glibc23.i386.rpm</literal>
+        </para>
+
+        <para>
+          This package contains debugging information.
+          <literal>debuginfo</literal> RPMs are never needed to use
+          MySQL software; this is true both for the server and for
+          client programs. However, they contain additional information
+          that might be needed by a debugger to analyze a crash.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+         
<literal>MySQL-shared-<replaceable>VERSION</replaceable>.glibc23.i386.rpm</literal>,
+         
<literal>MySQL-shared-community-<replaceable>VERSION</replaceable>.glibc23.i386.rpm</literal>
+        </para>
+
+        <para>
+          This package contains the shared libraries
+          (<literal>libmysqlclient.so*</literal>) that certain languages
+          and applications need to dynamically load and use MySQL. It
+          contains single-threaded and thread-safe libraries. If you
+          install this package, do not install the
+          <literal>MySQL-shared-compat</literal> package.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+         
<literal>MySQL-shared-compat-<replaceable>VERSION</replaceable>.glibc23.i386.rpm</literal>
+        </para>
+
+        <para>
+          This package includes the shared libraries for MySQL 3.23,
+          4.0, 4.1, and 5.0. It contains single-threaded and thread-safe
+          libraries. Install this package instead of
+          <literal>MySQL-shared</literal> if you have applications
+          installed that are dynamically linked against older versions
+          of MySQL but you want to upgrade to the current version
+          without breaking the library dependencies.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+         
<literal>MySQL-clustermanagement-community<replaceable>VERSION</replaceable>.glibc23.i386.rpm</literal>,
+         
<literal>MySQL-clusterstorage-community<replaceable>VERSION</replaceable>.glibc23.i386.rpm</literal>,
+         
<literal>MySQL-clustertools-community<replaceable>VERSION</replaceable>.glibc23.i386.rpm</literal>,
+         
<literal>MySQL-clusterextra-community<replaceable>VERSION</replaceable>.glibc23.i386.rpm</literal>
+        </para>
+
+        <para>
+          Packages that contain additional files for MySQL Cluster
+          installations. These are platform-specific RPMs, in contrast
+          to the platform-independent
+          <literal>ndb-<replaceable>xxx</replaceable></literal>
RPMs.
+        </para>
+
+        <note>
+          <para>
+            The <literal>MySQL-clustertools</literal> RPM requires a
+            working installation of perl and the <literal>DBI</literal>
+            and <literal>HTML::Template</literal> packages. See
+            <xref linkend="perl-support"/>, and
+            <xref linkend="mysql-cluster-utilities-ndb-size"/>, for more
+            information.
+          </para>
+        </note>
+      </listitem>
+
+      <listitem>
+        <para>
+         
<literal>MySQL-ndb-management-<replaceable>VERSION</replaceable>.glibc23.i386.rpm</literal>,
+         
<literal>MySQL-ndb-storage-<replaceable>VERSION</replaceable>.glibc23.i386.rpm</literal>,
+         
<literal>MySQL-ndb-tools-<replaceable>VERSION</replaceable>.glibc23.i386.rpm</literal>,
+         
<literal>MySQL-ndb-extra-<replaceable>VERSION</replaceable>.glibc23.i386.rpm</literal>
+        </para>
+
+        <para>
+          Packages that contain additional files for MySQL Cluster
+          installations. These are platform-independent RPMs, in
+          contrast to the platform-specific
+         
<literal>cluster<replaceable>xxx</replaceable>-community</literal>
+          RPMs.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+         
<literal>MySQL-test-community-<replaceable>VERSION</replaceable>.glibc23.i386.rpm</literal>
+        </para>
+
+        <para>
+          This package includes the MySQL test suite.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+         
<literal>MySQL-<replaceable>VERSION</replaceable>.src.rpm</literal>
+        </para>
+
+        <para>
+          This contains the source code for all of the previous
+          packages. It can also be used to rebuild the RPMs on other
+          architectures (for example, Alpha or SPARC).
+        </para>
+      </listitem>
+
+    </itemizedlist>
+
+    <para>
+      The suffix of RPM package names (following the
+      <replaceable>VERSION</replaceable> value) has the following
+      syntax:
+    </para>
+
+<programlisting>
+[.<replaceable>PLATFORM</replaceable>].<replaceable>CPU</replaceable>.rpm
+</programlisting>
+
+    <para>
+      The <replaceable>PLATFORM</replaceable> and
+      <replaceable>CPU</replaceable> values indicate the type of system
+      for which the package is built.
+      <replaceable>PLATFORM</replaceable>, if present, indicates the
+      platform, and <replaceable>CPU</replaceable> indicates the
+      processor type or family.
+    </para>
+
+    <para>
+      If the <replaceable>PLATFORM</replaceable> value is missing (for
+      example,
+     
<filename>MySQL-server-<replaceable>VERSION</replaceable>.i386.rpm</filename>),
+      the package is statically linked against a version of
+      <literal>glibc</literal> 2.2 that has been patched to handle
+      larger numbers of threads with larger stack sizes than the stock
+      library.
+    </para>
+
+    <para>
+      If <replaceable>PLATFORM</replaceable> is present, the package is
+      dynamically linked against <literal>glibc</literal> 2.3 and the
+      <replaceable>PLATFORM</replaceable> value indicates whether the
+      package is platform independent or intended for a specific
+      platform:
+    </para>
+
+    <informaltable>
+      <tgroup cols="2">
+        <colspec colwidth="25*"/>
+        <colspec colwidth="75*"/>
+        <tbody>
+          <row>
+            <entry><literal>glibc23</literal></entry>
+            <entry>Platform independent, should run on any Linux distribution that
supports
+              <literal>glibc</literal> 2.3</entry>
+          </row>
+          <row>
+            <entry><literal>rhel3</literal>,
<literal>rhel4</literal></entry>
+            <entry>Red Hat Enterprise Linux 3 or 4</entry>
+          </row>
+          <row>
+            <entry><literal>sles9</literal>,
<literal>sles10</literal></entry>
+            <entry>SuSE Linux Enterprise Server 9 or 10</entry>
+          </row>
+        </tbody>
+      </tgroup>
+    </informaltable>
+
+    <para>
+      The <replaceable>CPU</replaceable> value indicates the processor
+      type or family for which the package is built:
+    </para>
+
+    <informaltable>
+      <tgroup cols="2">
+        <colspec colwidth="25*"/>
+        <colspec colwidth="75*"/>
+        <tbody>
+          <row>
+            <entry><literal>i386</literal></entry>
+            <entry>x86 processor, 386 and up</entry>
+          </row>
+          <row>
+            <entry><literal>i586</literal></entry>
+            <entry>x86 processor, Pentium and up</entry>
+          </row>
+          <row>
+            <entry><literal>x86_64</literal></entry>
+            <entry>64-bit x86 processor</entry>
+          </row>
+          <row>
+            <entry><literal>ia64</literal></entry>
+            <entry>Itanium (IA-64) processor</entry>
+          </row>
+        </tbody>
+      </tgroup>
+    </informaltable>
+
+    <para>
+      To see all files in an RPM package (for example, a
+      <literal>MySQL-server</literal> RPM), run a command like this:
+    </para>
+
+<programlisting>
+shell&gt; <userinput>rpm -qpl
MySQL-server-<replaceable>VERSION</replaceable>.glibc23.i386.rpm</userinput>
+</programlisting>
+
+    <para>
+      To perform a standard minimal installation, install the server and
+      client RPMs:
+    </para>
+
+<programlisting>
+shell&gt; <userinput>rpm -i
MySQL-server-<replaceable>VERSION</replaceable>.glibc23.i386.rpm</userinput>
+shell&gt; <userinput>rpm -i
MySQL-client-<replaceable>VERSION</replaceable>.glibc23.i386.rpm</userinput>
+</programlisting>
+
+    <para>
+      To install only the client programs, install just the client RPM:
+    </para>
+
+<programlisting>
+shell&gt; <userinput>rpm -i
MySQL-client-<replaceable>VERSION</replaceable>.glibc23.i386.rpm</userinput>
+</programlisting>
+
+    <para>
+      RPM provides a feature to verify the integrity and authenticity of
+      packages before installing them. If you would like to learn more
+      about this feature, see
+      <xref linkend="verifying-package-integrity"/>.
+    </para>
+
+    <para>
+      The server RPM places data under the
+      <filename>/var/lib/mysql</filename> directory. The RPM also
+      creates a login account for a user named <literal>mysql</literal>
+      (if one does not exist) to use for running the MySQL server, and
+      creates the appropriate entries in
+      <filename>/etc/init.d/</filename> to start the server
+      automatically at boot time. (This means that if you have performed
+      a previous installation and have made changes to its startup
+      script, you may want to make a copy of the script so that you
+      don't lose it when you install a newer RPM.) See
+      <xref linkend="automatic-start"/>, for more information on how
+      MySQL can be started automatically on system startup.
+    </para>
+
+    <para>
+      If you want to install the MySQL RPM on older Linux distributions
+      that do not support initialization scripts in
+      <filename>/etc/init.d</filename> (directly or via a symlink), you
+      should create a symbolic link that points to the location where
+      your initialization scripts actually are installed. For example,
+      if that location is <filename>/etc/rc.d/init.d</filename>, use
+      these commands before installing the RPM to create
+      <filename>/etc/init.d</filename> as a symbolic link that points
+      there:
+    </para>
+
+<programlisting>
+shell&gt; <userinput>cd /etc</userinput>
+shell&gt; <userinput>ln -s rc.d/init.d .</userinput>
+</programlisting>
+
+    <para>
+      However, all current major Linux distributions should support the
+      new directory layout that uses <filename>/etc/init.d</filename>,
+      because it is required for LSB (Linux Standard Base) compliance.
+    </para>
+
+    <para>
+      If the RPM files that you install include
+      <literal>MySQL-server</literal>, the
<command>mysqld</command>
+      server should be up and running after installation. You should be
+      able to start using MySQL.
+    </para>
+
+    <para>
+      If something goes wrong, you can find more information in the
+      binary installation section. See
+      <xref linkend="installing-binary"/>.
+    </para>
+
+    <note>
+      <para>
+        The accounts that are listed in the MySQL grant tables initially
+        have no passwords. After starting the server, you should set up
+        passwords for them using the instructions in
+        <xref linkend="post-installation"/>.
+      </para>
+    </note>
+
+  </section>
+
+  <section id="mac-os-x-installation" role="cses">
+
+    <title>Installing MySQL on Mac OS X</title>
+
+    <indexterm>
+      <primary>Mac OS X</primary>
+      <secondary>installation</secondary>
+    </indexterm>
+
+    <indexterm>
+      <primary>installing</primary>
+      <secondary>Mac OS X PKG packages</secondary>
+    </indexterm>
+
+<!--  Should "PKG" be a <filename/> element?  /JS -->
+
+    <para>
+      You can install MySQL on Mac OS X 10.3.x (<quote>Panther</quote>)
+      or newer using a Mac OS X binary package in PKG format instead of
+      the binary tarball distribution. Please note that older versions
+      of Mac OS X (for example, 10.1.x or 10.2.x) are
+      <emphasis role="bold">not</emphasis> supported by this package.
+    </para>
+
+    <para>
+      The package is located inside a disk image
+      (<literal>.dmg</literal>) file that you first need to mount by
+      double-clicking its icon in the Finder. It should then mount the
+      image and display its contents.
+    </para>
+
+    <para>
+      To obtain MySQL, see <xref linkend="getting-mysql"/>.
+    </para>
+
+    <note>
+      <para>
+        Before proceeding with the installation, be sure to shut down
+        all running MySQL server instances by either using the MySQL
+        Manager Application (on Mac OS X Server) or via
+        <command>mysqladmin shutdown</command> on the command line.
+      </para>
+    </note>
+
+    <para>
+      To actually install the MySQL PKG file, double-click on the
+      package icon. This launches the Mac OS X Package Installer, which
+      guides you through the installation of MySQL.
+    </para>
+
+    <para>
+      Due to a bug in the Mac OS X package installer, you may see this
+      error message in the destination disk selection dialog:
+    </para>
+
+<programlisting>
+You cannot install this software on this disk. (null)
+</programlisting>
+
+    <para>
+      If this error occurs, simply click the <literal>Go Back</literal>
+      button once to return to the previous screen. Then click
+      <literal>Continue</literal> to advance to the destination disk
+      selection again, and you should be able to choose the destination
+      disk correctly. We have reported this bug to Apple and it is
+      investigating this problem.
+    </para>
+
+    <para>
+      The Mac OS X PKG of MySQL installs itself into
+     
<filename>/usr/local/mysql-<replaceable>VERSION</replaceable></filename>
+      and also installs a symbolic link,
+      <filename>/usr/local/mysql</filename>, that points to the new
+      location. If a directory named
+      <filename>/usr/local/mysql</filename> exists, it is renamed to
+      <filename>/usr/local/mysql.bak</filename> first. Additionally, the
+      installer creates the grant tables in the <literal>mysql</literal>
+      database by executing <command>mysql_install_db</command>.
+    </para>
+
+    <para>
+      The installation layout is similar to that of a
+      <command>tar</command> file binary distribution; all MySQL
+      binaries are located in the directory
+      <filename>/usr/local/mysql/bin</filename>. The MySQL socket file
+      is created as <filename>/tmp/mysql.sock</filename> by default. See
+      <xref linkend="installation-layouts"/>.
+    </para>
+
+    <para>
+      MySQL installation requires a Mac OS X user account named
+      <literal>mysql</literal>. A user account with this name should
+      exist by default on Mac OS X 10.2 and up.
+    </para>
+
+    <remark role="note">
+      Even though these MySQL versions are dated, I'm leaving this table
+      as-is. /JS
+    </remark>
+
+    <para>
+      If you are running Mac OS X Server, a version of MySQL should
+      already be installed. The following table shows the versions of
+      MySQL that ship with Mac OS X Server versions.
+    </para>
+
+    <informaltable>
+      <tgroup cols="2">
+        <colspec colwidth="30*"/>
+        <colspec colwidth="30*"/>
+        <tbody>
+          <row>
+            <entry><emphasis role="bold">Mac OS X Server
Version</emphasis></entry>
+            <entry><emphasis role="bold">MySQL
Version</emphasis></entry>
+          </row>
+          <row>
+            <entry>10.2-10.2.2</entry>
+            <entry>3.23.51</entry>
+          </row>
+          <row>
+            <entry>10.2.3-10.2.6</entry>
+            <entry>3.23.53</entry>
+          </row>
+          <row>
+            <entry>10.3</entry>
+            <entry>4.0.14</entry>
+          </row>
+          <row>
+            <entry>10.3.2</entry>
+            <entry>4.0.16</entry>
+          </row>
+          <row>
+            <entry>10.4.0</entry>
+            <entry>4.1.10a</entry>
+          </row>
+        </tbody>
+      </tgroup>
+    </informaltable>
+
+    <para>
+      This manual section covers the installation of the official MySQL
+      Mac OS X PKG only. Make sure to read Apple's help information
+      about installing MySQL: Run the <quote>Help View</quote>
+      application, select <quote>Mac OS X Server</quote> help, do a
+      search for <quote>MySQL,</quote> and read the item entitled
+      <quote>Installing MySQL.</quote>
+    </para>
+
+    <remark>
+      This instance of safe_mysqld should be left unchanged
+    </remark>
+
+    <para>
+      For preinstalled versions of MySQL on Mac OS X Server, note
+      especially that you should start <command>mysqld</command> with
+      <command>safe_mysqld</command> instead of
+      <command>mysqld_safe</command> if MySQL is older than version 4.0.
+    </para>
+
+    <para>
+      If you previously used Marc Liyanage's MySQL packages for Mac OS X
+      from <ulink url="http://www.entropy.ch"/>, you can simply follow
+      the update instructions for packages using the binary installation
+      layout as given on his pages.
+    </para>
+
+    <para>
+      If you are upgrading from Marc's 3.23.x versions or from the Mac
+      OS X Server version of MySQL to the official MySQL PKG, you also
+      need to convert the existing MySQL privilege tables to the current
+      format, because some new security privileges have been added. See
+      <xref linkend="mysql-upgrade"/>.
+    </para>
+
+    <para>
+      If you want MySQL to start automatically during system startup,
+      you also need to install the MySQL Startup Item. It is part of the
+      Mac OS X installation disk images as a separate installation
+      package. Simply double-click the
+      <guiicon>MySQLStartupItem.pkg</guiicon> icon and follow the
+      instructions to install it. The Startup Item need be installed
+      only once. There is no need to install it each time you upgrade
+      the MySQL package later.
+    </para>
+
+    <para>
+      The Startup Item for MySQL is installed into
+      <filename>/Library/StartupItems/MySQLCOM</filename>. (Before MySQL
+      4.1.2, the location was
+      <filename>/Library/StartupItems/MySQL</filename>, but that
+      collided with the MySQL Startup Item installed by Mac OS X
+      Server.) Startup Item installation adds a variable
+      <literal>MYSQLCOM=-YES-</literal> to the system configuration file
+      <filename>/etc/hostconfig</filename>. If you want to disable the
+      automatic startup of MySQL, simply change this variable to
+      <literal>MYSQLCOM=-NO-</literal>.
+    </para>
+
+    <para>
+      On Mac OS X Server, the default MySQL installation uses the
+      variable <literal>MYSQL</literal> in the
+      <filename>/etc/hostconfig</filename> file. The MySQL AB Startup
+      Item installer disables this variable by setting it to
+      <literal>MYSQL=-NO-</literal>. This avoids boot time conflicts
+      with the <literal>MYSQLCOM</literal> variable used by the MySQL AB
+      Startup Item. However, it does not shut down a running MySQL
+      server. You should do that yourself.
+    </para>
+
+    <para>
+      After the installation, you can start up MySQL by running the
+      following commands in a terminal window. You must have
+      administrator privileges to perform this task.
+    </para>
+
+    <para>
+      If you have installed the Startup Item, use this command:
+    </para>
+
+<programlisting>
+shell&gt; <userinput>sudo /Library/StartupItems/MySQLCOM/MySQLCOM
start</userinput>
+<replaceable>(Enter your password, if necessary)</replaceable>
+<replaceable>(Press Control-D or enter "exit" to exit the
shell)</replaceable>
+</programlisting>
+
+    <para>
+      If you don't use the Startup Item, enter the following command
+      sequence:
+    </para>
+
+<programlisting>
+shell&gt; <userinput>cd /usr/local/mysql</userinput>
+shell&gt; <userinput>sudo ./bin/mysqld_safe</userinput>
+<replaceable>(Enter your password, if necessary)</replaceable>
+<replaceable>(Press Control-Z)</replaceable>
+shell&gt; <userinput>bg</userinput>
+<replaceable>(Press Control-D or enter "exit" to exit the
shell)</replaceable>
+</programlisting>
+
+    <para>
+      You should be able to connect to the MySQL server, for example, by
+      running <filename>/usr/local/mysql/bin/mysql</filename>.
+    </para>
+
+    <note>
+      <para>
+        The accounts that are listed in the MySQL grant tables initially
+        have no passwords. After starting the server, you should set up
+        passwords for them using the instructions in
+        <xref linkend="post-installation"/>.
+      </para>
+    </note>
+
+    <para>
+      You might want to add aliases to your shell's resource file to
+      make it easier to access commonly used programs such as
+      <command>mysql</command> and <command>mysqladmin</command>
from
+      the command line. The syntax for <command>bash</command> is:
+    </para>
+
+<programlisting>
+alias mysql=/usr/local/mysql/bin/mysql
+alias mysqladmin=/usr/local/mysql/bin/mysqladmin
+</programlisting>
+
+    <para>
+      For <command>tcsh</command>, use:
+    </para>
+
+<programlisting>
+alias mysql /usr/local/mysql/bin/mysql
+alias mysqladmin /usr/local/mysql/bin/mysqladmin
+</programlisting>
+
+    <para>
+      Even better, add <literal>/usr/local/mysql/bin</literal> to your
+      <literal>PATH</literal> environment variable. You can do this by
+      modifying the appropriate startup file for your shell. For more
+      information, see <xref linkend="invoking-programs"/>.
+    </para>
+
+    <para>
+      If you are upgrading an existing installation, note that
+      installing a new MySQL PKG does not remove the directory of an
+      older installation. Unfortunately, the Mac OS X Installer does not
+      yet offer the functionality required to properly upgrade
+      previously installed packages.
+    </para>
+
+    <para>
+      To use your existing databases with the new installation, you'll
+      need to copy the contents of the old data directory to the new
+      data directory. Make sure that neither the old server nor the new
+      one is running when you do this. After you have copied over the
+      MySQL database files from the previous installation and have
+      successfully started the new server, you should consider removing
+      the old installation files to save disk space. Additionally, you
+      should also remove older versions of the Package Receipt
+      directories located in
+     
<filename>/Library/Receipts/mysql-<replaceable>VERSION</replaceable>.pkg</filename>.
+    </para>
+
+  </section>
+
+  <section id="solaris-installation" role="cses">
+
+    <title>Installing MySQL on Solaris</title>
+
+    <indexterm>
+      <primary>Solaris</primary>
+      <secondary>installation</secondary>
+    </indexterm>
+
+    <indexterm>
+      <primary>tar</primary>
+      <secondary>problems on Solaris</secondary>
+    </indexterm>
+
+    <indexterm>
+      <primary>installing</primary>
+      <secondary>Solaris PKG packages</secondary>
+    </indexterm>
+
+    <para>
+      If you install MySQL using a binary tarball distribution on
+      Solaris, you may run into trouble even before you get the MySQL
+      distribution unpacked, as the Solaris <command>tar</command>
+      cannot handle long filenames. This means that you may see errors
+      when you try to unpack MySQL.
+    </para>
+
+    <para>
+      If this occurs, you must use GNU <command>tar</command>
+      (<command>gtar</command>) to unpack the distribution. You can find
+      a precompiled copy for Solaris at
+      <ulink url="&base-url-downloads;os-solaris.html"/>.
+    </para>
+
+    <para>
+      You can install MySQL on Solaris using a binary package in PKG
+      format instead of the binary tarball distribution. Before
+      installing using the binary PKG format, you should create the
+      <literal>mysql</literal> user and group, for example:
+    </para>
+
+<programlisting>
+groupadd mysql
+useradd -g mysql mysql
+</programlisting>
+
+    <para>
+      Some basic PKG-handling commands follow:
+    </para>
+
+    <itemizedlist>
+
+      <listitem>
+        <para>
+          To add a package:
+        </para>
+
+<programlisting>
+pkgadd -d <replaceable>package_name</replaceable>.pkg
+</programlisting>
+      </listitem>
+
+      <listitem>
+        <para>
+          To remove a package:
+        </para>
+
+<programlisting>
+pkgrm <replaceable>package_name</replaceable>
+</programlisting>
+      </listitem>
+
+      <listitem>
+        <para>
+          To get a full list of installed packages:
+        </para>
+
+<programlisting>
+pkginfo
+</programlisting>
+      </listitem>
+
+      <listitem>
+        <para>
+          To get detailed information for a package:
+        </para>
+
+<programlisting>
+pkginfo -l <replaceable>package_name</replaceable>
+</programlisting>
+      </listitem>
+
+      <listitem>
+        <para>
+          To list the files belonging to a package:
+        </para>
+
+<programlisting>
+pkgchk -v <replaceable>package_name</replaceable>
+</programlisting>
+      </listitem>
+
+      <listitem>
+        <para>
+          To get packaging information for an arbitrary file:
+        </para>
+
+<programlisting>
+pkgchk -l -p <replaceable>file_name</replaceable>
+</programlisting>
+      </listitem>
+
+    </itemizedlist>
+
+    <para>
+      For additional information about installing MySQL on Solaris, see
+      <xref linkend="solaris"/>.
+    </para>
+
+  </section>
+
+  <section id="installation-i5os">
+
+    <title>Installing MySQL on i5/OS</title>
+
+    <indexterm>
+      <primary>IBM i5/OS</primary>
+    </indexterm>
+
+    <indexterm>
+      <primary>i5/OS</primary>
+    </indexterm>
+
+    <indexterm>
+      <primary>AS/400</primary>
+    </indexterm>
+
+    <para>
+      The i5/OS POWER MySQL package was created in cooperation with IBM.
+      MySQL works within the Portable Application Solution Environment
+      (PASE) on the System i series of hardware and will also provide
+      database services for the Zend Core for i5/OS.
+    </para>
+
+    <para>
+      MySQL for i5/OS is provided as a save file
+      (<literal>.savf</literal>) package that can be downloaded and
+      installed directly without any additional installation steps
+      required.
+    </para>
+
+    <para>
+      MySQL is only supported on i5/OS V5R4 or later releases. The i5/OS
+      PASE must be installed for MySQL to operate. You must be able to
+      login as a user in <literal>*SECOFR</literal> class.
+    </para>
+
+    <para>
+      You should the installation notes and tips for i5/OS before
+      starting installation. See
+      <link linkend="installation-i5os-notes">i5/OS Installation
+      Notes</link>.
+    </para>
+
+    <note>
+      <para>
+        The installation package will use an existing configuration if
+        you have previously installed MySQL (which is identified by
+        looking for the file <filename>/etc/my.cnf</filename>). The
+        values for the data directory (<literal>DATADIR</literal>) and
+        owner of the MySQL files (<literal>USRPRF</literal>) specified
+        during the installation will be ignored, and the values
+        determined from the <filename>/etc/my.cnf</filename> will be
+        used instead.
+      </para>
+
+      <para>
+        If you want to change these parameters during a new install, you
+        should temporarily rename <filename>/etc/my.cnf</filename>,
+        install MySQL using the new parameters you want to use, and then
+        merge your previous <filename>/etc/my.cnf</filename>
+        configuration settings with the new
+        <filename>/etc/my.cnf</filename> file that is created during
+        installation.
+      </para>
+    </note>
+
+    <para>
+      To install MySQL on i5/OS, follow these steps:
+    </para>
+
+    <orderedlist>
+
+      <listitem>
+        <para>
+          Create a user profile <literal>MYSQL</literal>. The
+          <literal>MYSQL</literal> user profile will own all the MySQL
+          files and databases and be the active user used when the MySQL
+          server is running. The profile should be disabled so that you
+          cannot log in as the MySQL user. To create a user profile, use
+          <command>CRTUSRPRF</command>:
+        </para>
+
+<programlisting>CRTUSRPRF USRPRF(MYSQL) STATUS(*DISABLED) TEXT('MySQL user
id')</programlisting>
+      </listitem>
+
+      <listitem>
+        <para>
+          On the System i machine, create a save file that will be used
+          to receive the downloaded installation save file. The file
+          should be located within the General Purpose Library
+          (<filename>QGPL</filename>):
+        </para>
+
+<programlisting>CRTSAVF FILE(QGPL/MYSQLINST)</programlisting>
+      </listitem>
+
+      <listitem>
+        <para>
+          Download the MySQL installation save file in 32-bit
+         
(<filename>mysql-<replaceable>5.0.42</replaceable>-i5os-power-32bit.savf</filename>)
+          or 64-bit
+         
(<filename>mysql-<replaceable>5.0.42</replaceable>-i5os-power-64bit.savf</filename>)
+          from <ulink url="http://dev.mysql.com/downloads">MySQL
+          Downloads</ulink>.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          You need to FTP the downloaded <literal>.savf</literal> file
+          directly into the <literal>QGPL/MYSQLINST</literal> file on
+          the System i server. You can do this through FTP using the
+          following steps after logging in to the System i machine:
+        </para>
+
+<programlisting>ftp&gt; bin
+ftp&gt; cd qgpl
+ftp&gt; put mysql-<replaceable>5.0.42</replaceable>-i5os-power.savf
mysqlinst</programlisting>
+      </listitem>
+
+      <listitem>
+        <para>
+          Log into the System i server using a user in the
+          <literal>*SECOFR</literal> class, such as the
+          <literal>QSECOFR</literal> user ID.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          You need to restore the installation library stored in the
+          <filename>.savf</filename> save file:
+        </para>
+
+<programlisting>RSTLIB MYSQLINST DEV(*SAVF)
SAVF(QGPL/MYSQLINST)</programlisting>
+      </listitem>
+
+      <listitem>
+        <para>
+          You need to execute the installation command,
+          <filename>MYSQLINST/INSMYSQL</filename>. You can specify three
+          parameter settings during installation:
+        </para>
+
+        <itemizedlist>
+
+          <listitem>
+            <para>
+             
<literal>DIR(<replaceable>'/opt/mysql'</replaceable>)</literal>
+              sets the installation location for the MySQL files. The
+              directory will be created if it does not already exist.
+            </para>
+          </listitem>
+
+          <listitem>
+            <para>
+             
<literal>DATADIR(<replaceable>'/QOpenSys/mysal/data'</replaceable>)</literal>
+              sets the location of the directory that will be used to
+              store the database files and binary logs. The default
+              setting is <filename>/QOpenSys/mysql/data</filename>. Note
+              that if the installer detects an existing installation
+              (due to the existence of
+              <filename>/etc/my.cnf</filename>), then this parameter
+              will be ignored.
+            </para>
+          </listitem>
+
+          <listitem>
+            <para>
+             
<literal>USRPRF(<replaceable>MYSQL</replaceable>)</literal>
+              sets the user profile that will own the files that are
+              installed. The profile will be created if it does not
+              already exist.
+            </para>
+          </listitem>
+
+        </itemizedlist>
+
+        <para>
+          MySQL can be installed anywhere, for this example we will
+          assume MySQL has been installed into
+          <filename>/opt/mysql</filename>. The
<literal>MYSQL</literal>
+          user profile that was created earlier in this sequence should
+          be used for the profile:
+        </para>
+
+<programlisting>MYSQLINST/INSMYSQL DIR('/opt/mysql') DATADIR('/opt/mysqldata')
USRPRF(MYSQL)</programlisting>
+
+        <para>
+          If you are updating an installation over an existing MySQL
+          installation, you should use the same parameter values that
+          were used when MySQL was originally installed.
+        </para>
+
+        <para>
+          The installation copies all the necessary files into a
+          directory matching the package version (for example
+          <filename>mysql-5.0.42-i5os-power-32bit</filename>), sets the
+          ownership on those files, sets up the MySQL environment and
+          creates the MySQL configuration file (in
+          <filename>/etc/my.cnf</filename>) completing all the steps in
+          a typical binary installation process automatically. If this
+          is a new installation of MySQL, or if the installer detects
+          that this is a new version (because the
+          <filename>/etc/my.cnf</filename> file does not exist), then
+          the initial core MySQL databases will also be created during
+          installation.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          Once the installation has completed, you can delete the
+          installation file:
+        </para>
+
+<programlisting>DLTLIB LIB(MYSQLINST)</programlisting>
+      </listitem>
+
+    </orderedlist>
+
+    <para>
+      To start MySQL:
+    </para>
+
+    <orderedlist>
+
+      <listitem>
+        <para>
+          Log into the System i server using a user within the
+          <literal>*SECOFR</literal> class, such as the
+          <literal>QSECOFR</literal> user ID.
+        </para>
+
+        <note>
+          <para>
+            You should start <command>mysqld_safe</command> using a user
+            that in the PASE environment has the id=0 (the equivalent of
+            the standard Unix <literal>root</literal> user). If you do
+            not use a user with this ID then the system will be unable
+            to change the user when executing <command>mysqld</command>
+            as set using <literal>--user</literal> option. If this
+            happens, <command>mysqld</command> may be unable to read the
+            files located within the MySQL data directory and the
+            execution will fail.
+          </para>
+        </note>
+      </listitem>
+
+      <listitem>
+        <para>
+          Enter the PASE environment using <literal>call
+          qp2term</literal>.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          Start the MySQL server by changing to the installation
+          directory and running <command>mysqld_safe</command>,
+          specifying the user name used to install the server. The
+          installer conveniently installs a symbolic link to the
+          installation directory
+          (<filename>mysql-5.0.42-i5os-power-32bit</filename>) as
+          <filename>/opt/mysql/mysql</filename>:
+        </para>
+
+<programlisting>&gt; cd /opt/mysql/mysql
+&gt; bin/mysqld_safe --user=mysql &amp;</programlisting>
+
+        <para>
+          You should see a message similar to the following:
+        </para>
+
+<programlisting>Starting mysqld daemon with databases &raquo;
+     from /opt/mysql/mysql-enterprise-5.0.42-i5os-power-32bit/data</programlisting>
+      </listitem>
+
+    </orderedlist>
+
+    <para>
+      If you are having problems starting MySQL server, see
+      <xref linkend="starting-server"/>.
+    </para>
+
+    <para>
+      To stop MySQL:
+    </para>
+
+    <orderedlist>
+
+      <listitem>
+        <para>
+          Log into the System i server using the
+          <literal>*SECOFR</literal> class, such as the
+          <literal>QSECOFR</literal> user ID.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          Enter the PASE environment using <literal>call
+          qp2term</literal>.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          Stop the MySQL server by changing into the installation
+          directory and running <command>mysqladmin</command>,
+          specifying the user name used to install the server:
+        </para>
+
+<programlisting>&gt; cd /opt/mysql/mysql
+&gt; bin/mysqladmin -u root shutdown</programlisting>
+
+        <para>
+          If the session that you started and stopped MySQL are the
+          same, you may get the log output from
+          <literal>mysqld</literal>:
+        </para>
+
+<programlisting>   STOPPING server from pid file &raquo;
+     /opt/mysql/mysql-enterprise-5.0.42-i5os-power-32bit/data/I5DBX.RCHLAND.IBM.COM.pid  
                                       
+   070718 10:34:20  mysqld ended</programlisting>
+
+        <para>
+          If the sessions used to start and stop MySQL are different,
+          you will not receive any confirmation of the shutdown.
+        </para>
+      </listitem>
+
+    </orderedlist>
+
+    <para id="installation-i5os-notes">
+      <emphasis>Note and tips</emphasis>
+    </para>
+
+    <itemizedlist>
+
+      <listitem>
+        <para>
+          A problem has been identified with the installation process on
+          DBCS systems. If you are having problems install MySQL on a
+          DBCS system, you need to change your job's coded character set
+          identifier (<literal>CSSID</literal>) to 37
+          (<literal>EBCDIC</literal>) before executing the install
+          command, <literal>INSMYSQL</literal>. To do this, determine
+          your existing <literal>CSSID</literal> (using
+          <literal>DSPJOB</literal> and selecting option 2), execute
+          <literal>CHGJOB CSSID(37)</literal>, run
+          <literal>INSMYSQL</literal> to install MySQL and then execute
+          <literal>CHGJOB</literal> again with your original
+          <literal>CSSID.</literal>
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          If you want to use the Perl scripts that are included with
+          MySQL, you need to download the iSeries Tools for Developers
+          (5799-PTL). See
+          <ulink url="http://www-03.ibm.com/servers/enable/site/porting/tools/"/>.
+        </para>
+      </listitem>
+
+    </itemizedlist>
+
+  </section>
+
+  <section id="netware-installation" role="cs">
+
+    <title>Installing MySQL on NetWare</title>
+
+    <indexterm>
+      <primary>Novell NetWare</primary>
+    </indexterm>
+
+    <indexterm>
+      <primary>NetWare</primary>
+    </indexterm>
+
+    <para>
+      Porting MySQL to NetWare was an effort spearheaded by Novell.
+      Novell customers should be pleased to note that NetWare 6.5 ships
+      with bundled MySQL binaries, complete with an automatic commercial
+      use license for all servers running that version of NetWare.
+    </para>
+
+    <para>
+      MySQL for NetWare is compiled using a combination of Metrowerks
+      CodeWarrior for NetWare and special cross-compilation versions of
+      the GNU autotools.
+    </para>
+
+    <para>
+      The latest binary packages for NetWare can be obtained at
+      <ulink url="&base-url-downloads;"/>. See
+      <xref linkend="getting-mysql"/>.
+    </para>
+
+    <para>
+      To host MySQL, the NetWare server must meet these requirements:
+    </para>
+
+    <itemizedlist>
+
+      <listitem>
+        <para>
+          The latest Support Pack of
+          <ulink
url="http://support.novell.com/filefinder/18197/index.html">NetWare
+          6.5</ulink> must be installed.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          The system must meet Novell's minimum requirements to run the
+          respective version of NetWare.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          MySQL data and the program binaries must be installed on an
+          NSS volume; traditional volumes are not supported.
+        </para>
+      </listitem>
+
+    </itemizedlist>
+
+    <para>
+      To install MySQL for NetWare, use the following procedure:
+    </para>
+
+    <orderedlist>
+
+      <listitem>
+        <para>
+          If you are upgrading from a prior installation, stop the MySQL
+          server. This is done from the server console, using the
+          following command:
+        </para>
+
+<programlisting>
+SERVER:  mysqladmin -u root shutdown
+</programlisting>
+
+        <note>
+          <para>
+            If the MySQL <literal>root</literal> user account has a
+            password, you need to invoke <command>mysqladmin</command>
+            with the <option>-p</option> option and supply the password
+            when prompted.
+          </para>
+        </note>
+      </listitem>
+
+      <listitem>
+        <para>
+          Log on to the target server from a client machine with access
+          to the location where you are installing MySQL.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          Extract the binary package Zip file onto the server. Be sure
+          to allow the paths in the Zip file to be used. It is safe to
+          simply extract the file to <filename>SYS:\</filename>.
+        </para>
+
+        <para>
+          If you are upgrading from a prior installation, you may need
+          to copy the data directory (for example,
+          <filename>SYS:MYSQL\DATA</filename>), as well as
+          <filename>my.cnf</filename>, if you have customized it. You
+          can then delete the old copy of MySQL.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          You might want to rename the directory to something more
+          consistent and easy to use. The examples in this manual use
+          <filename>SYS:MYSQL</filename> to refer to the installation
+          directory.
+        </para>
+
+        <para>
+          Note that MySQL installation on NetWare does not detect if a
+          version of MySQL is already installed outside the NetWare
+          release. Therefore, if you have installed the latest MySQL
+          version from the Web (for example, MySQL 4.1 or later) in
+          <filename>SYS:\MYSQL</filename>, you must rename the folder
+          before upgrading the NetWare server; otherwise, files in
+          <filename>SYS:\MySQL</filename> are overwritten by the MySQL
+          version present in NetWare Support Pack.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          At the server console, add a search path for the directory
+          containing the MySQL NLMs. For example:
+        </para>
+
+<programlisting>
+SERVER:  SEARCH ADD SYS:MYSQL\BIN
+</programlisting>
+      </listitem>
+
+      <listitem>
+        <para>
+          Initialize the data directory and the grant tables, if
+          necessary, by executing <command>mysql_install_db</command> at
+          the server console.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          Start the MySQL server using <command>mysqld_safe</command> at
+          the server console.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          To finish the installation, you should also add the following
+          commands to <filename>autoexec.ncf</filename>. For example, if
+          your MySQL installation is in <filename>SYS:MYSQL</filename>
+          and you want MySQL to start automatically, you could add these
+          lines:
+        </para>
+
+<programlisting>
+#Starts the MySQL &current-series;.x database server
+SEARCH ADD SYS:MYSQL\BIN
+MYSQLD_SAFE
+</programlisting>
+
+        <para>
+          If you are running MySQL on NetWare 6.0, we strongly suggest
+          that you use the <option>--skip-external-locking</option>
+          option on the command line:
+        </para>
+
+<programlisting>
+#Starts the MySQL &current-series;.x database server
+SEARCH ADD SYS:MYSQL\BIN
+MYSQLD_SAFE --skip-external-locking
+</programlisting>
+
+        <para>
+          It is also necessary to use <literal>CHECK TABLE</literal> and
+          <literal>REPAIR TABLE</literal> instead of
+          <command>myisamchk</command>, because
+          <command>myisamchk</command> makes use of external locking.
+          External locking is known to have problems on NetWare 6.0; the
+          problem has been eliminated in NetWare 6.5. Note that the use
+          of MySQL on Netware 6.0 is not officially supported.
+        </para>
+
+        <para>
+          <command>mysqld_safe</command> on NetWare provides a screen
+          presence. When you unload (shut down) the
+          <command>mysqld_safe</command> NLM, the screen does not go
+          away by default. Instead, it prompts for user input:
+        </para>
+
+<programlisting>
+*&lt;NLM has terminated; Press any key to close the screen&gt;*
+</programlisting>
+
+        <para>
+          If you want NetWare to close the screen automatically instead,
+          use the <option>--autoclose</option> option to
+          <command>mysqld_safe</command>. For example:
+        </para>
+
+<programlisting>
+#Starts the MySQL &current-series;.x database server
+SEARCH ADD SYS:MYSQL\BIN
+MYSQLD_SAFE --autoclose
+</programlisting>
+
+        <para>
+          The behavior of <command>mysqld_safe</command> on NetWare is
+          described further in <xref linkend="mysqld-safe"/>.
+        </para>
+      </listitem>
+
+      <listitem>
+        <remark role="todo">
+          Check this periodically and update when these packages are no
+          longer beta level. /JS - 2005-07-16
+        </remark>
+
+        <para>
+          When installing MySQL, either for the first time or upgrading
+          from a previous version, download and install the latest and
+          appropriate Perl module and PHP extensions for NetWare:
+        </para>
+
+        <itemizedlist>
+
+          <listitem>
+            <para>
+              Perl:
+              <ulink
url="http://forge.novell.com/modules/xfcontent/downloads.php/perl/Modules/"/>
+            </para>
+          </listitem>
+
+          <listitem>
+            <para>
+              PHP:
+              <ulink
url="http://forge.novell.com/modules/xfcontent/downloads.php/php/Modules/"/>
+            </para>
+          </listitem>
+
+        </itemizedlist>
+      </listitem>
+
+    </orderedlist>
+
+    <para>
+      If there was an existing installation of MySQL on the NetWare
+      server, be sure to check for existing MySQL startup commands in
+      <filename>autoexec.ncf</filename>, and edit or delete them as
+      necessary.
+    </para>
+
+    <note>
+      <para>
+        The accounts that are listed in the MySQL grant tables initially
+        have no passwords. After starting the server, you should set up
+        passwords for them using the instructions in
+        <xref linkend="post-installation"/>.
+      </para>
+    </note>
+
+    <remark role="todo">
+      Rename this node. "Installing binary" should be used for the
+      general binary installation section only.
+    </remark>
+
+  </section>
+
+  <section id="installing-binary" role="cs">
+
+    <title>Installing MySQL from <filename>tar.gz</filename> Packages
on Other
+      Unix-Like Systems</title>
+
+    <indexterm>
+      <primary>installing</primary>
+      <secondary>binary distribution</secondary>
+    </indexterm>
+
+    <indexterm>
+      <primary>binary distributions</primary>
+      <secondary>installing</secondary>
+    </indexterm>
+
+    <para>
+      This section covers the installation of MySQL binary distributions
+      that are provided for various platforms in the form of compressed
+      <command>tar</command> files (files with a
+      <filename>.tar.gz</filename> extension). See
+      <xref linkend="mysql-binaries"/>, for a detailed list.
+    </para>
+
+    <para>
+      To obtain MySQL, see <xref linkend="getting-mysql"/>.
+    </para>
+
+    <para>
+      MySQL <command>tar</command> file binary distributions have names
+      of the form
+     
<filename>mysql-<replaceable>VERSION</replaceable>-<replaceable>OS</replaceable>.tar.gz</filename>,
+      where <literal><replaceable>VERSION</replaceable></literal>
is a
+      number (for example, <literal>&current-version;</literal>), and
+      <replaceable>OS</replaceable> indicates the type of operating
+      system for which the distribution is intended (for example,
+      <literal>pc-linux-i686</literal>).
+    </para>
+
+    <para>
+      In addition to these generic packages, we also offer binaries in
+      platform-specific package formats for selected platforms. See
+      <xref linkend="quick-standard-installation"/>, for more
+      information on how to install these.
+    </para>
+
+    <para>
+      You need the following tools to install a MySQL
+      <command>tar</command> file binary distribution:
+    </para>
+
+    <itemizedlist>
+
+      <listitem>
+        <para>
+          GNU <literal>gunzip</literal> to uncompress the distribution.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          A reasonable <command>tar</command> to unpack the
+          distribution. GNU <command>tar</command> is known to work.
+          Some operating systems come with a preinstalled version of
+          <command>tar</command> that is known to have problems. For
+          example, Mac OS X <command>tar</command> and Sun
+          <command>tar</command> are known to have problems with long
+          filenames. On Mac OS X, you can use the preinstalled
+          <command>gnutar</command> program. On other systems with a
+          deficient <command>tar</command>, you should install GNU
+          <command>tar</command> first.
+        </para>
+      </listitem>
+
+    </itemizedlist>
+
+    <para>
+      If you run into problems and need to file a bug report, please use
+      the instructions in <xref linkend="bug-reports"/>.
+    </para>
+
+    <indexterm>
+      <primary>commands</primary>
+      <secondary>for binary distribution</secondary>
+    </indexterm>
+
+    <para>
+      The basic commands that you must execute to install and use a
+      MySQL binary distribution are:
+    </para>
+
+<programlisting>
+shell&gt; <userinput>groupadd mysql</userinput>
+shell&gt; <userinput>useradd -g mysql mysql</userinput>
+shell&gt; <userinput>cd /usr/local</userinput>
+shell&gt; <userinput>gunzip &lt;
<replaceable>/path/to/mysql-VERSION-OS</replaceable>.tar.gz | tar xvf
-</userinput>
+shell&gt; <userinput>ln -s
<replaceable>full-path-to-mysql-VERSION-OS</replaceable>
mysql</userinput>
+shell&gt; <userinput>cd mysql</userinput>
+shell&gt; <userinput>chown -R mysql .</userinput>
+shell&gt; <userinput>chgrp -R mysql .</userinput>
+shell&gt; <userinput>scripts/mysql_install_db --user=mysql</userinput>
+shell&gt; <userinput>chown -R root .</userinput>
+shell&gt; <userinput>chown -R mysql data</userinput>
+shell&gt; <userinput>bin/mysqld_safe --user=mysql &amp;</userinput>
+</programlisting>
+
+    <note>
+      <para>
+        This procedure does not set up any passwords for MySQL accounts.
+        After following the procedure, proceed to
+        <xref linkend="post-installation"/>.
+      </para>
+    </note>
+
+    <para>
+      A more detailed version of the preceding description for
+      installing a binary distribution follows:
+    </para>
+
+    <orderedlist>
+
+      <listitem>
+        <para>
+          Add a login user and group for <command>mysqld</command> to
+          run as:
+        </para>
+
+<programlisting>
+shell&gt; <userinput>groupadd mysql</userinput>
+shell&gt; <userinput>useradd -g mysql mysql</userinput>
+</programlisting>
+
+        <para>
+          These commands add the <literal>mysql</literal> group and the
+          <literal>mysql</literal> user. The syntax for
+          <command>useradd</command> and
<command>groupadd</command> may
+          differ slightly on different versions of Unix, or they may
+          have different names such as <command>adduser</command> and
+          <command>addgroup</command>.
+        </para>
+
+        <para>
+          You might want to call the user and group something else
+          instead of <literal>mysql</literal>. If so, substitute the
+          appropriate name in the following steps.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          Pick the directory under which you want to unpack the
+          distribution and change location into it. In the following
+          example, we unpack the distribution under
+          <filename>/usr/local</filename>. (The instructions, therefore,
+          assume that you have permission to create files and
+          directories in <filename>/usr/local</filename>. If that
+          directory is protected, you must perform the installation as
+          <literal>root</literal>.)
+        </para>
+
+<programlisting>
+shell&gt; <userinput>cd /usr/local</userinput>
+</programlisting>
+      </listitem>
+
+      <listitem>
+        <para>
+          Obtain a distribution file using the instructions in
+          <xref linkend="getting-mysql"/>. For a given release, binary
+          distributions for all platforms are built from the same MySQL
+          source distribution.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          Unpack the distribution, which creates the installation
+          directory. Then create a symbolic link to that directory:
+        </para>
+
+<programlisting>
+shell&gt; <userinput>gunzip &lt;
<replaceable>/path/to/mysql-VERSION-OS</replaceable>.tar.gz | tar xvf
-</userinput>
+shell&gt; <userinput>ln -s
<replaceable>full-path-to-mysql-VERSION-OS</replaceable>
mysql</userinput>
+</programlisting>
+
+        <para>
+          The <command>tar</command> command creates a directory named
+         
<filename>mysql-<replaceable>VERSION</replaceable>-<replaceable>OS</replaceable></filename>.
+          The <literal>ln</literal> command makes a symbolic link to
+          that directory. This lets you refer more easily to the
+          installation directory as
+          <filename>/usr/local/mysql</filename>.
+        </para>
+
+        <para>
+          With GNU <command>tar</command>, no separate invocation of
+          <literal>gunzip</literal> is necessary. You can replace the
+          first line with the following alternative command to
+          uncompress and extract the distribution:
+        </para>
+
+<programlisting>
+shell&gt; <userinput>tar zxvf
<replaceable>/path/to/mysql-VERSION-OS</replaceable>.tar.gz</userinput>
+</programlisting>
+      </listitem>
+
+      <listitem>
+        <para>
+          Change location into the installation directory:
+        </para>
+
+<programlisting>
+shell&gt; <userinput>cd mysql</userinput>
+</programlisting>
+
+        <para>
+          You will find several files and subdirectories in the
+          <literal>mysql</literal> directory. The most important for
+          installation purposes are the <filename>bin</filename> and
+          <filename>scripts</filename> subdirectories:
+        </para>
+
+        <itemizedlist>
+
+          <indexterm>
+            <primary>PATH environment variable</primary>
+          </indexterm>
+
+          <indexterm>
+            <primary>environment variable</primary>
+            <secondary>PATH</secondary>
+          </indexterm>
+
+          <listitem>
+            <para>
+              The <filename>bin</filename> directory contains client
+              programs and the server. You should add the full pathname
+              of this directory to your <literal>PATH</literal>
+              environment variable so that your shell finds the MySQL
+              programs properly. See
+              <xref linkend="environment-variables"/>.
+            </para>
+          </listitem>
+
+          <listitem>
+            <para>
+              The <filename>scripts</filename> directory contains the
+              <command>mysql_install_db</command> script used to
+              initialize the <literal>mysql</literal> database
+              containing the grant tables that store the server access
+              permissions.
+            </para>
+          </listitem>
+
+        </itemizedlist>
+      </listitem>
+
+      <listitem>
+        <para>
+          Ensure that the distribution contents are accessible to
+          <literal>mysql</literal>. If you unpacked the distribution as
+          <literal>mysql</literal>, no further action is required. If
+          you unpacked the distribution as <literal>root</literal>, its
+          contents will be owned by <literal>root</literal>. Change its
+          ownership to <literal>mysql</literal> by executing the
+          following commands as <literal>root</literal> in the
+          installation directory:
+        </para>
+
+<programlisting>
+shell&gt; <userinput>chown -R mysql .</userinput>
+shell&gt; <userinput>chgrp -R mysql .</userinput>
+</programlisting>
+
+        <para>
+          The first command changes the owner attribute of the files to
+          the <literal>mysql</literal> user. The second changes the
+          group attribute to the <literal>mysql</literal> group.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          If you have not installed MySQL before, you must create the
+          MySQL data directory and initialize the grant tables:
+        </para>
+
+<programlisting>
+shell&gt; <userinput>scripts/mysql_install_db --user=mysql</userinput>
+</programlisting>
+
+        <para>
+          If you run the command as <literal>root</literal>, include the
+          <option>--user</option> option as shown. If you run the
+          command while logged in as that user, you can omit the
+          <option>--user</option> option.
+        </para>
+
+        <para>
+          The command should create the data directory and its contents
+          with <literal>mysql</literal> as the owner.
+        </para>
+
+        <para>
+          After creating or updating the grant tables, you need to
+          restart the server manually.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          Most of the MySQL installation can be owned by
+          <literal>root</literal> if you like. The exception is that the
+          data directory must be owned by <literal>mysql</literal>. To
+          accomplish this, run the following commands as
+          <literal>root</literal> in the installation directory:
+        </para>
+
+<programlisting>
+shell&gt; <userinput>chown -R root .</userinput>
+shell&gt; <userinput>chown -R mysql data</userinput>
+</programlisting>
+      </listitem>
+
+      <listitem>
+        <para>
+          If you want MySQL to start automatically when you boot your
+          machine, you can copy
+          <literal>support-files/mysql.server</literal> to the location
+          where your system has its startup files. More information can
+          be found in the <literal>support-files/mysql.server</literal>
+          script itself and in <xref linkend="automatic-start"/>.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          <indexterm>
+            <primary>adding</primary>
+            <secondary>new users</secondary>
+          </indexterm>
+
+          <indexterm>
+            <primary>new users</primary>
+            <secondary>adding</secondary>
+          </indexterm>
+
+          <indexterm>
+            <primary>users</primary>
+            <secondary>adding</secondary>
+          </indexterm>
+
+          You can set up new accounts using the
+          <command>bin/mysql_setpermission</command> script if you
+          install the <literal>DBI</literal> and
+          <literal>DBD::mysql</literal> Perl modules. See
+          <xref linkend="mysql-setpermission"/>. For Perl module
+          installation instructions, see <xref linkend="perl-support"/>.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          If you would like to use <command>mysqlaccess</command> and
+          have the MySQL distribution in some non-standard location, you
+          must change the location where <command>mysqlaccess</command>
+          expects to find the <command>mysql</command> client. Edit the
+          <filename>bin/mysqlaccess</filename> script at approximately
+          line 18. Search for a line that looks like this:
+        </para>
+
+<programlisting>
+$MYSQL     = '/usr/local/bin/mysql';    # path to mysql executable
+</programlisting>
+
+        <para>
+          Change the path to reflect the location where
+          <command>mysql</command> actually is stored on your system. If
+          you do not do this, a <literal>Broken pipe</literal> error
+          will occur when you run <command>mysqlaccess</command>.
+        </para>
+      </listitem>
+
+    </orderedlist>
+
+    <para>
+      After everything has been unpacked and installed, you should test
+      your distribution. To start the MySQL server, use the following
+      command:
+    </para>
+
+<programlisting>
+shell&gt; <userinput>bin/mysqld_safe --user=mysql &amp;</userinput>
+</programlisting>
+
+    <para>
+      If you run the command as <literal>root</literal>, you must use
+      the <option>--user</option> option as shown. The value of the
+      option is the name of the login account that you created in the
+      first step to use for running the server. If you run the command
+      while logged in as <literal>mysql</literal>, you can omit the
+      <option>--user</option> option.
+    </para>
+
+    <para>
+      If the command fails immediately and prints <literal>mysqld
+      ended</literal>, you can find some information in the
+     
<filename><replaceable>host_name</replaceable>.err</filename>
file
+      in the data directory.
+    </para>
+
+    <para>
+      More information about <command>mysqld_safe</command> is given in
+      <xref linkend="mysqld-safe"/>.
+    </para>
+
+    <note>
+      <para>
+        The accounts that are listed in the MySQL grant tables initially
+        have no passwords. After starting the server, you should set up
+        passwords for them using the instructions in
+        <xref linkend="post-installation"/>.
+      </para>
+    </note>
+
+  </section>
+
+  <section id="installing-source" role="cs">
+
+    <title>MySQL Installation Using a Source Distribution</title>
+
+    <indexterm>
+      <primary>installing</primary>
+      <secondary>source distribution</secondary>
+    </indexterm>
+
+    <indexterm>
+      <primary>source distribution</primary>
+      <secondary>installing</secondary>
+    </indexterm>
+
+    <indexterm>
+      <primary>installation overview</primary>
+    </indexterm>
+
+    <para>
+      Before you proceed with an installation from source, first check
+      whether our binary is available for your platform and whether it
+      works for you. We put a great deal of effort into ensuring that
+      our binaries are built with the best possible options.
+    </para>
+
+    <para>
+      To obtain a source distribution for MySQL,
+      <xref linkend="getting-mysql"/>. If you want to build MySQL from
+      source on Windows, see <xref linkend="windows-source-build"/>.
+    </para>
+
+    <para>
+      MySQL source distributions are provided as compressed
+      <command>tar</command> archives and have names of the form
+     
<filename>mysql-<replaceable>VERSION</replaceable>.tar.gz</filename>,
+      where <replaceable>VERSION</replaceable> is a number like
+      <literal>&current-version;</literal>.
+    </para>
+
+    <para>
+      You need the following tools to build and install MySQL from
+      source:
+    </para>
+
+    <itemizedlist>
+
+      <listitem>
+        <para>
+          GNU <literal>gunzip</literal> to uncompress the distribution.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          A reasonable <command>tar</command> to unpack the
+          distribution. GNU <command>tar</command> is known to work.
+          Some operating systems come with a preinstalled version of
+          <command>tar</command> that is known to have problems. For
+          example, the <command>tar</command> provided with early
+          versions of Mac OS X <command>tar</command>, SunOS 4.x and
+          Solaris 8 and earlier are known to have problems with long
+          filenames. On Mac OS X, you can use the preinstalled
+          <command>gnutar</command> program. On other systems with a
+          deficient <command>tar</command>, you should install GNU
+          <command>tar</command> first.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          A working ANSI C++ compiler. <command>gcc</command> 2.95.2 or
+          later, SGI C++, and SunPro C++ are some of the compilers that
+          are known to work. <literal>libg++</literal> is not needed
+          when using <command>gcc</command>.
<command>gcc</command>
+          2.7.x has a bug that makes it impossible to compile some
+          perfectly legal C++ files, such as
+          <filename>sql/sql_base.cc</filename>. If you have only
+          <command>gcc</command> 2.7.x, you must upgrade your
+          <command>gcc</command> to be able to compile MySQL.
+          <command>gcc</command> 2.8.1 is also known to have problems on
+          some platforms, so it should be avoided if a newer compiler
+          exists for the platform. <command>gcc</command> 2.95.2 or
+          later is recommended.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          A good <command>make</command> program. GNU
+          <command>make</command> is always recommended and is sometimes
+          required. (BSD <command>make</command> fails, and
+          vendor-provided <command>make</command> implementations may
+          fail as well.) If you have problems, we recommend GNU
+          <command>make</command> 3.75 or newer.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          <command>libtool</command> 1.5.24 or later is also
+          recommended.
+        </para>
+      </listitem>
+
+    </itemizedlist>
+
+    <para>
+      If you are using a version of <command>gcc</command> recent enough
+      to understand the <option>-fno-exceptions</option> option, it is
+      <emphasis>very important</emphasis> that you use this option.
+      Otherwise, you may compile a binary that crashes randomly. We also
+      recommend that you use <option>-felide-constructors</option> and
+      <option>-fno-rtti</option> along with
+      <option>-fno-exceptions</option>. When in doubt, do the following:
+    </para>
+
+<programlisting>
+CFLAGS="-O3" CXX=gcc CXXFLAGS="-O3 -felide-constructors \
+       -fno-exceptions -fno-rtti" ./configure \
+       --prefix=/usr/local/mysql --enable-assembler \
+       --with-mysqld-ldflags=-all-static
+</programlisting>
+
+    <para>
+      On most systems, this gives you a fast and stable binary.
+    </para>
+
+    <para>
+      If you run into problems and need to file a bug report, please use
+      the instructions in <xref linkend="bug-reports"/>.
+    </para>
+
+    <section id="quick-install" role="cs">
+
+      <title>Source Installation Overview</title>
+
+      <para>
+        The basic commands that you must execute to install a MySQL
+        source distribution are:
+      </para>
+
+<programlisting>
+shell&gt; <userinput>groupadd mysql</userinput>
+shell&gt; <userinput>useradd -g mysql mysql</userinput>
+shell&gt; <userinput>gunzip &lt;
mysql-<replaceable>VERSION</replaceable>.tar.gz | tar -xvf
-</userinput>
+shell&gt; <userinput>cd
mysql-<replaceable>VERSION</replaceable></userinput>
+shell&gt; <userinput>./configure --prefix=/usr/local/mysql</userinput>
+shell&gt; <userinput>make</userinput>
+shell&gt; <userinput>make install</userinput>
+shell&gt; <userinput>cp support-files/my-medium.cnf
/etc/my.cnf</userinput>
+shell&gt; <userinput>cd /usr/local/mysql</userinput>
+shell&gt; <userinput>chown -R mysql .</userinput>
+shell&gt; <userinput>chgrp -R mysql .</userinput>
+shell&gt; <userinput>bin/mysql_install_db --user=mysql</userinput>
+shell&gt; <userinput>chown -R root .</userinput>
+shell&gt; <userinput>chown -R mysql var</userinput>
+shell&gt; <userinput>bin/mysqld_safe --user=mysql &amp;</userinput>
+</programlisting>
+
+      <para>
+        If you start from a source RPM, do the following:
+      </para>
+
+<programlisting>
+shell&gt; <userinput>rpmbuild --rebuild --clean
MySQL-<replaceable>VERSION</replaceable>.src.rpm</userinput>
+</programlisting>
+
+      <para>
+        This makes a binary RPM that you can install. For older versions
+        of RPM, you may have to replace the command
+        <command>rpmbuild</command> with <command>rpm</command>
instead.
+      </para>
+
+      <note>
+        <para>
+          This procedure does not set up any passwords for MySQL
+          accounts. After following the procedure, proceed to
+          <xref linkend="post-installation"/>, for post-installation
+          setup and testing.
+        </para>
+      </note>
+
+      <para>
+        A more detailed version of the preceding description for
+        installing MySQL from a source distribution follows:
+      </para>
+
+      <orderedlist>
+
+        <listitem>
+          <para>
+            Add a login user and group for <command>mysqld</command> to
+            run as:
+          </para>
+
+<programlisting>
+shell&gt; <userinput>groupadd mysql</userinput>
+shell&gt; <userinput>useradd -g mysql mysql</userinput>
+</programlisting>
+
+          <para>
+            These commands add the <literal>mysql</literal> group and
+            the <literal>mysql</literal> user. The syntax for
+            <command>useradd</command> and
<command>groupadd</command>
+            may differ slightly on different versions of Unix, or they
+            may have different names such as <command>adduser</command>
+            and <command>addgroup</command>.
+          </para>
+
+          <para>
+            You might want to call the user and group something else
+            instead of <literal>mysql</literal>. If so, substitute the
+            appropriate name in the following steps.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            Perform the following steps as the <literal>mysql</literal>
+            user, except as noted.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            Pick the directory under which you want to unpack the
+            distribution and change location into it.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            Obtain a distribution file using the instructions in
+            <xref linkend="getting-mysql"/>.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            Unpack the distribution into the current directory:
+          </para>
+
+<programlisting>
+shell&gt; <userinput>gunzip &lt;
<replaceable>/path/to/mysql-VERSION</replaceable>.tar.gz | tar xvf
-</userinput>
+</programlisting>
+
+          <para>
+            This command creates a directory named
+           
<filename>mysql-<replaceable>VERSION</replaceable></filename>.
+          </para>
+
+          <para>
+            With GNU <command>tar</command>, no separate invocation of
+            <literal>gunzip</literal> is necessary. You can use the
+            following alternative command to uncompress and extract the
+            distribution:
+          </para>
+
+<programlisting>
+shell&gt; <userinput>tar zxvf
<replaceable>/path/to/mysql-VERSION-OS</replaceable>.tar.gz</userinput>
+</programlisting>
+        </listitem>
+
+        <listitem>
+          <para>
+            Change location into the top-level directory of the unpacked
+            distribution:
+          </para>
+
+<programlisting>
+shell&gt; <userinput>cd
mysql-<replaceable>VERSION</replaceable></userinput>
+</programlisting>
+
+          <remark role="todo">
+            [pd] It's no longer true that you must be in the top-level
+            directory, but we need information from the build team if
+            we're to describe alternative procedures.
+          </remark>
+
+          <para>
+            Note that currently you must configure and build MySQL from
+            this top-level directory. You cannot build it in a different
+            directory.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            Configure the release and compile everything:
+          </para>
+
+<programlisting>
+shell&gt; <userinput>./configure --prefix=/usr/local/mysql</userinput>
+shell&gt; <userinput>make</userinput>
+</programlisting>
+
+          <para>
+            When you run <command>configure</command>, you might want to
+            specify other options. Run <command>./configure
+            --help</command> for a list of options.
+            <xref linkend="configure-options"/>, discusses some of the
+            more useful options.
+          </para>
+
+          <para>
+            If <command>configure</command> fails and you are going to
+            send mail to a MySQL mailing list to ask for assistance,
+            please include any lines from
+            <filename>config.log</filename> that you think can help
+            solve the problem. Also include the last couple of lines of
+            output from <command>configure</command>. To file a bug
+            report, please use the instructions in
+            <xref linkend="bug-reports"/>.
+          </para>
+
+          <para>
+            If the compile fails, see
+            <xref linkend="compilation-problems"/>, for help.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            Install the distribution:
+          </para>
+
+<programlisting>
+shell&gt; <userinput>make install</userinput>
+</programlisting>
+
+          <para>
+            You might need to run this command as
+            <literal>root</literal>.
+          </para>
+
+          <para>
+            If you want to set up an option file, use one of those
+            present in the <filename>support-files</filename> directory
+            as a template. For example:
+          </para>
+
+<programlisting>
+shell&gt; <userinput>cp support-files/my-medium.cnf
/etc/my.cnf</userinput>
+</programlisting>
+
+          <para>
+            You might need to run this command as
+            <literal>root</literal>.
+          </para>
+
+          <para>
+            If you want to configure support for
+            <literal>InnoDB</literal> tables, you should edit the
+            <literal>/etc/my.cnf</literal> file, remove the
+            <literal>#</literal> character before the option lines that
+            start with <literal>innodb_...</literal>, and modify the
+            option values to be what you want. See
+            <xref linkend="option-files"/>, and
+            <xref linkend="innodb-configuration"/>.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            Change location into the installation directory:
+          </para>
+
+<programlisting>
+shell&gt; <userinput>cd /usr/local/mysql</userinput>
+</programlisting>
+        </listitem>
+
+        <listitem>
+          <para>
+            If you ran the <command>make install</command> command as
+            <literal>root</literal>, the installed files will be owned
+            by <literal>root</literal>. Ensure that the installation is
+            accessible to <literal>mysql</literal> by executing the
+            following commands as <literal>root</literal> in the
+            installation directory:
+          </para>
+
+<programlisting>
+shell&gt; <userinput>chown -R mysql .</userinput>
+shell&gt; <userinput>chgrp -R mysql .</userinput>
+</programlisting>
+
+          <para>
+            The first command changes the owner attribute of the files
+            to the <literal>mysql</literal> user. The second changes the
+            group attribute to the <literal>mysql</literal> group.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            If you have not installed MySQL before, you must create the
+            MySQL data directory and initialize the grant tables:
+          </para>
+
+<programlisting>
+shell&gt; <userinput>bin/mysql_install_db --user=mysql</userinput>
+</programlisting>
+
+          <para>
+            If you run the command as <literal>root</literal>, include
+            the <option>--user</option> option as shown. If you run the
+            command while logged in as <literal>mysql</literal>, you can
+            omit the <option>--user</option> option.
+          </para>
+
+          <para>
+            The command should create the data directory and its
+            contents with <literal>mysql</literal> as the owner.
+          </para>
+
+          <para>
+            After using <command>mysql_install_db</command> to create
+            the grant tables for MySQL, you must restart the server
+            manually. The <command>mysqld_safe</command> command to do
+            this is shown in a later step.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            Most of the MySQL installation can be owned by
+            <literal>root</literal> if you like. The exception is that
+            the data directory must be owned by
+            <literal>mysql</literal>. To accomplish this, run the
+            following commands as <literal>root</literal> in the
+            installation directory:
+          </para>
+
+<programlisting>
+shell&gt; <userinput>chown -R root .</userinput>
+shell&gt; <userinput>chown -R mysql var</userinput>
+</programlisting>
+        </listitem>
+
+        <listitem>
+          <para>
+            If you want MySQL to start automatically when you boot your
+            machine, you can copy
+            <filename>support-files/mysql.server</filename> to the
+            location where your system has its startup files. More
+            information can be found in the
+            <filename>support-files/mysql.server</filename> script
+            itself; see also <xref linkend="automatic-start"/>.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            <indexterm>
+              <primary>adding</primary>
+              <secondary>new users</secondary>
+            </indexterm>
+
+            <indexterm>
+              <primary>new users</primary>
+              <secondary>adding</secondary>
+            </indexterm>
+
+            <indexterm>
+              <primary>users</primary>
+              <secondary>adding</secondary>
+            </indexterm>
+
+            You can set up new accounts using the
+            <command>bin/mysql_setpermission</command> script if you
+            install the <literal>DBI</literal> and
+            <literal>DBD::mysql</literal> Perl modules. See
+            <xref linkend="mysql-setpermission"/>. For Perl module
+            installation instructions, see
+            <xref linkend="perl-support"/>.
+          </para>
+        </listitem>
+
+      </orderedlist>
+
+      <para>
+        After everything has been installed, you should test your
+        distribution. To start the MySQL server, use the following
+        command:
+      </para>
+
+<programlisting>
+shell&gt; <userinput>/usr/local/mysql/bin/mysqld_safe --user=mysql
&amp;</userinput>
+</programlisting>
+
+      <para>
+        If you run the command as <literal>root</literal>, you should
+        use the <option>--user</option> option as shown. The value of
+        the option is the name of the login account that you created in
+        the first step to use for running the server. If you run the
+        command while logged in as that user, you can omit the
+        <option>--user</option> option.
+      </para>
+
+      <para>
+        If the command fails immediately and prints <literal>mysqld
+        ended</literal>, you can find some information in the
+       
<filename><replaceable>host_name</replaceable>.err</filename>
+        file in the data directory.
+      </para>
+
+      <para>
+        More information about <command>mysqld_safe</command> is given
+        in <xref linkend="mysqld-safe"/>.
+      </para>
+
+      <note>
+        <para>
+          The accounts that are listed in the MySQL grant tables
+          initially have no passwords. After starting the server, you
+          should set up passwords for them using the instructions in
+          <xref linkend="post-installation"/>.
+        </para>
+      </note>
+
+    </section>
+
+    <section id="configure-options" role="cs">
+
+      <title>Typical <command>configure</command> Options</title>
+
+      <indexterm>
+        <primary>without-server option</primary>
+      </indexterm>
+
+      <indexterm>
+        <primary>with-big-tables option</primary>
+      </indexterm>
+
+      <indexterm>
+        <primary>configure script</primary>
+      </indexterm>
+
+      <indexterm>
+        <primary>options</primary>
+        <secondary>configure</secondary>
+      </indexterm>
+
+      <indexterm>
+        <primary>configuration options</primary>
+      </indexterm>
+
+      <indexterm>
+        <primary>log files</primary>
+      </indexterm>
+
+      <indexterm>
+        <primary>files</primary>
+        <secondary>log</secondary>
+      </indexterm>
+
+      <indexterm>
+        <primary>debugging support</primary>
+      </indexterm>
+
+      <para>
+        The <command>configure</command> script gives you a great deal
+        of control over how you configure a MySQL source distribution.
+        Typically you do this using options on the
+        <command>configure</command> command line. You can also affect
+        <command>configure</command> using certain environment
+        variables. See <xref linkend="environment-variables"/>. For a
+        full list of options supported by <command>configure</command>,
+        run this command:
+      </para>
+
+<programlisting>
+shell&gt; <userinput>./configure --help</userinput>
+</programlisting>
+
+      <para>
+        A list of the available <command>configure</command> options is
+        provided in the table below.
+      </para>
+
+      <para condition="dynamic:buildopts:fullsummary" role="5.0:mysqld:all"/>
+
+      <para>
+        Some of the <command>configure</command> options available are
+        described here:
+      </para>
+
+      <itemizedlist>
+
+        <listitem>
+          <para>
+            <indexterm>
+              <primary>configure</primary>
+              <secondary>without-server option</secondary>
+            </indexterm>
+
+            <indexterm>
+              <primary>without-server option</primary>
+              <secondary>configure</secondary>
+            </indexterm>
+
+            To compile just the MySQL client libraries and client
+            programs and not the server, use the
+            <option>--without-server</option> option:
+          </para>
+
+<programlisting>
+shell&gt; <userinput>./configure --without-server</userinput>
+</programlisting>
+
+          <para>
+            If you have no C++ compiler, some client programs such as
+            <command>mysql</command> cannot be compiled because they
+            require C++.. In this case, you can remove the code in
+            <command>configure</command> that tests for the C++ compiler
+            and then run <command>./configure</command> with the
+            <option>--without-server</option> option. The compile step
+            should still try to build all clients, but you can ignore
+            any warnings about files such as
+            <filename>mysql.cc</filename>. (If
<command>make</command>
+            stops, try <command>make -k</command> to tell it to continue
+            with the rest of the build even if errors occur.)
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            <indexterm>
+              <primary>configure</primary>
+              <secondary>with-embedded-server option</secondary>
+            </indexterm>
+
+            <indexterm>
+              <primary>with-embedded-server option</primary>
+              <secondary>configure</secondary>
+            </indexterm>
+
+            If you want to build the embedded MySQL library
+            (<literal>libmysqld.a</literal>), use the
+            <option>--with-embedded-server</option> option.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            <indexterm>
+              <primary>configure</primary>
+              <secondary>prefix option</secondary>
+            </indexterm>
+
+            <indexterm>
+              <primary>prefix option</primary>
+              <secondary>configure</secondary>
+            </indexterm>
+
+            <indexterm>
+              <primary>configure</primary>
+              <secondary>localstatedir option</secondary>
+            </indexterm>
+
+            <indexterm>
+              <primary>localstatedir option</primary>
+              <secondary>configure</secondary>
+            </indexterm>
+
+            If you don't want your log files and database directories
+            located under <filename>/usr/local/var</filename>, use a
+            <command>configure</command> command something like one of
+            these:
+          </para>
+
+<programlisting>
+shell&gt; <userinput>./configure --prefix=/usr/local/mysql</userinput>
+shell&gt; <userinput>./configure --prefix=/usr/local \</userinput>
+           <userinput>--localstatedir=/usr/local/mysql/data</userinput>
+</programlisting>
+
+          <para>
+            The first command changes the installation prefix so that
+            everything is installed under
+            <filename>/usr/local/mysql</filename> rather than the
+            default of <filename>/usr/local</filename>. The second
+            command preserves the default installation prefix, but
+            overrides the default location for database directories
+            (normally <filename>/usr/local/var</filename>) and changes
+            it to <literal>/usr/local/mysql/data</literal>.
+          </para>
+
+          <para>
+            You can also specify the installation directory and data
+            directory locations at server startup time by using the
+            <option>--basedir</option> and
<option>--datadir</option>
+            options. These can be given on the command line or in an
+            MySQL option file, although it is more common to use an
+            option file. See <xref linkend="option-files"/>.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            <indexterm>
+              <primary>configure</primary>
+              <secondary>with-unix-socket-path option</secondary>
+            </indexterm>
+
+            <indexterm>
+              <primary>with-unix-socket-path option</primary>
+              <secondary>configure</secondary>
+            </indexterm>
+
+            <indexterm>
+              <primary>changing socket location</primary>
+            </indexterm>
+
+            <indexterm>
+              <primary>socket location</primary>
+              <secondary>changing</secondary>
+            </indexterm>
+
+            <indexterm>
+              <primary>mysql.sock</primary>
+              <secondary>changing location of</secondary>
+            </indexterm>
+
+            If you are using Unix and you want the MySQL socket file
+            location to be somewhere other than the default location
+            (normally in the directory <filename>/tmp</filename> or
+            <filename>/var/run</filename>), use a
+            <command>configure</command> command like this:
+          </para>
+
+<programlisting>
+shell&gt; <userinput>./configure \</userinput>
+          
<userinput>--with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock</userinput>
+</programlisting>
+
+          <para>
+            The socket filename must be an absolute pathname. You can
+            also change the location of <filename>mysql.sock</filename>
+            at server startup by using a MySQL option file. See
+            <xref linkend="problems-with-mysql-sock"/>.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            <indexterm>
+              <primary>compiling</primary>
+              <secondary>statically</secondary>
+            </indexterm>
+
+            <indexterm>
+              <primary>statically</primary>
+              <secondary>compiling</secondary>
+            </indexterm>
+
+            If you want to compile statically linked programs (for
+            example, to make a binary distribution, to get better
+            performance, or to work around problems with some Red Hat
+            Linux distributions), run <command>configure</command> like
+            this:
+          </para>
+
+<programlisting>
+shell&gt; <userinput>./configure --with-client-ldflags=-all-static
\</userinput>
+           <userinput>--with-mysqld-ldflags=-all-static</userinput>
+</programlisting>
+        </listitem>
+
+        <listitem>
+          <para>
+            <indexterm>
+              <primary>CC environment variable</primary>
+            </indexterm>
+
+            <indexterm>
+              <primary>environment variable</primary>
+              <secondary>CC</secondary>
+            </indexterm>
+
+            <indexterm>
+              <primary>CXX environment variable</primary>
+            </indexterm>
+
+            <indexterm>
+              <primary>environment variable</primary>
+              <secondary>CXX</secondary>
+            </indexterm>
+
+            <indexterm>
+              <primary>gcc</primary>
+            </indexterm>
+
+            <indexterm>
+              <primary>C++ compiler</primary>
+              <secondary>gcc</secondary>
+            </indexterm>
+
+            <indexterm>
+              <primary>compiler</primary>
+              <secondary>C++ gcc</secondary>
+            </indexterm>
+
+            If you are using <command>gcc</command> and don't have
+            <literal>libg++</literal> or
<literal>libstdc++</literal>
+            installed, you can tell <command>configure</command> to use
+            <command>gcc</command> as your C++ compiler:
+          </para>
+
+<programlisting>
+shell&gt; <userinput>CC=gcc CXX=gcc ./configure</userinput>
+</programlisting>
+
+          <para>
+            When you use <command>gcc</command> as your C++ compiler, it
+            does not attempt to link in <literal>libg++</literal> or
+            <literal>libstdc++</literal>. This may be a good thing to do
+            even if you have those libraries installed. Some versions of
+            them have caused strange problems for MySQL users in the
+            past.
+          </para>
+
+          <para>
+            The following list indicates some compilers and environment
+            variable settings that are commonly used with each one.
+          </para>
+
+          <indexterm>
+            <primary>CC environment variable</primary>
+          </indexterm>
+
+          <indexterm>
+            <primary>environment variable</primary>
+            <secondary>CC</secondary>
+          </indexterm>
+
+          <indexterm>
+            <primary>CXX environment variable</primary>
+          </indexterm>
+
+          <indexterm>
+            <primary>environment variable</primary>
+            <secondary>CXX</secondary>
+          </indexterm>
+
+          <indexterm>
+            <primary>CFLAGS environment variable</primary>
+          </indexterm>
+
+          <indexterm>
+            <primary>environment variable</primary>
+            <secondary>CFLAGS</secondary>
+          </indexterm>
+
+          <indexterm>
+            <primary>CXXFLAGS environment variable</primary>
+          </indexterm>
+
+          <indexterm>
+            <primary>environment variable</primary>
+            <secondary>CXXFLAGS</secondary>
+          </indexterm>
+
+          <itemizedlist>
+
+            <listitem>
+              <para>
+                <command>gcc</command> 2.7.2:
+              </para>
+
+<programlisting>
+CC=gcc CXX=gcc CXXFLAGS="-O3 -felide-constructors"
+</programlisting>
+            </listitem>
+
+            <listitem>
+              <para>
+                <command>gcc</command> 2.95.2:
+              </para>
+
+<programlisting>
+CFLAGS="-O3 -mpentiumpro" CXX=gcc CXXFLAGS="-O3 -mpentiumpro \
+-felide-constructors -fno-exceptions -fno-rtti"
+</programlisting>
+            </listitem>
+
+            <listitem>
+              <para>
+                <literal>pgcc</literal> 2.90.29 or newer:
+              </para>
+
+<programlisting>
+CFLAGS="-O3 -mpentiumpro -mstack-align-double" CXX=gcc \
+CXXFLAGS="-O3 -mpentiumpro -mstack-align-double \
+-felide-constructors -fno-exceptions -fno-rtti"
+</programlisting>
+            </listitem>
+
+          </itemizedlist>
+
+          <para>
+            In most cases, you can get a reasonably optimized MySQL
+            binary by using the options from the preceding list and
+            adding the following options to the
+            <command>configure</command> line:
+          </para>
+
+<programlisting>
+--prefix=/usr/local/mysql --enable-assembler \
+--with-mysqld-ldflags=-all-static
+</programlisting>
+
+          <para>
+            The full <command>configure</command> line would, in other
+            words, be something like the following for all recent
+            <command>gcc</command> versions:
+          </para>
+
+<programlisting>
+CFLAGS="-O3 -mpentiumpro" CXX=gcc CXXFLAGS="-O3 -mpentiumpro \
+-felide-constructors -fno-exceptions -fno-rtti" ./configure \
+--prefix=/usr/local/mysql --enable-assembler \
+--with-mysqld-ldflags=-all-static
+</programlisting>
+
+          <para>
+            The binaries we provide on the MySQL Web site at
+            <ulink url="&base-url-downloads;"/> are all compiled with
+            full optimization and should be perfect for most users. See
+            <xref linkend="mysql-binaries"/>. There are some
+            configuration settings you can tweak to build an even faster
+            binary, but these are only for advanced users. See
+            <xref linkend="compile-and-link-options"/>.
+          </para>
+
+          <para>
+            If the build fails and produces errors about your compiler
+            or linker not being able to create the shared library
+           
<filename>libmysqlclient.so.<replaceable>N</replaceable></filename>
+            (where <replaceable>N</replaceable> is a version number),
+            you can work around this problem by giving the
+            <option>--disable-shared</option> option to
+            <command>configure</command>. In this case,
+            <command>configure</command> does not build a shared
+           
<filename>libmysqlclient.so.<replaceable>N</replaceable></filename>
+            library.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            <indexterm>
+              <primary>character sets</primary>
+            </indexterm>
+
+            <indexterm>
+              <primary>configure</primary>
+              <secondary>with-charset option</secondary>
+            </indexterm>
+
+            <indexterm>
+              <primary>configure</primary>
+              <secondary>with-extra-charsets option</secondary>
+            </indexterm>
+
+            <indexterm>
+              <primary>configure</primary>
+              <secondary>with-collation option</secondary>
+            </indexterm>
+
+            By default, MySQL uses the <literal>latin1</literal> (cp1252
+            West European) character set. To change the default set, use
+            the <option>--with-charset</option> option:
+          </para>
+
+<programlisting>
+shell&gt; <userinput>./configure
--with-charset=<replaceable>CHARSET</replaceable></userinput>
+</programlisting>
+
+          <para>
+            <replaceable>CHARSET</replaceable> may be one of
+            <literal>binary</literal>,
<literal>armscii8</literal>,
+            <literal>ascii</literal>, <literal>big5</literal>,
+            <literal>cp1250</literal>, <literal>cp1251</literal>,
+            <literal>cp1256</literal>, <literal>cp1257</literal>,
+            <literal>cp850</literal>, <literal>cp852</literal>,
+            <literal>cp866</literal>, <literal>cp932</literal>,
+            <literal>dec8</literal>, <literal>eucjpms</literal>,
+            <literal>euckr</literal>, <literal>gb2312</literal>,
+            <literal>gbk</literal>, <literal>geostd8</literal>,
+            <literal>greek</literal>, <literal>hebrew</literal>,
+            <literal>hp8</literal>, <literal>keybcs2</literal>,
+            <literal>koi8r</literal>, <literal>koi8u</literal>,
+            <literal>latin1</literal>, <literal>latin2</literal>,
+            <literal>latin5</literal>, <literal>latin7</literal>,
+            <literal>macce</literal>,
<literal>macroman</literal>,
+            <literal>sjis</literal>, <literal>swe7</literal>,
+            <literal>tis620</literal>, <literal>ucs2</literal>,
+            <literal>ujis</literal>, <literal>utf8</literal>. See
+            <xref linkend="charset-configuration"/>. (Additional
+            character sets might be available. Check the output from
+            <command>./configure --help</command> for the current list.)
+          </para>
+
+          <para>
+            The default collation may also be specified. MySQL uses the
+            <literal>latin1_swedish_ci</literal> collation by default.
+            To change this, use the <option>--with-collation</option>
+            option:
+          </para>
+
+<programlisting>
+shell&gt; <userinput>./configure
--with-collation=<replaceable>COLLATION</replaceable></userinput>
+</programlisting>
+
+          <para>
+            To change both the character set and the collation, use both
+            the <option>--with-charset</option> and
+            <option>--with-collation</option> options. The collation
+            must be a legal collation for the character set. (Use the
+            <literal>SHOW COLLATION</litera