openstack-manuals/doc/install-guide/source/environment-sql-database.rst
Matthew Kassawara 5ee72cfa36 [install] Fix various minor problems
Fix the following minor problems to reduce work after
stable/liberty branching:

1) RDO: Revert Python MySQL library from PyMySQL to MySQL-python
   due to lack of support for the former.
2) RDO: Explicitly install 'ebtables' and 'ipset' packages due
   to dependency problems.
3) General: Change numbered list to bulleted list for lists with
   only one item.
4) General: Restructure horizon content to match other services.
   More duplication of content, but sometimes RST conditionals
   are terrible and distro packages should use the same
   configuration files.
5) General: Restructure NoSQL content to match SQL content.
6) General: Improve clarity of NTP content.

Change-Id: I2620250aa27c7d41b525aa2646ad25e0692140c4
Closes-Bug: #1514760
Closes-Bug: #1514683
Implements: bp installguide-liberty
2015-11-13 07:49:53 -07:00

3.5 KiB

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.

Install and configure components

  1. Install the packages:

    ubuntu

    # apt-get install mariadb-server python-pymysql

    debian

    # apt-get install mysql-server python-pymysql

    rdo

    # yum install mariadb mariadb-server MySQL-python

    obs

    # zypper install mariadb-client mariadb python-PyMySQL

ubuntu or debian

  1. Choose a suitable password for the database root account.
  2. 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:

      [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:

      [mysqld]
      ...
      default-storage-engine = innodb
      innodb_file_per_table
      collation-server = utf8_general_ci
      init-connect = 'SET NAMES utf8'
      character-set-server = utf8

obs or rdo

  1. 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:

      [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:

      rdo

      [mysqld]
      ...
      default-storage-engine = innodb
      innodb_file_per_table
      collation-server = utf8_general_ci
      init-connect = 'SET NAMES utf8'
      character-set-server = utf8

      obs

      [mysqld]
      ...
      default-storage-engine = innodb
      innodb_file_per_table
      collation-server = utf8_general_ci
      character-set-server = utf8

Finalize installation

ubuntu or debian

  1. Restart the database service:

    # service mysql restart

rdo or obs

  1. Start the database service and configure it to start when the system boots:

    rdo

    # systemctl enable mariadb.service
    # systemctl start mariadb.service

    obs

    # systemctl enable mysql.service
    # systemctl start mysql.service

ubuntu or rdo or obs

  1. Secure the database service by running the mysql_secure_installation script.