5
mysql_datadir="$topdir/mysql"
7
mysql_socket="$topdir/mysql.sock"
9
MYSQL_ARGS="--socket=${mysql_socket} --user=root"
11
MYSQLD_ARGS="--socket=${mysql_socket} --datadir=$mysql_datadir"
17
echo "`date +"%F %T"`: `basename "$0"`: $1"
22
vlog "Removing temporary $topdir"
25
function clean_on_error()
37
vlog "Directory $topdir exists. Removing it..."
40
vlog "Creating temporary directory: $topdir"
42
vlog "Creating MySQL data directory: $mysql_datadir"
43
mkdir -p "$mysql_datadir"
46
function init_mysql_dir()
48
vlog "Creating MySQL database"
49
mysql_install_db --datadir="$mysql_datadir"
51
function set_mysl_port()
54
while [ $i -lt 65536 ]
56
# check if port $i is used
57
vlog "Checking port $i"
58
port_status=`netstat -an | grep LISTEN | grep tcp | grep ":$i " || true`
59
if test -z "$port_status"
62
vlog "Port $i is free"
66
vlog "Port $i is used"
72
# Checks whether MySQL is alive
76
if test -S ${mysql_socket}
78
result=`${MYSQL} ${MYSQL_ARGS} -e "SELECT IF(COUNT(*)>=0, 1, 1) FROM user;" -s --skip-column-names mysql 2>/dev/null` || result="0"
89
${MYSQLD} ${MYSQLD_ARGS} --port=$mysql_port &
90
while [ "`mysql_ping`" != "1" ]
94
vlog "Can't run MySQL!"
100
vlog "MySQL started successfully"
104
function stop_mysqld()
106
mysqladmin ${MYSQL_ARGS} shutdown
110
function load_sakila()
112
vlog "Loading sakila"
113
${MYSQL} ${MYSQL_ARGS} -e "create database sakila"
114
vlog "Loading sakila scheme"
115
${MYSQL} ${MYSQL_ARGS} sakila < inc/sakila-db/sakila-schema.sql
116
vlog "Loading sakila data"
117
${MYSQL} ${MYSQL_ARGS} sakila < inc/sakila-db/sakila-data.sql