Question

mysql root password recovery doesn't work

Asked by: scorpius78

I'm using Debian (Lenny 5.0) and I've just installed mysql and php5 using apt-get. During installation I was prompted to enter a root password, which I did.

Trying to start mysql with the command

mysql

or

mysql -u root -p

and entering the correct password, I get the error message:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
(The only difference is the it says using password: NO in the first case).

I've looked at possible solutions and most of them point to http://www.cyberciti.biz/tips/recover-mysql-root-password.html or http://dev.mysql.com/doc/refman/5.1/en/resetting-permissions.html#resetting-permissions-unix. I have a hunch though that my problem is not password related at all since I'm very sure of the password I gave during the installation.

Still, I've followed the steps and I get the expected output, except when I run 'mysql -u root -p' after starting up the server again (step 6 in the first URL). It gives me the same error message I right from the start,  ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES).

What can I possibly do? I've also tried to start mysql with non-existent usernames and/or passwords, but the error message remains (only the username before the @ changes). In addition, I've tried all this logged in at the console instead of using ssh to Debian, but there is no difference.

When I did step 3 (first URL) and issued the use mysql; command I took a look at a table called user (using select user from user;) where the only existing user was debian-sys-maint. Shouldn't there be a root user or is it somehow buildt-in?

Please answer with non-Linux-guru answers. I'm only human. =)

This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.

Subscribe now for full access to Experts Exchange and get

Instant Access to this Solution

  • Plus...
  • 30 Day FREE access, no risk, no obligation
  • Collaborate with the world's top tech experts
  • Unlimited access to our exclusive solution database
  • Never be left without tech help again

Subscribe Now

Asked On
2009-10-09 at 18:27:39ID24800985
Tags

mysql

,

linux

,

password

,

recovery

,

access denied

Topics

MySQL Server

,

Debian Linux

,

Disaster Recovery

Participating Experts
3
Points
0
Comments
18

Trusted by hundreds of thousands everyday for fast, accurate and reliable tech support.

  • "The time we save is the biggest benefit of Experts Exchange to Warner Bros. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange." Mike Kapnisakis, Warner Bros.
  • "Our team likes having a resource that is more secure than just using Google and most experts using this service really know their stuff. It's nice to look here first versus using Google." Dayna Sellner, Lockheed Martin
  • "Anytime that I've been stumped with a problem, 9 out of 10 times Experts Exchange has either the accepted solution or an open discussion of the potential solution to the problem." Kenny Red, eBay Inc.

See what Experts Exchange can do for you.

Got a question?

We've got the answer.

Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.

Screenshot of Experts Exchange Knowledgebase

Need individual assistance?

Our experts are ready to help.

If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.

Screenshot of Experts Exchange Knowledgebase

Want to learn from the best?

Read articles from industry experts.

Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.

Screenshot of an Article

Working on a long term project?

Store your work and research.

Save solutions to your questions, answers you’ve discovered through searching plus helpful articles in your personal knowledgebase for easy future access.

Screenshot of Experts Exchange Knowledgebase

Access the answers to your technology questions today.

Subscribe Now

30-day free trial. Register in 60 seconds.

What Makes Experts Exchange Unique?

Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Trusted by the world's most respected brands.

image of each brand's logo

Faithfully serving IT professionals since 1996.

Experts Exchange Logo

Try it out and discover for yourself.

Subscribe Now

30-day free trial. Register in 60 seconds.

Related Solutions

  1. PHP5 and MySQL 3.23
    I've installed IIS, PHP5 and MySQL 3.23 on my local webserver I edit php.ini file to enable loading extension libraries file. Problem come to when I load MySQL library file: php_mysql.dll A warning displaywhen I brower a *.php file from webserver. The warning is: PHP Startup:...
  2. Install MySQL on Debian????
    I am a Linux first timer and am trying to install MySQL 5.0.19 on to Debian V3.1r1 I am using this document as a reference: http://mirrors.dotsrc.org/mysql/doc/refman/5.0/en/installing-binary.html I want MySQL to be installed in /etc/mysql Can someone please tell me how to...
  3. PHP5 & MySQL
    What are the steps to verify that php5 and MySQL are working properly? I have a php connect script that does not return anything? Please help
  4. php5
    Respected SIr, I had a php 4 in my rhel4. I uninstalled it. Now i want to install php 5 . i tried up2date. But it says The following packages you requested were not found: php5 Please any one can help me how to install tar of php5. and the step t...

