%BOOK_ENTITIES; ]>
Install the Database on the Management Server Node This section describes how to install MySQL on the same machine with the Management Server. This technique is intended for a simple deployment that has a single Management Server node. If you have a multi-node Management Server deployment, you will typically use a separate node for MySQL. See . Install MySQL from the package repository from your distribution: On RHEL or CentOS: yum install mysql-server On Ubuntu: apt-get install mysql-server Edit the MySQL configuration (/etc/my.cnf or /etc/mysql/my.cnf, depending on your OS) and insert the following lines in the [mysqld] section. You can put these lines below the datadir line. The max_connections parameter should be set to 350 multiplied by the number of Management Servers you are deploying. This example assumes one Management Server. On Ubuntu, you can also create a file /etc/mysql/conf.d/cloudstack.cnf and add these directives there. Don't forget to add [mysqld] on the first line of the file. innodb_rollback_on_timeout=1 innodb_lock_wait_timeout=600 max_connections=350 log-bin=mysql-bin binlog-format = 'ROW' Start or restart MySQL to put the new configuration into effect. On RHEL/CentOS, MySQL doesn't automatically start after installation. Start it manually. service mysqld start On Ubuntu, restart MySQL. service mysqld restart (CentOS and RHEL only; not required on Ubuntu) On RHEL and CentOS, MySQL does not set a root password by default. It is very strongly recommended that you set a root password as a security precaution. Run the following command to secure your installation. You can answer "Y" to all questions. mysql_secure_installation Set up the database. The following command creates the "cloud" user on the database. In dbpassword, specify the password to be assigned to the "cloud" user. You can choose to provide no password although that is not recommended. In deploy-as, specify the username and password of the user deploying the database. In the following command, it is assumed the root user is deploying the database and creating the "cloud" user. (Optional) For encryption_type, use file or web to indicate the technique used to pass in the database encryption password. Default: file. See . (Optional) For management_server_key, substitute the default key that is used to encrypt confidential parameters in the &PRODUCT; properties file. Default: password. It is highly recommended that you replace this with a more secure value. See . (Optional) For database_key, substitute the default key that is used to encrypt confidential parameters in the &PRODUCT; database. Default: password. It is highly recommended that you replace this with a more secure value. See . (Optional) For management_server_ip, you may explicitly specify cluster management server node IP. If not specified, the local IP address will be used. cloud-setup-databases cloud:<dbpassword>@localhost \ --deploy-as=root:<password> \ -e <encryption_type> \ -m <management_server_key> \ -k <database_key> \ -i <management_server_ip> When this script is finished, you should see a message like “Successfully initialized the database.” If you are running the KVM hypervisor on the same machine with the Management Server, edit /etc/sudoers and add the following line: Defaults:cloud !requiretty This type of single-machine setup is recommended only for a trial installation. Now that the database is set up, you can finish configuring the OS for the Management Server. This command will set up iptables, sudoers, and start the Management Server. # cloud-setup-management You should see the message “&PRODUCT; Management Server setup is done.”