使用 wamp 拒绝 PHPMyAdmin 访问

PHPMyAdmin access denied using wamp

当我尝试使用 PHPMyAdmin 连接我的数据库时,我现在收到此错误:

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

虽然它运行了好几个月...
事实是有一个连接密码,但 PHPMyAdmin 不使用它。
我试图编辑 config.inc.php :

/* Servers configuration */
$i = 0;

/* Server: localhost [1] */
$i++;
$cfg['Servers'][$i]['verbose'] = 'localhost';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['port'] = '';
$cfg['Servers'][$i]['socket'] = '';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'xxxx';
$cfg['Servers'][$i]['AllowNoPassword'] = true;

/* End of servers configuration */

$cfg['DefaultLang'] = 'en-utf-8';
$cfg['ServerDefault'] = 1;
$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';


/* rajk - for blobstreaming */
$cfg['Servers'][$i]['bs_garbage_threshold'] = 50;
$cfg['Servers'][$i]['bs_repository_threshold'] = '32M';
$cfg['Servers'][$i]['bs_temp_blob_timeout'] = 600;
$cfg['Servers'][$i]['bs_temp_log_threshold'] = '32M';

我的phpmyadmin.conf好像没问题:

Alias /phpmyadmin "c:/wampserver2/apps/phpmyadmin3.5.1/" 

<Directory "c:/wampserver2/apps/phpmyadmin3.5.1/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
        Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1
</Directory>

我不明白为什么总是说 using password: NO 而有一个定义 !
我尝试清除浏览器缓存/cookies 但还是一样。
也重装了很多次Wamp...

数据库密码不是很重要,因为它只在本地机器上使用,但我也未能在 mySql.
中删除 root 密码 如果我将密码设置为'',会有一条消息说引号没有从密码中删除,所以密码不是空的,我必须连接 mysql -uroot -p''(这太愚蠢了!!)

感谢您提供任何线索! :)

Version: '5.5.24-log'  socket: ''  port: 3306  MySQL Community Server (GPL)
150423 15:48:27 [Note] wampmysqld: Normal shutdown

150423 15:48:27 [Note] Event Scheduler: Purging the queue. 0 events
150423 15:48:27  InnoDB: Starting shutdown...
150423 15:48:28  InnoDB: Shutdown completed; log sequence number 2080864866
150423 15:48:28 [Note] wampmysqld: Shutdown complete

150423 15:48:28 [Note] Plugin 'FEDERATED' is disabled.
150423 15:48:28 InnoDB: The InnoDB memory heap is disabled
150423 15:48:28 InnoDB: Mutexes and rw_locks use Windows interlocked functions
150423 15:48:28 InnoDB: Compressed tables use zlib 1.2.3
150423 15:48:28 InnoDB: Initializing buffer pool, size = 128.0M
150423 15:48:28 InnoDB: Completed initialization of buffer pool
150423 15:48:28 InnoDB: highest supported file format is Barracuda.
150423 15:48:29  InnoDB: Waiting for the background threads to start
150423 15:48:30 InnoDB: 1.1.8 started; log sequence number 2080864866
150423 15:48:30 [Note] Server hostname (bind-address): '(null)'; port: 3306
150423 15:48:30 [Note]   - '(null)' resolves to '::';
150423 15:48:30 [Note]   - '(null)' resolves to '0.0.0.0';
150423 15:48:30 [Note] Server socket created on IP: '0.0.0.0'.
150423 15:48:30 [Warning] Found invalid password for user: 'toto@toto'; Ignoring user
150423 15:48:30 [Note] Event Scheduler: Loaded 0 events
150423 15:48:30 [Note] wampmysqld: ready for connections.
Version: '5.5.24-log'  socket: ''  port: 3306  MySQL Community Server (GPL)

toto@toto 部分看起来很糟糕,但看不出它来自哪里... ??

这样给

$cfg['Servers'][$i]['password'] = '';

如果未设置用户 root 的密码

到remove/change密码

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
**1 :** go to your WAMP icon on your PC desktop screen and LEFT CLICK to open the menu, you will see MYSQL folder, CLICK to see MYSQL CONSOLE, open it.

**2:** now you have DOS screen ( a black screen ) :


      --- if you already set a password, type it
      --- if you did not do this step yet, write the following red text
      --- use mysql; and click ENTER on your keyboard

**3:** now write the following red text and click ENTER :

UPDATE mysql.user
->SET Password=PASSWORD("*******")
->WHERE User="root";

do not worry about this sign ( -> ) , because for example when you write ( UPDATE mysql.user ) and you click ENTER on your keyboard, a new line appear with this sign ( -> ), your command will execute when you write this sign ( ; ) at the end of your text and click ENTER.

NOTE: replace the password ******* by your password.

**4:** now write the following red text and click ENTER :

FLUSH PRIVILEGES;

**5:** and to exit the black DOS screen now, write exit and click enter.

------------------------- we are finished from MySQL now --------------

**6:** go to WAMP folder ( open your My Computer, click on C driver, and you will see WAMP folder ), click on APPS folder, and than click on your PHPMYADMIN folder ( e.g my folder called phpmyadmin2.11.6 ) and find the config.inc.php

**7:** open config.inc.php and find the following orange text:

$cfg['Servers'][$i]['password'] = ''; // MySQL password (only needed

and add your password now that you used in step number 3 like that :

$cfg['Servers'][$i]['password'] = 'yourpasswordhere'; // MySQL password (only needed

**8:** now save this modification, and close config.inc.php

**9:** go to your web browser and type the following link :

http://localhost/phpmyadmin/107

and enjoy!!!