Free Tech Articles

  1. WARNING: 5 Reasons why you should NEVER fix a computer for free.
    It is in our nature to love the puzzle. We are obsessed. The lot of us. We love puzzles. We love the challenge. We thrive on finding the answer. We hate disarray. It bothers us deep in our soul. W...
  2. SCCM OSD Basic troubleshooting
    SCCM 2007 OSD is a fantastic way to deploy operating systems, however, like most things SCCM issues can sometimes be difficult to resolve due to the sheer volume of logs to sift through and the dispe...
  3. Migrate Small Business Server 2003 to Exchange 2010 and Windows 2008 R2
    This guide is intended to provide step by step instructions on how to migrate from Small Business Server 2003 to Windows 2008 R2 with Exchange 2010. For this migration to work you will need the fo...
  4. Create a Win7 Gadget
    This article shows you how to create a simple "Gadget" -- a sort of mini-application supported by Windows 7 and Vista. Gadgets can be dropped anywhere on the desktop to provide instant information, ...
  5. Outlook continually prompting for username and password
    There have been a lot of questions recently regarding Outlook prompting for a username and password whilst using Exchange 2007. There are a few reasons why this would happen and I will try to cover t...
  6. Backup Exchange 2010 Information Store using Windows Backup
    There seems to be quite a lot of confusion around the ability to backup Exchange 2010 using the built in Windows Backup feature. This stems from the omission of this feature prior to Exchange 2007 s...

Cloud Class Webinars

  1. Avoiding Bugs in Microsoft Access
    Alison Balter takes and in-depth look at avoiding bugs in Access. In this webinar you will learn about using the immediate window to debug your applications, invoking the debugger, using breakpoints to troubleshoot, stepping through code, setting the next statement to execute, ...
  2. Top 10 Best New Features in Visio 2010
    Scott Helmers gives live demonstrations of the top 10 new features in Visio 2010. This webinar will teach you how to create compelling diagrams by adding shapes to the page with a single click, linking the shapes in a diagram to data in Excel (or SQL Server, or SharePoint), ...
  3. IT Consultant Business Secrets Revealed
    Michael Munger, Experts Exchange tech pro and IT consultant, pulls back the curtain on his very successful businesses and answers question on every IT consultant and business owner should know about. He shares secrets on what he did to solve the 5 most common problems in IT, ...
  4. Disaster Recovery and Business Continuity
    Quest CTO, Mike Billon, gives an overview of the steps involved in building a dunamic disaster recovery plan. Through case studies and an examination of software/hardware tooles for monitoring and testing, you'll gain a better understandin of where you are, where you want ...
  5. Organize Your Visio Diagrams with Containers and Lists
    Scott Helmers uses cross functional flowcharts, wireframe diagrams, data graphic legends and seating charts to teach you: how to ustilize all three new structured diagram components in Visio 2010, the best practices for organizeing shapes in previous version of Visio, how to organize ...
  6. How to Us Objects, Properties, Events and Methods in Microsoft Access
    Alison Dalter gives an in-depbth look at objects, properties, events and methods in Microsoft Access. In this webinar you will learn about using the object browser, referring to objects, working with properties and methods, working with object variables, understanding the ...

Join the Community

Give a Little. Get a Lot.

Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.

Join the Community

Answers

 

by: leakim971Posted on 2009-10-09 at 19:01:12ID: 25540351

Hello scorpius,

No you shoud see a root user in the table use. Sometime more than one (multiple root by host)
First URL, you say you see only one user (select user from user) but have you selected the right database ?
It's first line from Step #4

So continue to step #4 :

mysql> use mysql;
mysql> update user set password=PASSWORD("NEW-ROOT-PASSWORD") where User='root';
mysql> flush privileges;
mysql> quit

