Atom feed of this document
  

 初始化和配置数据库

后端的数据库会话保持一致性、扩展性,且要做到高并发和高可用。

然而,后端为关系型数据库的会话是较慢的会话存储,且在大量使用的情况下产生高的负载。正确的配置你的数据库部署也是一项非常耗时的任务,已经超出了本文档的范围。

  1. 启动mysql命令行客户端:

    $ mysql -u root -p
  2. 按照提示输入MySQL root用户的密码。

  3. 要配置为使用MySQL数据库,首先创建数据库:

    mysql> CREATE DATABASE dash;
  4. 为新创建的数据库创建一个MySQL用户,其拥有此数据库的全部控制权。以新的用户的密码代替DASH_DBPASS

    mysql> GRANT ALL PRIVILEGES ON dash.* TO 'dash'@'%' IDENTIFIED BY 'DASH_DBPASS';
    mysql> GRANT ALL PRIVILEGES ON dash.* TO 'dash'@'localhost' IDENTIFIED BY 'DASH_DBPASS';
  5. mysql>提示符下输入quit,退出MySQL。

  6. 在文件local_settings(对于 Fedora/RHEL/CentOS: /etc/openstack-dashboard/local_settings, 对于 Ubuntu/Debian: /etc/openstack-dashboard/local_settings.py ,对于openSUSE: /srv/www/openstack-dashboard/openstack_dashboard/local/local_settings.py)中,修改如下这些属性:

    SESSION_ENGINE = 'django.contrib.sessions.backends.db'
    DATABASES = {
        'default': {
            # Database configuration here
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'dash',
            'USER': 'dash',
            'PASSWORD': 'DASH_DBPASS',
            'HOST': 'localhost',
            'default-character-set': 'utf8'
        }
    }
  7. 按照上面展示的修改完local_settings之后,你就可以运行命令manage.py syncdb来填写此新创建的数据库了。

    # /usr/share/openstack-dashboard/manage.py syncdb

    注意,openSUSE的路径是/srv/www/openstack-dashboard/manage.py

    结果返回下面的输出:

    Installing custom SQL ...
    Installing indexes ...
    DEBUG:django.db.backends:(0.008) CREATE INDEX `django_session_c25c2c28` ON `django_session` (`expire_date`);; args=()
    No fixtures found.
  8. 为了避免当你在Ubuntu下重启Apache出现警告,在仪表盘的目录下创建一个blackhole 目录,如下所示:

    # mkdir -p /var/lib/dash/.blackhole
  9. 重启和刷新Apache

    Ubuntu中:

    # /etc/init.d/apache2 restart

    在 Fedora/RHEL/CentOS 下:

    # service httpd restart
    # service apache2 restart

    openSUSE中:

    # systemctl restart apache2.service
  10. 在Ubuntu中,重启nova-api服务以确保此API服务可没有错误的连接到仪表盘:

    # service nova-api restart
Questions? Discuss on ask.openstack.org
Found an error? Report a bug against this page


loading table of contents...