The instruction of AWS EC2 setup for ATAV database.
- percona-server 5.6
- Choose an Amazon Machine Image: Amazon Linux 2 AMI (HVM)
- Choose an Instance Type: m5.2xlarge (test/dev)
- Configure Instance Details: default
- Add Storage: 300GB gp3 (test/dev)
sudo yum groupinstall "Development Tools"
sudo yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm
sudo yum -q install Percona-Server-tokudb-56.x86_64
sudo mkdir /var/lib/mysqltmp/
sudo chown -R mysql:mysql /var/lib/mysqltmp/
sudo service mysql start
/usr/bin/mysqladmin -u root password 'root'
sudo ps_tokudb_admin --enable -uroot -proot
sudo ps_tokudb_admin --enable-backup -uroot -proot
sudo service mysql restart
sudo ps_tokudb_admin --enable-backup -uroot -proot
git clone https://github.com/nickzren/atav-database
sudo service mysql stop
# use master.my.cnf for master db, slave.my.cnf for slave db
sudo cp atav-database/config/master.my.cnf /etc/my.cnf
sudo service mysql start
mysql -h 127.0.0.1 -uroot -proot < atav-database/data/atavdb_schema.sql
mysql -h 127.0.0.1 -uroot -proot < atav-database/data/externaldb_schema.sql
gunzip atav-database/data/atavdb_load_data/*
for file in atav-database/data/atavdb_load_data/*; do mysql -h 127.0.0.1 -uroot -proot atavdb -e "load data local infile 'atav-database/data/atavdb_load_data/${file##*/}' into table ${file##*/}" ; done
mkdir /tmp/atavdb_backup
sudo chown -R mysql:mysql /var/lib/mysql
sudo chown -R mysql:mysql /tmp/atavdb_backup
mysql -h 127.0.0.1 -uroot -proot -e "set tokudb_backup_dir='/tmp/atavdb_backup/'"
sudo service mysql stop
sudo rm -rf /var/lib/mysql/*
sudo rsync -avrP /tmp/atavdb_backup/mysql_data_dir/ /var/lib/mysql
sudo chown -R mysql:mysql /var/lib/mysql
sudo service mysql start
# check restored table records
mysql -h 127.0.0.1 -uroot -proot atavdb -e "SHOW TABLE STATUS;"
sudo yum remove Percona-Server*
sudo rm -rf /var/lib/mysql
sudo rm -f /etc/my.cnf
sudo yum -q install Percona-Server-tokudb-56-5.6.45-rel86.1.el7
wget https://www.dropbox.com/s/f6w45b4ozvynwlw/externaldb.tar
tar -xvf externaldb.tar -C atav-database/data/externaldb_load_data/ --strip 1 --exclude '.*'
gunzip -r atav-database/data/externaldb_load_data/
# start a screen session for data loading
screen -R load_data
for file in atav-database/data/externaldb_load_data/*; do mysql -h 127.0.0.1 -uroot -proot -e "load data local infile 'atav-database/data/externaldb_load_data/${file##*/}' into table ${file##*/}" ; done
# ATAV DB Load
mysql -h 127.0.0.1 -uroot -proot -e "CREATE USER 'dbload'@'localhost' IDENTIFIED BY 'dbload'"
mysql -h 127.0.0.1 -uroot -proot -e "CREATE USER 'dbload'@'%' IDENTIFIED BY 'dbload'"
mysql -h 127.0.0.1 -uroot -proot -e "GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, FILE, INDEX, ALTER, LOCK TABLES ON *.* TO 'dbload'@'localhost'"
mysql -h 127.0.0.1 -uroot -proot -e "GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, FILE, INDEX, ALTER, LOCK TABLES ON *.* TO 'dbload'@'%'"
# ATAV CLI
mysql -h 127.0.0.1 -uroot -proot -e "CREATE USER 'atav'@'localhost' IDENTIFIED BY 'atav'"
mysql -h 127.0.0.1 -uroot -proot -e "CREATE USER 'atav'@'%' IDENTIFIED BY 'atav'"
mysql -h 127.0.0.1 -uroot -proot -e "GRANT SELECT, INSERT, CREATE, CREATE TEMPORARY TABLES ON *.* TO 'atav'@'localhost'"
mysql -h 127.0.0.1 -uroot -proot -e "GRANT SELECT, INSERT, CREATE, CREATE TEMPORARY TABLES ON *.* TO 'atav'@'%'"
# ATAV Data Browser
mysql -h 127.0.0.1 -uroot -proot -e "CREATE USER 'atavdb'@'localhost' IDENTIFIED BY 'atavdb'"
mysql -h 127.0.0.1 -uroot -proot -e "CREATE USER 'atavdb'@'%' IDENTIFIED BY 'atavdb'"
mysql -h 127.0.0.1 -uroot -proot -e "GRANT SELECT ON *.* TO 'atavdb'@'localhost'"
mysql -h 127.0.0.1 -uroot -proot -e "GRANT SELECT ON *.* TO 'atavdb'@'%'"