Advertisement
sysdef

/root/bin/mysql_create_db.sh for /root/bin/update_sites.sh

Dec 16th, 2016
315
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.80 KB | None | 0 0
  1. #!/usr/bin/env bash
  2.  
  3. #
  4. # create mysql database and user
  5. # (c)2016 by jheine/AT/tecracer/DOT/de
  6. #
  7.  
  8. ################# settings ###################
  9.  
  10. report_path=/home/admin/
  11. report_user=admin
  12.  
  13. . /root/mysql.txt
  14.  
  15. secret=xxx
  16.  
  17. log=/var/log/create_mysql.log
  18.  
  19. ###############################################
  20.  
  21.  
  22. [[ -z $1 ]] && {
  23.   echo "usage: $0 <sitename>"
  24.   exit 1
  25. }
  26. sitename=$1
  27.  
  28. [[ $sitename =~ ^(mysql|information_schema|innodb|performance_schema)$ ]] && {
  29.   echo "ERROR: bad database name '$sitename'"
  30.   exit 255
  31. }
  32.  
  33. typo3_db_password=$(echo ${secret}${sitename}|sha1sum|base64|sed 's/.\{6\}$//')
  34.  
  35. typo3_db_host=$DBHOSTNAME
  36. typo3_db_name=$sitename
  37. typo3_db_user=${sitename:0:16}
  38.  
  39. touch $report_path/$sitename.php
  40. chmod 600 $report_path/$sitename.php
  41. chown $report_user:root $report_path/$sitename.php
  42. echo "<?php
  43.  
  44.  # settings for site $sitename
  45.  # generated at $(date)
  46.  
  47.  \$DBHOST = \"$typo3_db_host\";
  48.  \$DBNAME = \"$typo3_db_name\";
  49.  \$DBUSER = \"$typo3_db_user\";
  50.  \$DBPASS = \"$typo3_db_password\";
  51.  
  52. ?>
  53. " > $report_path/$sitename.php
  54.  
  55. sql_commands="
  56.  CREATE USER '$typo3_db_user'@'%' IDENTIFIED BY '$typo3_db_password';
  57.  CREATE DATABASE IF NOT EXISTS \`$typo3_db_name\` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
  58.  GRANT USAGE ON * . * TO 'typo3_db_user'@'%' IDENTIFIED BY '$typo3_db_password' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
  59.  CREATE DATABASE IF NOT EXISTS \`$typo3_db_name\` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
  60.  GRANT ALL PRIVILEGES ON \`$typo3_db_name\` . * TO '$typo3_db_user'@'%';
  61. "
  62.  
  63. IFS=$'\n'
  64. for sql in $sql_commands; do
  65.   #echo "SQL: "$sql
  66.   echo "$sql" | mysql -h $DBHOSTNAME -u $DBUSERNAME -p$DBPASSWORD &>> $log
  67. done
  68.  
  69. # unset vars
  70. secret=""
  71. typo3_db_password=""
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement