Skip to content

Instantly share code, notes, and snippets.

@xandout
Created May 6, 2015 15:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save xandout/70940c8f616b4ef64f63 to your computer and use it in GitHub Desktop.
Save xandout/70940c8f616b4ef64f63 to your computer and use it in GitHub Desktop.
Add super user to MySQL without credentials
#!/bin/bash
echo ""
echo ""
read -e -p "Enter new username: " NEW_USER
read -e -p "Enter new password: " NEW_PASS
echo "----To stop MySQL and restart in safe mode"
echo ""
echo " /etc/init.d/mysql[d] stop"
echo " mysqld_safe --skip-grant-tables"
echo ""
echo "----To connect to MySQL as root, no password"
echo ""
echo " mysql -u root"
echo " USE mysql;"
echo " CREATE TABLE temp_users SELECT * FROM user WHERE Host = 'localhost' AND User = 'root' LIMIT 1;"
echo " UPDATE temp_users SET User ='$NEW_USER',Password=PASSWORD('$NEW_PASS');"
echo " INSERT INTO user SELECT * FROM temp_users;"
echo " DROP TABLE temp_users;"
echo " exit"
echo ""
echo "----To restart MySQL"
echo ""
echo " /etc/init.d/mysql[d] stop;/etc/init.d/mysql[d] start"
echo ""
echo "----To login as $NEW_USER"
echo ""
echo " mysql -u $NEW_USER -p$NEW_PASS"
echo ""
Enter new username: user
Enter new password: pass
----To stop MySQL and restart in safe mode
/etc/init.d/mysql[d] stop
mysqld_safe --skip-grant-tables
----To connect to MySQL as root, no password
mysql -u root
USE mysql;
CREATE TABLE temp_users SELECT * FROM user WHERE Host = 'localhost' AND User = 'root' LIMIT 1;
UPDATE temp_users SET User ='user',Password=PASSWORD('pass');
INSERT INTO user SELECT * FROM temp_users;
DROP TABLE temp_users;
exit
----To restart MySQL
/etc/init.d/mysql[d] stop;/etc/init.d/mysql[d] start
----To login as user
mysql -u user -ppass
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment