summaryrefslogtreecommitdiff
path: root/integration/scripts/files/elements/ubuntu-xenial-mysql/install.d/30-mysql
blob: a0002df118f1aebc7d993ffd203d5802f76802bb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#!/bin/bash

# CONTEXT: GUEST during CONSTRUCTION as ROOT
# PURPOSE: Install controller base required packages

set -e
set -o xtrace

export DEBIAN_FRONTEND=noninteractive

apt-get --allow-unauthenticated -y install mysql-client mysql-server

# Xenial provides mysql 5.7 which requires percona-xtrabackup-24

PXB_VERSION_OVERRIDE=24
PKGS=$(apt-cache search percona-xtrabackup-${PXB_VERSION_OVERRIDE})
if [[ "$PKGS" == *"percona-xtrabackup-$PXB_VERSION_OVERRIDE"* ]]; then
    apt-get --allow-unauthenticated -y install percona-xtrabackup-${PXB_VERSION_OVERRIDE}
else
    # Architecture is not supported by percona website.  Compile and install it
    PXB_VERSION=${PXB_VERSION_OVERRIDE:0:1}.${PXB_VERSION_OVERRIDE:1:1}

    apt-get --allow-unauthenticated -y install build-essential flex bison automake autoconf \
       libtool cmake libaio-dev mysql-client libncurses-dev zlib1g-dev \
       libgcrypt11-dev libev-dev libcurl4-gnutls-dev vim-common

    pushd /tmp

    git clone https://github.com/percona/percona-xtrabackup.git
    cd percona-xtrabackup
    git checkout $PXB_VERSION

    mkdir /tmp/boost
    cmake -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/tmp/boost -DBUILD_CONFIG=xtrabackup_release -DWITH_MAN_PAGES=OFF && make -j4
    make install
    ln -s /usr/local/xtrabackup/bin/* /usr/bin/

    dpkg -P build-essential automake autoconf libtool cmake
    apt-get -y clean

    popd

    rm -rf /tmp/boost /tmp/percona-xtrabackup
fi

cat >/etc/mysql/conf.d/no_perf_schema.cnf <<_EOF_
[mysqld]
performance_schema = off
show_compatibility_56 = on
_EOF_

mv /etc/mysql/my.cnf.fallback /etc/mysql/my.cnf
chown mysql:mysql /etc/mysql/my.cnf
cat >/etc/mysql/my.cnf <<_EOF_
[mysql]

!includedir /etc/mysql/conf.d/
_EOF_

if [ -e /etc/init/mysql.conf ]; then
    rm -f /etc/init/mysql.conf
fi

systemctl enable mysql