openstack-manuals/doc/install-guide/source/environment-sql-database.rst
Andreas Jaeger 2d44b2b36d Prepare for Sphinx 1.5
The new sphinx version introduces some changes that break build:

* Warns if code cannot be parsed for highlighting. Fix the code so
  that it can be parsed, this includes uncommenting "..." lines.
  Note that not every config file is an ini-file.
  Also, the parser seems to have bugs and cannot parse all files.
  Fix mysql ini file and enable the parameter, see
http://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_file_per_table
* :option: works only with declared options, replace useage with
  simple ``.

This change only handles a few files, more to come later.

Change-Id: I7c7335e514581622dd562ee355f62d6ae1beaa18
2017-01-11 20:37:55 +01:00

4.2 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 install mariadb-server python-pymysql

    debian

    # apt install mysql-server python-pymysql

    rdo

    # yum install mariadb mariadb-server python2-PyMySQL

    obs

    # zypper install mariadb-client mariadb python-PyMySQL

debian

  1. Create and edit the /etc/mysql/conf.d/openstack.cnf file and complete the following actions:
    • Create a [mysqld] section, and set the bind-address key to the management IP address of the controller node to enable access by other nodes via the management network. Set additional keys to enable useful options and the UTF-8 character set:

      [mysqld]
      bind-address = 10.0.0.11
      
      default-storage-engine = innodb
      innodb_file_per_table = on
      max_connections = 4096
      collation-server = utf8_general_ci
      character-set-server = utf8

ubuntu

  1. Create and edit the /etc/mysql/mariadb.conf.d/99-openstack.cnf file and complete the following actions:
    • Create a [mysqld] section, and set the bind-address key to the management IP address of the controller node to enable access by other nodes via the management network. Set additional keys to enable useful options and the UTF-8 character set:

      [mysqld]
      bind-address = 10.0.0.11
      
      default-storage-engine = innodb
      innodb_file_per_table = on
      max_connections = 4096
      collation-server = utf8_general_ci
      character-set-server = utf8

obs or rdo

  1. Create and edit the /etc/my.cnf.d/openstack.cnf file and complete the following actions:
    • Create a [mysqld] section, and set the bind-address key to the management IP address of the controller node to enable access by other nodes via the management network. Set additional keys to enable useful options and the UTF-8 character set:

      [mysqld]
      bind-address = 10.0.0.11
      
      default-storage-engine = innodb
      innodb_file_per_table = on
      max_connections = 4096
      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

rdo or obs or ubuntu

  1. Secure the database service by running the mysql_secure_installation script. In particular, choose a suitable password for the database root account.

    # mysql_secure_installation