Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

56 lines
1.7KB

  1. #!bin/bash
  2. echo "Installing Mysql DB"
  3. mysql_install_db --user=mysql --ldata=/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'