Advertisement
Guest User

Untitled

a guest
Mar 28th, 2019
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.01 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. set -x
  4. echo ">>>>>>> $0 $* <<<<<<<"
  5.  
  6. #mysql -u root -e "SHOW GRANTS FOR 'nextdom'@'localhost';"
  7. mysql -u root -e "SHOW DATABASES;"
  8.  
  9. case "$1" in
  10. upgrade)
  11.  
  12. # Test if Nextdom conf file parameters are equivalent to nextdom-mysql parameters and if not, adjust
  13. nextdom_secret=/var/lib/nextdom/config/common.config.php
  14. if [[ -f ${nextdom_secret} ]] ; then
  15. nextdom_host=$(grep "'host'" /var/lib/nextdom/config/common.config.php | awk -F "=>" '{print $2}' | awk -F "'" '{print $2}')
  16. nextdom_port=$(grep "'port'" /var/lib/nextdom/config/common.config.php | awk -F "=>" '{print $2}' | awk -F "'" '{print $2}')
  17. nextdom_dbname=$(grep "'dbname'" /var/lib/nextdom/config/common.config.php | awk -F "=>" '{print $2}' | awk -F "'" '{print $2}')
  18. nextdom_username=$(grep "'username'" /var/lib/nextdom/config/common.config.php | awk -F "=>" '{print $2}' | awk -F "'" '{print $2}')
  19. nextdom_password=$(grep "'password'" /var/lib/nextdom/config/common.config.php | awk -F "=>" '{print $2}' | awk -F "'" '{print $2}')
  20. #
  21. if [[ ${nextdom_host} != "${MYSQL_HOSTNAME}" ]] ; then sed -i s#^MYSQL_HOSTNAME=.*#MYSQL_HOSTNAME=\"${nextdom_host}\"#g /etc/nextdom/mysql/secret ; fi
  22. if [[ ${nextdom_port} != "${MYSQL_PORT}" ]] ; then sed -i s#^MYSQL_PORT=.*#MYSQL_PORT=\"${nextdom_port}\"#g /etc/nextdom/mysql/secret ; fi
  23. if [[ ${nextdom_dbname} != "${MYSQL_NEXTDOM_DB}" ]] ; then sed -i s#^MYSQL_NEXTDOM_DB=.*#MYSQL_NEXTDOM_DB=\"${nextdom_dbname}\"#g /etc/nextdom/mysql/secret ; fi
  24. if [[ ${nextdom_username} != "${MYSQL_NEXTDOM_USER}" ]] ; then sed -i s#^MYSQL_NEXTDOM_USER=.*#MYSQL_NEXTDOM_USER=\"${nextdom_username}\"#g /etc/nextdom/mysql/secret ; fi
  25. if [[ ${nextdom_password} != "${MYSQL_NEXTDOM_PASSWD}" ]] ; then sed -i s#^MYSQL_NEXTDOM_PASSWD=.*#MYSQL_NEXTDOM_PASSWD=\"${nextdom_password}\"#g /etc/nextdom/mysql/secret ; fi
  26. fi
  27.  
  28. cp -ax /etc/nextdom/mysql/secret /tmp/nextdom-secret
  29. chmod 600 /tmp/nextdom_secret
  30.  
  31. # Test if nextdom DB user is present and if not recreate it
  32. if [[ ${nextdom_host} = 'localhost' ]] ; then
  33. isOK=$(mysql -u root -e "SELECT user, host, db, select_priv, insert_priv, grant_priv FROM mysql.db WHERE user='${nextdom_username}' AND host='localhost' AND db='${nextdom_dbname}';" |wc -l)
  34. #isOK=$(mysql -u root -e "SELECT user, host, db, select_priv, insert_priv, grant_priv FROM mysql.db WHERE user='nextdom' AND host='localhost' AND db='nextdom';" |wc -l)
  35. if [[ ${isOK} -eq 0 ]] ; then
  36. mysql -u root -e "DROP USER IF EXISTS '${nextdom_username}'@'localhost';"
  37. mysql -u root -e "CREATE USER '${nextdom_username}'@'localhost' IDENTIFIED BY '${nextdom_password}';"
  38. mysql -u root -e "GRANT ALL PRIVILEGES ON ${nextdom_dbname}.* TO '${nextdom_username}'@'localhost';"
  39. mysql -u root -e "SHOW GRANTS FOR '${nextdom_username}'@'localhost';"
  40. fi
  41. mysqldump -u root --all-databases >/tmp/nextdom_upgrade.sql
  42. fi
  43. ;;
  44. esac
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement