Advertisement
Guest User

Untitled

a guest
Oct 24th, 2016
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.91 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. MYSQL_ROOT_PASSWORD=$1
  4.  
  5. if [ -z "$MYSQL_ROOT_PASSWORD" ]; then
  6. echo 'Missing required $1 (password).'
  7. exit 1
  8. fi
  9.  
  10. # check if mysql is running now.
  11. mysqlrunning=$(service mysqld status | grep 'running')
  12.  
  13. if [ ! -z "$mysqlrunning" ]; then
  14. echo "stopping mysql"
  15. service mysqld stop
  16. fi
  17.  
  18. echo "starting with skip grants"
  19. mysqld_safe --skip-grant-tables >/dev/null 2>&1 &
  20.  
  21. sleep 10
  22.  
  23. # Get pid to kill later.
  24. PID_FILE=$(echo 'show variables like "pid_file"' | mysql --defaults-file=/dev/null -N -u root | awk '{print $2}')
  25. PID=$(cat $PID_FILE)
  26.  
  27. echo "resetting pw"
  28. mysql --defaults-file=/dev/null -u root mysql << EOF
  29. UPDATE mysql.user SET Password=PASSWORD('$MYSQL_ROOT_PASSWORD') WHERE User='root';
  30. FLUSH PRIVILEGES;
  31. EOF
  32.  
  33. sleep 10
  34.  
  35. echo "stopping mysql"
  36. kill $PID
  37.  
  38. # restart mysql if was running before.
  39. if [ ! -z "$mysqlrunning" ]; then
  40. echo "starting mysql as normal"
  41. sleep 5
  42. service mysqld start
  43. fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement