Docs/BashScripts/install-mysql.sh
2022-12-22 08:25:34 +01:00

33 lines
1.3 KiB
Bash

# Install using: sudo su -c "bash <(wget -qO- /url/to/install-mysql.sh)"
# Make sure script is ran as root
if [[ $EUID -ne 0 ]]; then
exec sudo /bin/bash "$0" "$@"
fi
REALUSER=$(logname)
echo Running apt update...
apt -qq update 2>>install.log
if ! [ -f /etc/init.d/mysql* ]; then
echo "Installing MySQL..."
apt install mysql-server -y 2>>install.log
ufw allow 3306 2>>install.log
systemctl start mysql.service 2>>install.log
fi
if ! grep -q "# bind-address = 127.0.0.1" "/etc/mysql/mysql.conf.d/mysqld.cnf"; then
sed -i '/^bind\-address/s/^/#/' /etc/mysql/mysql.conf.d/mysqld.cnf
fi
read -e -p "Enter desired root password:" ROOTPASSWORD
if mysql -e "SELECT user,host FROM mysql.user WHERE host = '192.168.%.%';" | grep -q 'root'; then
echo "Altering root user with password $ROOTPASSWORD"
mysql -e "ALTER USER 'root'@'192.168.%.%' IDENTIFIED WITH mysql_native_password BY '$ROOTPASSWORD';"
else
echo "Adding root user with password $ROOTPASSWORD"
mysql -e "CREATE USER 'root'@'192.168.%.%' IDENTIFIED WITH mysql_native_password BY '$ROOTPASSWORD';"
fi
mysql -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.%.%' WITH GRANT OPTION;"
mysql -e "FLUSH PRIVILEGES;"
mysql -e "SELECT user,host FROM mysql.user;"
systemctl restart mysql.service
echo 'Installation complete'