33 lines
1.3 KiB
Bash
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'
|