If you get an error with the update (second line) come back here and post it please.

Regards.

 

by: cedlinxPosted on 2009-10-10 at 14:26:36ID: 25543887

Using Password NO just means that you did not specify a password while YES means you did.

Then try:
mysql -u debian-sys-maint -p
and use the password you created. If that doesn't work and the post by leakim971 doesn't work then let's know.

 

by: scorpius78Posted on 2009-10-10 at 16:35:13ID: 25544283

leakim971:

The right database? Well, when I run show databases I see that there are two databases (which I guess are default because I havnt created any ones yet). They are named information_schema and mysql. Step four in that 1st URL said to use the mysql database, which I did, and I wrote the following two lines without any new error messages. But now when I think about it, after the update user command it does respond
Query OK, 0 rows affected (0.00 sec)
Rows matched: 0  Changed: 0  Warnings: 0

Wouldnt that mean it did nothing really since 0 rows were affected? It does say Query OK, 0 rows affected (0.00 sec) after the flush priviliges command too.
When I run the status command I get this, if it does help.

mysql> status
--------------
mysql  Ver 14.12 Distrib 5.0.51a, for debian-linux-gnu (i486) using readline 5.2
 
Connection id:          1
Current database:       mysql
Current user:           root@
SSL:                    Not in use
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server version:         5.0.51a-24+lenny2 (Debian)
Protocol version:       10
Connection:             Localhost via UNIX socket
Server characterset:    latin1
Db     characterset:    latin1
Client characterset:    latin1
Conn.  characterset:    latin1
UNIX socket:            /var/run/mysqld/mysqld.sock
Uptime:                 14 min 52 sec
 
Threads: 1  Questions: 83  Slow queries: 0  Opens: 22  Flush tables: 1  Open tables: 17  Queries per second avg: 0.093
--------------
                                              
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:

Select allOpen in new window

 

by: scorpius78Posted on 2009-10-10 at 16:37:27ID: 25544287

cedlinx:

I tried 'mysql -u debian-sys-maint -p' too, but it just responded with 'ERROR 1045 (28000): Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)'.

 

by: leakim971Posted on 2009-10-10 at 16:40:47ID: 25544293

Try to add a new root :

GRANT ALL PRIVILEGES ON *.* TO root@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION

                                              
1:

Select allOpen in new window

 

by: leakim971Posted on 2009-10-10 at 16:41:57ID: 25544298

So step #4 :

mysql> GRANT ALL PRIVILEGES ON *.* TO root@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
mysql> flush privileges;
mysql> quit

                                              
1:
2:
3:

Select allOpen in new window

 

by: amprantiPosted on 2009-10-10 at 17:24:37ID: 25544407

After you used command:  /etc/init.d/mysql stop
did you checked f there is a second mysql running (use command: "ps axuf").  or if the process stopped sucesfully??

This http://www.cyberciti.biz/tips/recover-mysql-root-password.html should work to debian and ubuntu! I have followed this tutorial many times!

 

by: scorpius78Posted on 2009-10-11 at 03:18:11ID: 25545423

leakim971:
Unfortunately that doesn't work either (see the error message down below). And the '--skip-grant-tables' option that it compains about is a prerequisite to be able to get to the mysql command prompt in the first way since the root account doesn't work/exist.

I also tried to create a root account and a testuser account with the lines below but that didn't work out either. It then complained about the '--skip-grant-tables' option again.

Seems like some kind of a catch-22 here where I need to use the '--skip-grant-tables' option to get to the mysql command prompt but I can't do the things I want because of the '--skip-grant-tables' option...

ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
 
 
CREATE USER 'root'@'localhost' IDENTIFIED BY '123456';
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
 
CREATE USER 'testuser'@'localhost' IDENTIFIED BY '123456';
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

                                              
1:
2:
3:
4:
5:
6:
7:
8:

Select allOpen in new window

 

by: scorpius78Posted on 2009-10-11 at 03:23:50ID: 25545431

ampranti:
Yes I have checked that mysql stops correctly and that there are no other instances of it running.

