Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save eglookz/fb2132404db62e34129374a7d904a282 to your computer and use it in GitHub Desktop.
Save eglookz/fb2132404db62e34129374a7d904a282 to your computer and use it in GitHub Desktop.
Ubuntu 14.04 LTS Percona server and TokuDB setup
#!/bin/bash
# ref-main: https://www.percona.com/doc/percona-server/5.5/installation/apt_repo.html
# ref-main: https://www.percona.com/doc/percona-server/5.6/tokudb/tokudb_installation.html
# ref: https://www.digitalocean.com/community/tutorials/how-to-install-a-fresh-percona-server-or-replace-mysql
if [ "$(id -u)" != "0" ]; then
echo "This script must be run as root" 1>&2
exit 1
fi
echo "Type your percona server root pasword:"
read MYSQL_PASSWORD
echo "Type your percona server username:"
read USERNAME
echo "Type your percona server password:"
read PASSWORD
apt-key adv --keyserver keys.gnupg.net --recv-keys 1C4CBDCDCD2EFD2A
cat >> /etc/apt/sources.list <<EOF
deb http://repo.percona.com/apt trusty main
deb-src http://repo.percona.com/apt trusty main
EOF
apt-get update -y;
apt-get upgrade -y;
apt-get clean -y;
apt-get autoclean -y;
apt-get autoremove -y;
echo "percona-server-server-5.6 percona-server-server/root_password_again password $MYSQL_PASSWORD" | debconf-set-selections
echo "percona-server-server-5.6 percona-server-server/root_password password $MYSQL_PASSWORD" | debconf-set-selections
apt-get install -y percona-server-server-5.6 percona-server-client-5.6
sed -i -- "s/bind-address/#bind-address/g" /etc/mysql/my.cnf
mysql -u root -p"$MYSQL_PASSWORD" -e "GRANT ALL PRIVILEGES ON *.* TO '$USERNAME'@'%' IDENTIFIED BY '$PASSWORD' WITH GRANT OPTION;"
mysql -u root -p"$MYSQL_PASSWORD" -e "FLUSH PRIVILEGES;"
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
apt-get install -y libjemalloc1 libjemalloc-dev
sed -i -- '/\[mysqld_safe\]/a malloc-lib = /usr/include/jemalloc' /etc/mysql/my.cnf
apt-get install -y percona-server-tokudb-5.6
service mysql restart
ps_tokudb_admin --enable -u root -p"$MYSQL_PASSWORD"
service mysql restart
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment