· 9 years ago · Jul 23, 2017, 07:02 PM
1#!/usr/local/bin/bash
2
3if [ -d /usr/local/Cellar/mysql* ] && [ -f `which mysql` ]; then
4 echo "mysql installed"
5else
6 echo "mysql doesnt installed"
7 brew install mysql
8fi
9
10if [ -d /usr/local/Cellar/sphinx* ]; then
11 echo "sphinx installed"
12else
13 echo "sphinx doesnt installed"
14 brew install sphinx --mysql
15fi
16
17echo "Enter root user MySQL password:"
18read ROOT_PASSWORD
19read -e -p "Enter the NAME of the new database [bada]:" DB_NAME
20[ -z "${DB_NAME}" ] && DB_NAME="bada"
21echo "DROP DB IF EXISTS"
22mysql -u root -p ${ROOT_PASSWORD} -e "DROP DATABASE IF EXISTS ${DB_NAME};"
23read -e -p "Enter the database CHARACTER SET [UTF8]" CHARSET
24[ -z "${CHARSET}" ] && CHARSET="utf8"
25echo "Creating new database ${DB_NAME} ..."
26mysql -u root -p ${ROOT_PASSWORD} -e "CREATE DATABASE ${DB_NAME} /*\!40100 DEFAULT CHARACTER SET ${CHARSET} */;"
27echo "Database ${DB_NAME} successfully created."
28echo "Showing existing databases ..."
29mysql -u root -p ${ROOT_PASSWORD} -e "show databases;"
30echo
31read -e -p "Enter the NAME of the new database user! [VASA]" USERNAME
32[ -z "${USERNAME}" ] && USERNAME="VASA"
33mysql -u root -p ${ROOT_PASSWORD} -e "DROP USER '${USERNAME}'@'localhost';"
34read -e -p "Enter the PASSWORD for the new database user! " USERPASS
35echo "Creating new user ${USERNAME} ..."
36mysql -uroot -p ${ROOT_PASSWORD} -e "CREATE USER ${USERNAME}@localhost IDENTIFIED BY '${USERPASS}';"
37echo "User ${USERNAME} successfully created!"
38echo
39echo "Granting ALL privileges on ${DB_NAME} to ${USERNAME}!"
40mysql -uroot -p ${ROOT_PASSWORD} -e "GRANT ALL PRIVILEGES ON ${DB_NAME}.* TO '${USERNAME}'@'localhost';"
41mysql -uroot -p ${ROOT_PASSWORD} -e "FLUSH PRIVILEGES;"
42
43PR_FILE=`pwd`/processed_file.txt
44TABLE_NAME=boyare
45LOAD_SQL_FILE=load_text_data.sql
46CREATE_TABLE_SQL=bae.sql
47
48echo "Process file -- ${PR_FILE}"
49echo
50echo "Table name -- ${TABLE_NAME}"
51
52
53cat ${CREATE_TABLE_SQL} > bae.sql <<EOF
54CREATE TABLE if not exists ${DB_NAME}.${TABLE_NAME}
55(id bigint primary key not null auto_increment,
56context text not null,
57response text not null)
58EOF
59
60cat ${CREATE_TABLE_SQL} | mysql -u ${USERNAME} -D ${DB_NAME}
61echo created
62mysql -u root -e "use $DB_NAME; show tables;"
63
64if [ ! -f ${RR_FILE} ]; then
65 touch ${PR_FILE};
66else
67 read -e -p "${PR_FILE} already exists, delete it? [Y/n]" TO_DELETE
68 [ -z "${TO_DELETE}" ] && TO_DELETE="Y"
69 [[ $TO_DELETE =~ ^[Yy]$ ]] && rm ${PR_FILE} && touch ${PR_FILE}
70fi
71
72while read -r line; do
73 sed "s/@@ //g" >> $PR_FILE
74done < short_text.txt
75
76cat > $LOAD_SQL_FILE <<EOF
77LOAD DATA INFILE '${PR_FILE}' INTO TABLE ${TABLE_NAME}
78FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n';
79EOF
80
81echo "File with sql -- ${LOAD_SQL_FILE}"
82
83cat $LOAD_SQL_FILE | mysql -u root --database ${DB_NAME}