<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "cloudstack.ent">
%BOOK_ENTITIES;
]>

<!-- Licensed to the Apache Software Foundation (ASF) under one
 or more contributor license agreements.  See the NOTICE file
 distributed with this work for additional information
 regarding copyright ownership.  The ASF licenses this file
 to you under the Apache License, Version 2.0 (the
 "License"); you may not use this file except in compliance
 with the License.  You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing,
 software distributed under the License is distributed on an
 "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 KIND, either express or implied.  See the License for the
 specific language governing permissions and limitations
 under the License.
-->

<section id="management-server-install-db">
    <title>Install the database server</title>
    <para>The &PRODUCT; management server uses a MySQL database server to store its data.
        When you are installing the management server on a single node, you can install the MySQL server locally.
        For an installation that has multiple management server nodes, we assume the MySQL database also runs on a separate node.
    </para>
    <para>&PRODUCT; has been tested with MySQL 5.1 and 5.5. These versions are included in RHEL/CentOS and Ubuntu.</para>
    <xi:include href="management-server-install-db-local.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
    <xi:include href="management-server-install-db-external.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
</section>