If you look again at the first URL I said I used in my initial post you would see that it's the same one as the one you are referring to.

 

by: leakim971Posted on 2009-10-11 at 04:25:12ID: 25545559

With insert :

INSERT INTO user VALUES('localhost','root',PASSWORD('password'),'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');

                                              
1:

Select allOpen in new window

 

by: scorpius78Posted on 2009-10-11 at 04:31:29ID: 25545575

leakim971::
Nope, I just get a new error message (see below).

Side question: What does all the 'Y' stand for?

ERROR 1136 (21S01): Column count doesn't match value count at row 1

                                              
1:

Select allOpen in new window

 

by: leakim971Posted on 2009-10-11 at 04:40:03ID: 25545597

The Y set permission, don't forget to replace 'yourpassword' in the following :

insert into user(Host,User,Password,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv,Reload_priv,Shutdown_priv,Process_priv,File_priv,Grant_priv,References_priv,Index_priv,Alter_priv,Show_db_priv,Super_priv,Create_tmp_table_priv,Lock_tables_priv,Execute_priv,Repl_slave_priv,Repl_client_priv,Create_view_priv,Show_view_priv,Create_routine_priv,Alter_routine_priv,Create_user_priv,Event_priv,Trigger_priv,ssl_type,ssl_cipher,x509_issuer,x509_subject,max_questions,max_updates,max_connections,max_user_connections) values ('localhost','root',PASSWORD('yourpassword'),'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','',null,null,null,0,0,0,0);

                                              
1:

Select allOpen in new window

 

by: scorpius78Posted on 2009-10-11 at 05:17:43ID: 25545678

I tried two command lines below but got error messages back. In the last command line I removed "'Event_priv" from the command line since it complained about it in the one you suggested.

Is it possible that this somehow is related to some other service, like qmail, dnscache, tinydns or BIND which I also have installed on this machine. It's a machine I use for laboratory exercises mainly, so it's very much possible that some of these services are not correctly configured. For instance, when I run "dnsname" or "dnsip" I get no output at all. But if these services for sure are not related to my mysql problem, we don't have to discuss them here.

mysql> insert into user(Host,User,Password,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv,Reload_priv,Shutdown_priv,Process_priv,File_priv,Grant_priv,References_priv,Index_priv,Alter_priv,Show_db_priv,Super_priv,Create_tmp_table_priv,Lock_tables_priv,Execute_priv,Repl_slave_priv,Repl_client_priv,Create_view_priv,Show_view_priv,Create_routine_priv,Alter_routine_priv,Create_user_priv,Event_priv,Trigger_priv,ssl_type,ssl_cipher,x509_issuer,x509_subject,max_questions,max_updates,max_connections,max_user_connections) values ('localhost','root',PASSWORD('123456'),'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','',null,null,null,0,0,0,0);
 
ERROR 1054 (42S22): Unknown column 'Event_priv' in 'field list'
 
 
mysql> insert into user(Host,User,Password,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv,Reload_priv,Shutdown_priv,Process_priv,File_priv,Grant_priv,References_priv,Index_priv,Alter_priv,Show_db_priv,Super_priv,Create_tmp_table_priv,Lock_tables_priv,Execute_priv,Repl_slave_priv,Repl_client_priv,Create_view_priv,Show_view_priv,Create_routine_priv,Alter_routine_priv,Create_user_priv,Trigger_priv,ssl_type,ssl_cipher,x509_issuer,x509_subject,max_questions,max_updates,max_connections,max_user_connections) values ('localhost','root',PASSWORD('123456'),'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','',null,null,null,0,0,0,0);
 
ERROR 1136 (21S01): Column count doesn't match value count at row 1

                                              
1:
2:
3:
4:
5:
6:
7:
8:

Select allOpen in new window

 

by: leakim971Posted on 2009-10-11 at 05:22:22ID: 25545687

Second Script (you remove Event_priv) remove an 'Y'  too.

 

by: scorpius78Posted on 2009-10-11 at 06:08:08ID: 25545788

leakim971:

