无法通过phpMyAdmin访问数据库

时间:2013-08-02 23:33:50

标签: mysql login phpmyadmin xampp

基本上,我的config.inc.php文件有问题。但是我会描述事件的顺序,以防我破坏了其他我不知道的东西。

我在phpMyAdmin中构建了一个数据库,我在localhost上使用了几个月。它与XAMPP一起安装。根据{{​​1}}文件,它是phpMyAdmin Version 3.5.7

有一段时间,我离开了XAMPP/xamppfiles/phpMyAdmin/README。几个星期前,我改变了这些值,但这显然造成了一个问题,因为phpMyAdmin开始向我展示

  

“配置中定义的控制用户连接失败”

一直警告。尽管如此,我仍然能够做我需要做的一切;所以我一直在使用我的数据库。

昨天我不得不杀死一个已经持续超过8小时的查询。之后,phpMyAdmin似乎正在加载其他数据库和表格有点慢。所以我打开XAMPP并按下MySQL的停止按钮。显然,这个按钮不再为我停止MySQL。图标只是旋转和旋转,好像在思考。所以,截至今天,我一直在终端停止并启动MySQL,而不是通过XAMPP控制界面。

因为我看到了控制用户的警告,所以我决定重写config.inc.php文件以解决那里出现的任何问题。不幸的是,我只是让事情变得更糟。现在我根本无法访问我的数据库。

我今天花了5个小时研究如何设置我的config.inc.php文件,但我仍然无法访问我的数据库。在过去,我使用'config'选项进行设置,从不输入密码。理想情况下,我更喜欢密码安全。但是在这个阶段,我很高兴重新获得对我的数据库的访问权。

现在,['controluser'] = 'pma' and ['controluserpass'] = 'pmapass'转到登录页面,默认为“用户名”输入“root”。但我似乎无法登录。根据我对config.inc.php的调整,有时“用户名”默认为乱码;和其他时间出现错误消息而不是登录。无论我输入什么密码,phpMyAdmin都不会接受它:

  

2002无法登录MySQL服务器

其他时候,我收到此错误:

  

2002 - 无法通过套接字连接到本地MySQL服务器   '/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock'(2)服务器   没有响应(或本地服务器的套接字不正确   配置)。

我尝试在

之间来回切换
localhost/phpmyadmin

$cfg['Servers'][$i]['auth_type'] = 'cookie'

之间
$cfg['Servers'][$i]['auth_type'] = 'config'

$cfg['Servers'][$i]['connect_type'] = 'tcp'

之间
$cfg['Servers'][$i]['connect_type'] = 'socket'

$cfg['Servers'][$i]['AllowNoPassword'] = false

之间
$cfg['Servers'][$i]['AllowNoPassword'] = true

$cfg['Servers'][$i]['host'] = 'localhost'

似乎没有任何东西可以访问我的数据库。

目前,我正在登录界面并出现此错误:

  

2002无法登录MySQL服务器

我应该改变什么?下面是我的config.inc.php文件:

$cfg['Servers'][$i]['host'] = '127.0.0.1'

2 个答案:

答案 0 :(得分:4)

如果您只需要访问数据库并且知道登录凭据,请尝试使用adminer:

http://www.adminer.org/

它只是一个PHP文件,您可以将其放入Web服务器,并且没有phpMyAdmin所具有的安全漏洞历史记录。我们用MySQL和Postgres上的adminer替换了我们所有的phpMyAdmin安装,它运行良好。

答案 1 :(得分:0)

在花了两天时间尝试了所有人在网上发布过的任何内容后,我解决了这个问题。这并不意味着我知道问题是如何发生的,或者如何防止问题再次发生,或解决方案为什么会起作用,或者说它有什么意义。但这是我发现的,这就是我如何解决问题。

我注意到当我在终端中输入以下内容时

locate mysql.sock

我得到了一个令人惊讶的结果:

/private/var/mysql/mysql.sock

我期待mysql.sock的文件路径不同。在线其他人通过使用2个文件路径之间的符号链接解决了类似的问题。就我而言,整个问题在终端中用一个命令解决了:

ln -s /private/var/mysql/mysql.sock /Applications/xampp/xamppfiles/var/mysql/mysql.sock

现在我可以毫无问题地编辑我的config.inc.php文件了。此外,我现在能够通过XAMPP Control来阻止MySQL。最重要的是,我可以通过phpMyAdmin再次访问我的数据库。

所以我的问题已经解决了99%。但有一点令我困惑的是:在“关系视图”中,我常常看到2列 - 一列用于外键,另一列用于表内部的键。现在我只看到外键。所以我想知道在config.inc.php中需要更改什么来重新获得另一个选项,我相信我已经在至少一个表中使用过了。