Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
How to reset mysql root password
#1
I just set it awhile ago, and now I forgot it. Is there a way to retrieve it back?
Reply
#2

try this

 



Code:
./mysqladmin -u root password new-password




 

cheers

 

anyweb

Reply
#3

I had the same problems but was getting some funny error messages with anywebs command so I used this reference :

 

[/url][url=http://dev.mysql.com/doc/mysql/en/Resetting_permissions.html]http://dev.mysql.com/doc/mysql/en/Resetting_permissions.html

 

Its was really good however where it says this:

 

shell> kill `cat /mysql-data-directory/host_name.pid`

 

I did this:

 

kill cat '/urs/local/mydsql/data/linux.domain.com.pid'

 

to get the process id to stop mysql. The rest worked fine and was a great help.

Reply
#4

Never forgotten a password, then you must be in the minority. All is not lost however there is a way of starting MySQL and then accessing it without a password.

 



Code:
# /etc/init.d/mysql stop
# killall mysqld
# mysqld --skip-grant-tables --user=root &
# mysql
mysql> use mysql;
mysql> update user set password=password("newpassword") where user="root";
mysql> flush privileges;
mysql> exit
# killall mysqld
# /etc/init.d/mysql start




 

Thats it.. a quick and easy way to recover your mysql database password [img]<___base_url___>/public/style_emoticons/default/happy.gif[/img]

Reply
#5

pinned

 

thanks znx !

Reply
#6
Nice one znx :)
Reply
#7

Some more notes..

 

If you see this complaint:



Code:
# mysqld --skip-grant-tables --user=root &
# 060318 16:31:10 [Warning] Ignoring user change to 'root' because the user was set to 'mysql' earlier on the command line




 

Then its most likely still running, you can confirm with:



Code:
# netstat -tlp | grep mysql
tcp  0  0  host.domain:mysql  *:*  LISTEN  20310/mysqld
# killall mysqld
# netstat -tlp | grep mysql
#




 

And then you can continue to the next step...

Reply
#8

If you find that you can't execute mysqld .. then it could be that the mysql server is hidden, so you can use:

 



Code:
/usr/libexec/mysqld --skip-grant-tables --user=root &




 

Instead :)

Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)