Got it! Your command line exactly didn't do it but you lead me onto the right track. I tried to remove an 'Y' but then it complained about "Trigger_priv" instead, so I removed that too and another 'Y'. Then it said that "ssl_cipher" can't be NULL, so I changed that value to ''. Then it complained about x509_issuer which also where NULL so I changed it to '' and finally it complained about x509_subject being NULL so I changed that to '' too. AND THEN IT WORKED!! After restarting mysql I tried to create a database and a table - AND IT WORKED! Damn I'm happy about this! Thank you so very much!!

But I can't really stop thinking about the names and the values I removed/changed though. I guess they mean something and it would be sad if it had effect on my databases functionality later on. Maybe you've got an idea about this too?

 

by: leakim971Posted on 2009-10-11 at 06:32:38ID: 25545856

No points ? lol
Depends your mysql.user structure table, I give you a simple (ID:25545559) and a full (ID:25545597).

If you post result from "select * from mysql.user" I should help you

 

by: scorpius78Posted on 2009-10-11 at 06:52:13ID: 25545902

Below are the results from "select * from mysql.user;".

Doesn't assisted solution give points too? I don't mean to be greedy. ;)

mysql> select * from mysql.user;
+-----------+------------------+-------------------------------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+----------------------+
| Host      | User             | Password                                  | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Reload_priv | Shutdown_priv | Process_priv | File_priv | Grant_priv | References_priv | Index_priv | Alter_priv | Show_db_priv | Super_priv | Create_tmp_table_priv | Lock_tables_priv | Execute_priv | Repl_slave_priv | Repl_client_priv | Create_view_priv | Show_view_priv | Create_routine_priv | Alter_routine_priv | Create_user_priv | ssl_type | ssl_cipher | x509_issuer | x509_subject | max_questions | max_updates | max_connections | max_user_connections |
+-----------+------------------+-------------------------------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+----------------------+
| localhost | debian-sys-maint | *842BA733F10EF1658E24590A2D4DF44E1EF48A72 | Y           | Y           | Y           | Y           | Y           | Y         | Y           | Y             | Y            | Y         | Y          | Y               | Y          | Y          | Y            | Y          | Y                     | Y                | Y            | Y               | Y                | N                | N              | N                   | N                  | N                |          |            |             |              |             0 |           0 |               0 |                    0 |
| localhost | root             | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | Y           | Y           | Y           | Y           | Y           | Y         | Y           | Y             | Y            | Y         | Y          | Y               | Y          | Y          | Y            | Y          | Y                     | Y                | Y            | Y               | Y                | Y                | Y              | Y                   | Y                  | Y                |          |            |             |              |             0 |           0 |               0 |                    0 |
+-----------+------------------+-------------------------------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+----------------------+
2 rows in set (0.00 sec)

                                              
1:
2:
3:
4:
5:
6:
7:
8:

Select allOpen in new window

 

by: leakim971Posted on 2009-10-11 at 06:57:48ID: 25545916

Your root account is OK.
You can see an other user with different credentials.

20120131-EE-VQP-002

3 Ways to Join

30-Day Free Trial

The Experts

98% positive feedback on 31,087 answers since March 2000. angeliii is a Microsoft Most Valuable Professional for his work with MS SQL Server & Develoment.

He has also proven his knowledge of Visual Basic Programming, PHP Scripting and Oracle Databases.

The Experts

97% positive feedback on 10,752 answers since July 2000. lrmoore has more than 18 years experience in the networking industry.

The six-time Mircosoft MVPs specialties include firewalls, virtual private networking, and network management.

Testimonials

"...and excellent source for support... Kind of like having your very own IT dept." Electriciansnet

Testimonials

"I was apprehensive at signing up at first. However... it has already made my life as an IT administrator much easier." JaCrews

Testimonials

"WOW! You guys have great, active, and knowledgeable people on here." moore50

Business Clients

Business Clients

In the Press

"If you’ve got a question... Experts Exchange can supply an answer.”

In the Press

"...an invaluable aid for both IT professionals and those who require tech support."

In the Press

"where IT professionals provide quick answers on just about any topic"

Business Account Plans

Loading Advertisement...