Selaa lähdekoodia

Fix: Update installers due mysql got overwritten by accident (#3544)

* Update installers due mysql got overwritten by accident

* Update v-add-database-host

* Fix error

* Update changelog

* Update changelog
Jaap Marcus 2 vuotta sitten
vanhempi
sitoutus
d1a5f85c74

+ 7 - 0
CHANGELOG.md

@@ -2,6 +2,13 @@
 
 All notable changes to this project will be documented in this file.
 
+## [1.7.5] - Service release
+
+### Bugfixes
+
+- Fix issue with install MariaDB (#3543)
+- Add a check to prevent ARM64 installs with Mysql8 on Debian (#3543)
+
 ## [1.7.4] - Service release
 
 ### Features

+ 12 - 2
bin/v-add-database-host

@@ -44,7 +44,12 @@ is_mysql_host_alive() {
 	echo "port='$port'" >> $mycnf
 
 	chmod 600 $mycnf
-	mysql --defaults-file=$mycnf -e 'SELECT VERSION()' > /dev/null 2>&1
+	mysql_out=$(mktemp)
+	if [ -f '/usr/bin/mariadb' ]; then
+		mariadb --defaults-file=$mycnf -e 'SELECT VERSION()' > $mysql_out 2>&1
+	else
+		mysql --defaults-file=$mycnf -e 'SELECT VERSION()' > $mysql_out 2>&1
+	fi
 	if [ "$?" -ne '0' ]; then
 		echo "Error: MySQL connection to $host failed"
 		rm $mycnf
@@ -52,7 +57,12 @@ is_mysql_host_alive() {
 		exit "$E_CONNECT"
 	fi
 
-	grants=$(mysql --defaults-file=$mycnf -e 'SHOW GRANTS FOR CURRENT_USER();')
+	if [ -f '/usr/bin/mariadb' ]; then
+		grants=$(mariadb --defaults-file=$mycnf -e 'SHOW GRANTS FOR CURRENT_USER();')
+	else
+		grants=$(mysql --defaults-file=$mycnf -e 'SHOW GRANTS FOR CURRENT_USER();')
+	fi
+
 	if [ "$?" -ne '0' ]; then
 		echo "Error: MySQL connection to $host failed"
 		rm $mycnf

+ 5 - 5
install/deb/phpmyadmin/pma.sh

@@ -56,18 +56,18 @@ PMAUSER=pma
 
 #CREATE PMA USER
 if [ -f '/usr/bin/mariadb' ]; then
-	mysql="mariadb"
+	mysql_server="mariadb"
 else
-	mysql="mysql"
+	mysql_server="mysql"
 fi
 
-$mysql -uroot << MYSQL_PMA2
+$mysql_server -uroot << MYSQL_PMA2
 CREATE USER '$PMAUSER'@'localhost' IDENTIFIED BY '$PASS';
 CREATE DATABASE $PMADB;
 MYSQL_PMA2
 
 #GRANT PMA USE SOME RIGHTS
-$mysql -uroot << MYSQL_PMA3
+$mysql_server -uroot << MYSQL_PMA3
 USE $PMADB;
 GRANT USAGE ON $PMADB.* TO '$PMAUSER'@'localhost' IDENTIFIED BY '$PASS';
 GRANT ALL PRIVILEGES ON $PMADB.* TO '$PMAUSER'@'localhost';
@@ -75,4 +75,4 @@ FLUSH PRIVILEGES;
 MYSQL_PMA3
 
 #MYSQL DB and TABLES ADDITION
-$mysql -uroot < "$HESTIA_INSTALL_DIR/phpmyadmin/create_tables.sql"
+$mysql_server -uroot < "$HESTIA_INSTALL_DIR/phpmyadmin/create_tables.sql"

+ 15 - 11
install/hst-install-debian.sh

@@ -320,6 +320,10 @@ if [ "$mysql" = 'yes' ] && [ "$mysqlclassic" = 'yes' ]; then
 	mysql='no'
 fi
 
+if [ "$mysqlclassic" = 'yes' ] && [ "$architecture" = 'aarch64' ]; then
+	check_result 1 "Mysql 8 does not support ARM64 yet for Debian please use Ubuntu. Unable to continue"
+fi
+
 # Checking root permissions
 if [ "x$(id -u)" != 'x0' ]; then
 	check_result 1 "Script can be run executed only by root"
@@ -1555,27 +1559,27 @@ if [ "$mysql" = 'yes' ] || [ "$mysqlclassic" = 'yes' ]; then
 	chmod 600 /root/.my.cnf
 
 	if [ -f '/usr/bin/mariadb' ]; then
-		mysql="mariadb"
+		mysql_server="mariadb"
 	else
-		mysql="mysql"
+		mysql_server="mysql"
 	fi
 	# Alter root password
-	$mysql -e "ALTER USER 'root'@'localhost' IDENTIFIED BY '$mpass'; FLUSH PRIVILEGES;"
+	$mysql_server -e "ALTER USER 'root'@'localhost' IDENTIFIED BY '$mpass'; FLUSH PRIVILEGES;"
 	if [ "$mysql_type" = 'MariaDB' ]; then
 		# Allow mysql access via socket for startup
-		$mysql -e "UPDATE mysql.global_priv SET priv=json_set(priv, '$.password_last_changed', UNIX_TIMESTAMP(), '$.plugin', 'mysql_native_password', '$.authentication_string', 'invalid', '$.auth_or', json_array(json_object(), json_object('plugin', 'unix_socket'))) WHERE User='root';"
+		$mysql_server -e "UPDATE mysql.global_priv SET priv=json_set(priv, '$.password_last_changed', UNIX_TIMESTAMP(), '$.plugin', 'mysql_native_password', '$.authentication_string', 'invalid', '$.auth_or', json_array(json_object(), json_object('plugin', 'unix_socket'))) WHERE User='root';"
 		# Disable anonymous users
-		$mysql -e "DELETE FROM mysql.global_priv WHERE User='';"
+		$mysql_server -e "DELETE FROM mysql.global_priv WHERE User='';"
 	else
-		$mysql -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '$mpass';"
-		$mysql -e "DELETE FROM mysql.user WHERE User='';"
-		$mysql -e "DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');"
+		$mysql_server -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '$mpass';"
+		$mysql_server -e "DELETE FROM mysql.user WHERE User='';"
+		$mysql_server -e "DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');"
 	fi
 	# Drop test database
-	$mysql -e "DROP DATABASE IF EXISTS test"
-	$mysql -e "DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%'"
+	$mysql_server -e "DROP DATABASE IF EXISTS test"
+	$mysql_server -e "DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%'"
 	# Flush privileges
-	$mysql -e "FLUSH PRIVILEGES;"
+	$mysql_server -e "FLUSH PRIVILEGES;"
 fi
 
 #----------------------------------------------------------#

+ 11 - 11
install/hst-install-ubuntu.sh

@@ -1598,27 +1598,27 @@ if [ "$mysql" = 'yes' ] || [ "$mysqlclassic" = 'yes' ]; then
 	chmod 600 /root/.my.cnf
 
 	if [ -f '/usr/bin/mariadb' ]; then
-		mysql="mariadb"
+		mysql_server="mariadb"
 	else
-		mysql="mysql"
+		mysql_server="mysql"
 	fi
 	# Alter root password
-	$mysql -e "ALTER USER 'root'@'localhost' IDENTIFIED BY '$mpass'; FLUSH PRIVILEGES;"
+	$mysql_server -e "ALTER USER 'root'@'localhost' IDENTIFIED BY '$mpass'; FLUSH PRIVILEGES;"
 	if [ "$mysql_type" = 'MariaDB' ]; then
 		# Allow mysql access via socket for startup
-		$mysql -e "UPDATE mysql.global_priv SET priv=json_set(priv, '$.password_last_changed', UNIX_TIMESTAMP(), '$.plugin', 'mysql_native_password', '$.authentication_string', 'invalid', '$.auth_or', json_array(json_object(), json_object('plugin', 'unix_socket'))) WHERE User='root';"
+		$mysql_server -e "UPDATE mysql.global_priv SET priv=json_set(priv, '$.password_last_changed', UNIX_TIMESTAMP(), '$.plugin', 'mysql_native_password', '$.authentication_string', 'invalid', '$.auth_or', json_array(json_object(), json_object('plugin', 'unix_socket'))) WHERE User='root';"
 		# Disable anonymous users
-		$mysql -e "DELETE FROM mysql.global_priv WHERE User='';"
+		$mysql_server -e "DELETE FROM mysql.global_priv WHERE User='';"
 	else
-		$mysql -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '$mpass';"
-		$mysql -e "DELETE FROM mysql.user WHERE User='';"
-		$mysql -e "DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');"
+		$mysql_server -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '$mpass';"
+		$mysql_server -e "DELETE FROM mysql.user WHERE User='';"
+		$mysql_server -e "DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');"
 	fi
 	# Drop test database
-	$mysql -e "DROP DATABASE IF EXISTS test"
-	$mysql -e "DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%'"
+	$mysql_server -e "DROP DATABASE IF EXISTS test"
+	$mysql_server -e "DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%'"
 	# Flush privileges
-	$mysql -e "FLUSH PRIVILEGES;"
+	$mysql_server -e "FLUSH PRIVILEGES;"
 fi
 
 #----------------------------------------------------------#