#!/usr/bin/env bash TOP_DIR=$(cd $(dirname "$0")/.. && pwd) source "$TOP_DIR/config/paths" source "$CONFIG_DIR/credentials" source "$LIB_DIR/functions.guest" exec_logfile indicate_current_auto #------------------------------------------------------------------------------- # Controller setup # Get FOURTH_OCTET for this node source "$CONFIG_DIR/config.$(hostname)" # Get MGMT_NET source "$CONFIG_DIR/openstack" DB_IP=$(get_ip_from_net_and_fourth "MGMT_NET" "$FOURTH_OCTET") echo "Will bind MySQL server to $DB_IP." echo "Sourced MySQL password from credentials: $DATABASE_PASSWORD" sudo debconf-set-selections <<< 'mysql-server mysql-server/root_password password '$DATABASE_PASSWORD'' sudo debconf-set-selections <<< 'mysql-server mysql-server/root_password_again password '$DATABASE_PASSWORD'' echo "Installing MySQL." sudo apt-get install -y mysql-server python-mysqldb echo "Configuring MySQL to accept requests by other nodes." # Enable access by other nodes via the management network iniset_sudo /etc/mysql/my.cnf mysqld bind-address "$DB_IP" # Enable InnoDB iniset_sudo /etc/mysql/my.cnf mysqld default-storage-engine innodb iniset_sudo /etc/mysql/my.cnf mysqld innodb_file_per_table 1 # Enable UTF-8 character set and UTF-8 collation by default iniset_sudo /etc/mysql/my.cnf mysqld collation-server utf8_general_ci iniset_sudo /etc/mysql/my.cnf mysqld init-connect "'SET NAMES utf8'" iniset_sudo /etc/mysql/my.cnf mysqld character-set-server utf8 echo "Restarting MySQL service." sudo service mysql restart # TODO(rluethi) do we need mysql_secure_installation? # XXX --use-default only in MySQL 5.7.4+ (Ubuntu 12.04 LTS: MySQL 5.5) # mysql_secure_installation --use-default