Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

56 lines
1.7KB

  1. #!/bin/bash
  2. echo "Permissions"
  3. chown -R mysql:mysql /var/lib/mysql
  4. # set root password from secret
  5. if [ ! -z $MYSQL_ROOT_PWD_FILE -a -f $MYSQL_ROOT_PWD_FILE ]; then
  6. MYSQL_ROOT_PWD=`cat $MYSQL_ROOT_PWD_FILE`;
  7. fi
  8. if [ ! -z $MYSQL_ROOT_PWD ]; then
  9. # start server
  10. echo "Starting server"
  11. /usr/bin/mysqld_safe --datadir='/var/lib/mysql' & #--skip-grant-tables &
  12. pid="$!"
  13. echo "Mysql pid: $pid"
  14. mysql=( mysql )
  15. for i in {30..0}; do
  16. if echo 'SELECT 1' | "${mysql}" &> /dev/null; then
  17. break
  18. fi
  19. echo 'MySQL init process in progress...'
  20. sleep 1
  21. done
  22. if [ "$i" = 0 ]; then
  23. echo >&2 'MySQL init process failed or there already was data with a root password set.'
  24. fi
  25. # Allow access from outside
  26. #echo "INSERT INTO mysql.user (Host, User) VALUES ('%', 'root');" | "${mysql}"
  27. echo 'GRANT ALL PRIVILEGES ON *.* TO "root"@"%" WITH GRANT OPTION;' | "${mysql}"
  28. # set root password
  29. echo "Setting root password"
  30. #/usr/bin/mysqladmin -u root flush-privileges password "$MYSQL_ROOT_PWD"
  31. echo "UPDATE mysql.user SET password=PASSWORD('$MYSQL_ROOT_PWD') WHERE user='root';" | "${mysql}"
  32. #echo "SET PASSWORD FOR 'root' = PASSWORD('$MYSQL_ROOT_PWD');" | "${mysql}"
  33. if [ $? != 0 ]; then
  34. echo >&2 'MySQL root password setting failed.'
  35. #exit 1
  36. fi
  37. # Stop server
  38. echo "Stopping server"
  39. #if ! kill -s TERM "$pid" || ! wait "$pid"; then
  40. if ! mysqladmin -u root -p"$MYSQL_ROOT_PWD" shutdown || ! wait "$pid"; then
  41. echo >&2 'MySQL stop process failed.'
  42. #exit 1
  43. fi
  44. fi
  45. echo "Restarting server"
  46. /usr/bin/mysqld_safe --datadir='/var/lib/mysql'