#!/bin/bash

MYSQL_CONFIG=/etc/mysql/my.cnf

RET=$1

CHECK_USER="$(mysql -uroot -p${RET} -sse "SELECT EXISTS(SELECT 1 FROM mysql.user WHERE user = 'netroot')")"
# при переустановке не работаем с пользователем
if [ "$CHECK_USER" = 1 ]; then
echo "user netroot exist"
else
echo "create user netroot"
mysql -uroot -p${RET} <<EOF

CREATE USER 'netroot'@'localhost' IDENTIFIED BY 'netroot';
GRANT ALL PRIVILEGES ON *.* TO 'netroot'@'localhost' WITH GRANT OPTION;
CREATE USER 'netroot'@'%' IDENTIFIED BY 'netroot';
GRANT ALL PRIVILEGES ON *.* TO 'netroot'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EOF

fi


#настройка mysql при помощи .cnf для ubuntu 14 и 16+ отличаются
LINUX_VERSION=$(lsb_release -s -c)
CUSTOM_CNF_DIR="/etc/mysql/conf.d"

#дополняем cnf при необходимости
if [ "$LINUX_VERSION" = "bionic" ]; then
	CUSTOM_CNF_DIR="/etc/mysql/override.conf.d"
	if ! grep -q "!includedir $CUSTOM_CNF_DIR/" "/etc/mysql/mysql.conf.d/mysqld.cnf"; then
  		echo -e $'\n'!includedir $CUSTOM_CNF_DIR/ >> /etc/mysql/mysql.conf.d/mysqld.cnf
	fi
fi

if [ ! -d $CUSTOM_CNF_DIR  ]; then mkdir $CUSTOM_CNF_DIR; fi;
cat > $CUSTOM_CNF_DIR/CS22_mysql_settings.cnf << EOF
[mysqld]
bind-address=0.0.0.0
innodb_file_per_table
max_allowed_packet=64M
EOF
cat > $CUSTOM_CNF_DIR/CS40_mysql_settings.cnf << EOF
[mysqld]
sql_mode ='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
EOF
# если утсановили mysql8, нужно выключить настройку explicit_defaults_for_timestamp, чтобы корректно работать с update_time

cat > $CUSTOM_CNF_DIR/CS40_mysql8_settings.cnf << EOF
[mysqld]
explicit_defaults_for_timestamp = 0
EOF

service mysql restart

exit 0
