add a script for loading data into mysql database
[bottlenecks.git] / testsuites / rubbos / puppet_manifests / modules / rubbos_mysql / files / prepare_rubbos_mysql_db.sh
1 #!/bin/bash
2 #############################################################################
3 # Copyright (c) 2016 Huawei Technologies Co.,Ltd and others.
4 #
5 # All rights reserved. This program and the accompanying materials
6 # are made available under the terms of the Apache License, Version 2.0
7 # which accompanies this distribution, and is available at
8 # http://www.apache.org/licenses/LICENSE-2.0
9 ##############################################################################
10
11
12 ## Usage: prepare_rubbos_mysql_db.sh rubbos_data_sql.tar.gz rubbos_data_sql_dir
13 ##   It is used for loading data into mysql database.
14 if [ ! -d '/usr/local/mysql' ] || [ $# -ne 2 ] || [ ! -f $1 ];then
15     echo "It requires: Mysql is installed, two arguments, and the second points to a data_sql file."
16     exit 1;
17 fi
18
19 rubbos_mysql_db_compressed_file=$1
20 rubbos_mysql_db_uncompressed_dir=$2
21
22 # clear database
23 echo "BEGIN RUBBOS DATABASE GIVE PRIVILEGES"
24 cat << EOF | /usr/local/mysql/bin/mysql -uroot
25
26 DROP DATABASE IF EXISTS rubbos;
27
28 CREATE DATABASE rubbos;
29
30 GRANT ALL PRIVILEGES ON rubbos.* TO 'rubbos'@'%' \
31     IDENTIFIED BY 'rubbos';
32     flush privileges;
33 GRANT ALL PRIVILEGES ON rubbos.* TO 'rubbos'@'localhost' \
34     IDENTIFIED BY 'rubbos';
35     flush privileges;
36 EOF
37 echo "END RUBBOS DATABASE GIVE PRIVILEGES"
38
39 # import sql data
40 echo "BEGIN IMPORT SQL DATA"
41 if [ -d '${rubbos_mysql_db_uncompressed_dir}' ]; then
42    rm -rf ${rubbos_mysql_db_uncompressed_dir}
43 fi
44 mkdir -p ${rubbos_mysql_db_uncompressed_dir}
45 tar zxvf ${rubbos_mysql_db_compressed_file} --directory ${rubbos_mysql_db_uncompressed_dir}
46 /usr/local/mysql/bin/mysql -uroot rubbos < ${rubbos_mysql_db_uncompressed_dir}/rubbos_data_sql
47 echo "END IMPORT SQL DATA"
48
49 rm -rf ${rubbos_mysql_db_uncompressed_dir}