From 893a48ecbbddec48a6e57369eee60fe2c92fa234 Mon Sep 17 00:00:00 2001 From: Daniel Hansson Date: Wed, 25 Jan 2017 21:39:50 +0100 Subject: [PATCH] Enable utf8mb4 (#99) --- nextcloud-startup-script.sh | 24 ++++++++++++++++++++++++ static/change_mysql_pass.sh | 3 +-- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/nextcloud-startup-script.sh b/nextcloud-startup-script.sh index 7beadc5b..565119e4 100644 --- a/nextcloud-startup-script.sh +++ b/nextcloud-startup-script.sh @@ -481,7 +481,31 @@ dpkg-reconfigure openssh-server # Generate new MySQL password echo bash $SCRIPTS/change_mysql_pass.sh +if [ $? -eq 0 ] +then rm $SCRIPTS/change_mysql_pass.sh +echo "[mysqld]" >> /root/.my.cnf +echo "innodb_large_prefix=on" >> /root/.my.cnf +echo "innodb_file_format=barracuda" >> /root/.my.cnf +echo "innodb_file_per_table=1" >> /root/.my.cnf +sleep 3 +fi + +# Enable UTF8mb4 (4-byte support) +NCDB=nextcloud_db +PW_FILE=/var/mysql_password.txt +echo +echo "Enabling UTF8mb4 support on $NCDB...." +sudo /etc/init.d/mysql restart +RESULT=`mysqlshow --user=root --password=$(cat $PW_FILE) $NCDB| grep -v Wildcard | grep -o $NCDB` +if [ "$RESULT" == "$NCDB" ]; then + mysql -u root -e "ALTER DATABASE $NCDB CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;" +fi +if [ $? -eq 0 ] +then +sudo -u www-data $NCPATH/occ config:system:set mysql.utf8mb4 --type boolean --value="true" +sudo -u www-data $NCPATH/occ maintenance:repair +fi # Install phpMyadmin echo diff --git a/static/change_mysql_pass.sh b/static/change_mysql_pass.sh index fb427d07..c01c01f9 100644 --- a/static/change_mysql_pass.sh +++ b/static/change_mysql_pass.sh @@ -20,7 +20,7 @@ then password='$NEWMYSQLPASS' LOGIN chmod 0600 $MYCNF - exit 1 + exit 0 else echo "Changing MySQL root password failed." echo "Your old password is: $OLDMYSQL" @@ -31,4 +31,3 @@ LOGIN chmod 0600 $MYCNF exit 1 fi -