2015-10-21 08:39:19 +02:00
|
|
|
SQL database
|
|
|
|
~~~~~~~~~~~~
|
|
|
|
|
|
|
|
Most OpenStack services use an SQL database to store information. The
|
|
|
|
database typically runs on the controller node. The procedures in this
|
|
|
|
guide use MariaDB or MySQL depending on the distribution. OpenStack
|
|
|
|
services also support other SQL databases including
|
|
|
|
`PostgreSQL <http://www.postgresql.org/>`__.
|
|
|
|
|
2015-11-11 08:49:46 -07:00
|
|
|
Install and configure components
|
|
|
|
--------------------------------
|
2015-10-21 08:39:19 +02:00
|
|
|
|
|
|
|
#. Install the packages:
|
|
|
|
|
|
|
|
.. only:: ubuntu
|
|
|
|
|
|
|
|
.. code-block:: console
|
|
|
|
|
|
|
|
# apt-get install mariadb-server python-pymysql
|
|
|
|
|
|
|
|
.. only:: debian
|
|
|
|
|
|
|
|
.. code-block:: console
|
|
|
|
|
|
|
|
# apt-get install mysql-server python-pymysql
|
|
|
|
|
|
|
|
.. only:: rdo
|
|
|
|
|
|
|
|
.. code-block:: console
|
|
|
|
|
2015-11-11 08:49:46 -07:00
|
|
|
# yum install mariadb mariadb-server MySQL-python
|
2015-10-21 08:39:19 +02:00
|
|
|
|
|
|
|
.. only:: obs
|
|
|
|
|
|
|
|
.. code-block:: console
|
|
|
|
|
|
|
|
# zypper install mariadb-client mariadb python-PyMySQL
|
|
|
|
|
|
|
|
.. only:: ubuntu or debian
|
|
|
|
|
|
|
|
2. Choose a suitable password for the database root account.
|
|
|
|
|
|
|
|
3. Create and edit the ``/etc/mysql/conf.d/mysqld_openstack.cnf`` file
|
|
|
|
and complete the following actions:
|
|
|
|
|
|
|
|
- In the ``[mysqld]`` section, set the
|
|
|
|
``bind-address`` key to the management IP
|
|
|
|
address of the controller node to enable access by other
|
|
|
|
nodes via the management network:
|
|
|
|
|
|
|
|
.. code-block:: ini
|
|
|
|
|
|
|
|
[mysqld]
|
|
|
|
...
|
|
|
|
bind-address = 10.0.0.11
|
|
|
|
|
|
|
|
- In the ``[mysqld]`` section, set the following keys to enable
|
|
|
|
useful options and the UTF-8 character set:
|
|
|
|
|
|
|
|
.. code-block:: ini
|
|
|
|
|
|
|
|
[mysqld]
|
|
|
|
...
|
|
|
|
default-storage-engine = innodb
|
|
|
|
innodb_file_per_table
|
|
|
|
collation-server = utf8_general_ci
|
|
|
|
init-connect = 'SET NAMES utf8'
|
|
|
|
character-set-server = utf8
|
|
|
|
|
|
|
|
|
|
|
|
.. only:: obs or rdo
|
|
|
|
|
|
|
|
2. Create and edit the ``/etc/my.cnf.d/mariadb_openstack.cnf`` file
|
|
|
|
and complete the following actions:
|
|
|
|
|
|
|
|
- In the ``[mysqld]`` section, set the
|
|
|
|
``bind-address`` key to the management IP
|
|
|
|
address of the controller node to enable access by other
|
|
|
|
nodes via the management network:
|
|
|
|
|
|
|
|
.. code-block:: ini
|
|
|
|
|
|
|
|
[mysqld]
|
|
|
|
...
|
|
|
|
bind-address = 10.0.0.11
|
|
|
|
|
|
|
|
- In the ``[mysqld]`` section, set the following keys to enable
|
|
|
|
useful options and the UTF-8 character set:
|
|
|
|
|
|
|
|
.. only:: rdo
|
|
|
|
|
|
|
|
.. code-block:: ini
|
|
|
|
|
|
|
|
[mysqld]
|
|
|
|
...
|
|
|
|
default-storage-engine = innodb
|
|
|
|
innodb_file_per_table
|
|
|
|
collation-server = utf8_general_ci
|
|
|
|
init-connect = 'SET NAMES utf8'
|
|
|
|
character-set-server = utf8
|
|
|
|
|
|
|
|
.. only:: obs
|
|
|
|
|
|
|
|
.. code-block:: ini
|
|
|
|
|
|
|
|
[mysqld]
|
|
|
|
...
|
|
|
|
default-storage-engine = innodb
|
|
|
|
innodb_file_per_table
|
|
|
|
collation-server = utf8_general_ci
|
|
|
|
character-set-server = utf8
|
|
|
|
|
2015-11-11 08:49:46 -07:00
|
|
|
Finalize installation
|
|
|
|
---------------------
|
2015-10-21 08:39:19 +02:00
|
|
|
|
|
|
|
.. only:: ubuntu or debian
|
|
|
|
|
|
|
|
#. Restart the database service:
|
|
|
|
|
|
|
|
.. code-block:: console
|
|
|
|
|
|
|
|
# service mysql restart
|
|
|
|
|
|
|
|
.. only:: rdo or obs
|
|
|
|
|
|
|
|
#. Start the database service and configure it to start when the system
|
|
|
|
boots:
|
|
|
|
|
|
|
|
.. only:: rdo
|
|
|
|
|
|
|
|
.. code-block:: console
|
|
|
|
|
|
|
|
# systemctl enable mariadb.service
|
|
|
|
# systemctl start mariadb.service
|
|
|
|
|
|
|
|
.. only:: obs
|
|
|
|
|
|
|
|
.. code-block:: console
|
|
|
|
|
|
|
|
# systemctl enable mysql.service
|
|
|
|
# systemctl start mysql.service
|
|
|
|
|
|
|
|
.. only:: ubuntu or rdo or obs
|
|
|
|
|
|
|
|
2. Secure the database service by running the
|
|
|
|
``mysql_secure_installation`` script.
|
2015-12-24 19:55:08 +05:30
|
|
|
|
|
|
|
.. code-block:: console
|
|
|
|
|
|
|
|
# mysql_secure_installation
|