Solved

#1045 - Access denied for user 'root'@'localhost' (using password: NO)  - please help

Posted on 2011-09-14
9
1,137 Views
Last Modified: 2012-05-12
I'm EXTREMELY new to MySQL.  I just installed a wamp server on my windows 7 machine as instructed. Everything else works but this Myphpadmin.  I'm getting this error but have no idea how to fix it.  Please assist.  Thanks!
0
Comment
Question by:LB1234
  • 4
  • 3
  • 2
9 Comments
 
LVL 108

Expert Comment

by:Ray Paseur
ID: 36536641
Try running this script... Show us the output.  Hint: You may need to GRANT privileges for it to work.
<?php // RAY_mysql_example.php
error_reporting(E_ALL);


// THE ABSOLUTE MINIMUM YOU MUST UNDERSTAND TO USE PHP AND MYSQL
// MAN PAGE: http://php.net/manual/en/ref.mysql.php
// MAN PAGE: http://php.net/manual/en/mysql.installation.php
// MAN PAGE: http://php.net/manual/en/function.mysql-connect.php
// MAN PAGE: http://php.net/manual/en/function.mysql-select-db.php
// MAN PAGE: http://php.net/manual/en/function.mysql-real-escape-string.php
// MAN PAGE: http://php.net/manual/en/function.mysql-query.php
// MAN PAGE: http://php.net/manual/en/function.mysql-errno.php
// MAN PAGE: http://php.net/manual/en/function.mysql-error.php
// MAN PAGE: http://php.net/manual/en/function.mysql-num-rows.php
// MAN PAGE: http://php.net/manual/en/function.mysql-fetch-assoc.php
// MAN PAGE: http://php.net/manual/en/function.mysql-fetch-array.php
// MAN PAGE: http://php.net/manual/en/function.mysql-insert-id.php



// CONNECTION AND SELECTION VARIABLES FOR THE DATABASE
$db_host = "localhost"; // PROBABLY THIS IS OK
$db_name = "??";        // GET THESE FROM YOUR HOSTING COMPANY
$db_user = "??";
$db_word = "??";


// OPEN A CONNECTION TO THE DATA BASE SERVER
if (!$db_connection = mysql_connect("$db_host", "$db_user", "$db_word"))
{
    $errmsg = mysql_errno() . ' ' . mysql_error();
    echo "<br/>NO DB CONNECTION: ";
    echo "<br/> $errmsg <br/>";
}

// SELECT THE MYSQL DATA BASE
if (!$db_sel = mysql_select_db($db_name, $db_connection))
{
    $errmsg = mysql_errno() . ' ' . mysql_error();
    echo "<br/>NO DB SELECTION: ";
    echo "<br/> $errmsg <br/>";
    die('NO DATA BASE');
}
// IF THE SCRIPT GETS THIS FAR IT CAN DO QUERIES
echo "SUCCESS!";

Open in new window

0
 
LVL 1

Author Comment

by:LB1234
ID: 36536672

( ! ) Warning: mysql_connect() [function.mysql-connect]: Access denied for user '??'@'localhost' (using password: YES) in C:\wamp\www\php_sandbox\test.php on line 40
Call Stack
#      Time      Memory      Function      Location
1      0.0020      676512      {main}( )      ..\test.php:0
2      0.0020      677600      mysql_connect ( )      ..\test.php:40

NO DB CONNECTION:
1045 Access denied for user '??'@'localhost' (using password: YES)

( ! ) Warning: mysql_select_db() expects parameter 2 to be resource, boolean given in C:\wamp\www\php_sandbox\test.php on line 48
Call Stack
#      Time      Memory      Function      Location
1      0.0020      676512      {main}( )      ..\test.php:0
2      0.0091      678112      mysql_select_db ( )      ..\test.php:48

NO DB SELECTION:
1045 Access denied for user '??'@'localhost' (using password: YES)
NO DATA BASE
0
 
LVL 30

Accepted Solution

by:
Marco Gasi earned 500 total points
ID: 36536742
First, try to see if PhpMyAdmin config file has correct values in Wamp you shoud open C:\wamp\apps\phpmyadmin3.3.9 (accordingly with your version) and look for config.inc.php: open it in a text editor and look for these lines

$cfg['Servers'][$i]['user'] = '';
$cfg['Servers'][$i]['password'] = '';
$cfg['Servers'][$i]['AllowNoPassword'] = true;

Ensure that values for username and password are correct.

If this doesn't solve your problem tell me and I give a way to reset mysql password: I had the same problem but now all works fine.
0
 
LVL 1

Author Comment

by:LB1234
ID: 36536798
Thanks Marqus, but at no point did i set a username or password (nor was i prompted for one during the WAMP installing).  It was all next > next > finish basically.

Here's what i have for the lines you mentioned.  If I enter something for username and password, what should it be?  As mentioned, there won't be any corresponding values elsewhere.

$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
$cfg['Servers'][$i]['AllowNoPassword'] = true;
0
Find Ransomware Secrets With All-Source Analysis

Ransomware has become a major concern for organizations; its prevalence has grown due to past successes achieved by threat actors. While each ransomware variant is different, we’ve seen some common tactics and trends used among the authors of the malware.

 
LVL 30

Expert Comment

by:Marco Gasi
ID: 36536976
Well. Can you access to phpMyAdmin and open Privileges tab? If yes, do it and check values you find there and tell me about, please.
0
 
LVL 1

Author Comment

by:LB1234
ID: 36536991
I don't know what's happened but it works now :(

I didn't do anything, but I wish i knew what the resolution was.

Thanks all for your help!
0
 
LVL 30

Expert Comment

by:Marco Gasi
ID: 36537012
Something it happens... :-) Good luck with your project.
0
 
LVL 108

Expert Comment

by:Ray Paseur
ID: 36537032
Regarding the post at ID:36536672... You got this message:

1045 Access denied for user '??'@'localhost' (using password: YES)

See lines 21-25 of the script.  You might want to put your own credentials in there.
0
 
LVL 30

Expert Comment

by:Marco Gasi
ID: 36537072
Thanks for points, but since I have not solved your problem you can consider to request attention of a moderator to change your decision and split points between me and Ray. I have to notice that in your original question you got error saying 'using password: NO' and later you got an error saying 'using password: YES': this sounds strange to me...
0

Featured Post

Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

Join & Write a Comment

Load balancing is the method of dividing the total amount of work performed by one computer between two or more computers. Its aim is to get more work done in the same amount of time, ensuring that all the users get served faster.
Nothing in an HTTP request can be trusted, including HTTP headers and form data.  A form token is a tool that can be used to guard against request forgeries (CSRF).  This article shows an improved approach to form tokens, making it more difficult to…
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.

747 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now