使用XAMPP在Mac上的phpMyAdmin中更改密码,现在无法访问localhost / phpmyadmin

时间:2012-05-13 19:30:29

标签: macos passwords phpmyadmin xampp change-password

我已经阅读了有关此内容的所有帖子,但没有人帮忙。我已经从我的计算机中删除了XAMPP文件夹并从DMG文件重新安装了它,这当然解决了问题,但我想知道将来如何修复它。

一切如何开始:我在我的Macbook(运行Mac OS X v10.7.4)上登录了phpMyAdmin。我看到了消息,建议我更改root的密码,默认情况下没有密码。我进入了Manage Privileges选项卡,并在localhosts,webdev和127.0.0.1上更改了root用户的密码。在每种情况下,我输入相同的短密码并单击“生成密码”,这会创建三个不同的哈希值。

你知道接下来会发生什么:当我再次尝试访问localhost / phpmyadmin时,我被锁定了以下消息:

Error

MySQL said: 

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

phpMyAdmin tried to connect to the MySQL server, and the server rejected the connection.  You should check the host, username and password in your configuration and make sure that  they correspond to the information given by the administrator of the MySQL server. 

所以我查了一下stackoverflow,它建议我在命令行设置root的密码。我在我的用户目录中创建了一个“.profile”文件,其中包含“export PATH = / opt / local / bin:/ opt / local / sbin:/ Applications / xampp / xamppfiles / bin:$ PATH”。这使我能够开始一个mysql会话,但是(作为一个菜鸟)我无法弄清楚在那之后该做什么。

Stackoverflow还建议我可以在config.inc.php中更改密码。我在phpmyadmin / setup / frames / config.inc.php找到了这个文件,但行

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

不在那里。我确实在phpmyadmin / libraries / config.default.php中找到了该行,但该文件包含针对编辑它的可怕警告。我找到了另一个可能的文件,phpmyadmin / setup / lib / common.inc.php,以及phpmyadmin / scripts / signon.php,但在所有情况下,我的计算机阻止我进行任何更改,说我没有权限。所以这令人沮丧。

我确定这是一个新手的错误,或其中几个,但我很好奇,发现我在stackoverflow上查找的所有内容都没有帮助我。我还希望Mac OS能够更容易地执行诸如创建系统文件(例如.profile)和编辑XAMPP文件(例如,common.inc.php)之类的操作。但你能做什么呢。

3 个答案:

答案 0 :(得分:8)

在phpMyAdmin的主安装文件夹中,您必须创建一个 config.inc.php 文件,即您应该更改的文件。如果您没有该文件,请创建它:

在主安装文件夹(pMA)中,您已经有一个名为: config.sample.inc.php 的文件,其中包含默认配置。制作此文件的副本并将其重命名为 config.inc.php ,您可以使用cp命令直接执行此操作(导航到所述文件夹后):

cp ./config.sample.inc.php ./config.inc.php

现在对这个新文件进行一些更改:

  1. 将条目$cfg['Servers'][$i]['host'] = 'localhost';更改为$cfg['Servers'][$i]['host'] = '127.0.0.1';(因为它在某些地方不起作用)
  2. 写下/更改此行:$cfg['Servers'][$i]['AllowNoPassword'] = false;
  3. 注意:phpMyAdmin的主安装文件夹是指安装phpMyAdmin的根文件夹,即/<abc>/<xyz>/phpMyAdmin/
    同时进行第二次更改,仅在未找到主机时进行第一次更改

答案 1 :(得分:2)

内部\xampp\phpmyadmin\config_inc.php

添加或更改如下代码。
$cfg['Servers'][$i]['auth_type'] = 'cookie';

之后尝试清除浏览数据。然后重启mysql 这个对我有用。希望它可以帮到你。

答案 2 :(得分:0)

虽然,@ bool开发提供了上面的答案。我想分享我如何使用终端解决这个问题的版本。我正在使用10.12.5(OS Serria)

首先,您需要具有root访问权限

sudo su

然后转到根文件夹

cd /

从那里你需要导航到phpMyAdmin文件夹

cd Applications/XAMPP/xamppfiles/phpmyadmin/

然后使用任何编辑器打开config.inc.php文件。 (我用vi)

vi config.inc.php

转到文件

中的以下部分
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = ''; // This is empty, set your password here

然后只需重新启动MySql服务器。而中提琴应该现在正在运作。