基本上,我的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'
答案 0 :(得分:4)
如果您只需要访问数据库并且知道登录凭据,请尝试使用adminer:
它只是一个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中需要更改什么来重新获得另一个选项,我相信我已经在至少一个表中使用过了。