phpMyAdmin:无法登录MySQL服务器没有错误代码
我最近将mysql数据库复制到一个新的数据目录中,并更改了一些设置 我还意外地删除了我的用户目录/home/user,并在展会上重新创建了它 我现在可以通过命令行连接到mysql,但无法通过phpMyAdmin连接。 我得到的信息是:phpMyAdmin:无法登录MySQL服务器没有错误代码,php,mysql,phpmyadmin,Php,Mysql,Phpmyadmin,我最近将mysql数据库复制到一个新的数据目录中,并更改了一些设置 我还意外地删除了我的用户目录/home/user,并在展会上重新创建了它 我现在可以通过命令行连接到mysql,但无法通过phpMyAdmin连接。 我得到的信息是: Cannot log in to the MySQL server 我以前见过这种情况,但前面有错误代码#1045或#2002 是否有任何关于此消息的日志或文档没有错误代码 更新 phpMyAdmin安装在同一台服务器上,并在浏览器登录页面中提示web用户输入用
Cannot log in to the MySQL server
我以前见过这种情况,但前面有错误代码#1045或#2002
是否有任何关于此消息的日志或文档没有错误代码
更新
phpMyAdmin安装在同一台服务器上,并在浏览器登录页面中提示web用户输入用户名/密码,在提交正确的详细信息后返回此登录页面并显示错误消息
我已尝试将/etc/phpMyAdmin/config.inc.php
行更改为:
$cfg['Servers'][$i]['host'] = '127.0.0.1'; // previously 'localhost'
我还尝试了
刷新特权
但没有成功。根据我的说法,以下可能是问题及其解决方法
原因:
-->未设置或未正确设置保存php_会话的路径:
-->php没有足够的权限写入会话目录,或者该目录不存在
解决方案:
session.save_path=“/tmp/php_session/”
chown-R:daemon/tmp/php_会话
chmod-rg+wr/tmp/php\u会话
更新 我发现:- 在一些罕见的情况下,如果您的MySQL进程已经存在很长时间而没有对您的密码进行任何更新,那么它可能会以phpMyAdmin无法验证的格式存储您的密码。这将导致您无法通过phpMyAdmin登录,即使用户名和密码正确。在这些情况下,通过其他方式(例如命令行)更改MySQL密码通常就足够了,即使您将密码“更改”为相同的内容 因此,请尝试通过命令行重新设置您的密码
为'root'@'localhost'设置密码=密码('MyNewPass')代码>经过一番混乱,终于修复了它
原来,我的my.cnf
文件将地址绑定到了服务器的内部网络IP
bind-address = 192.168.etc
以前,在移动数据库(和套接字位置)之前,它还正确连接了'localhost'
(使用套接字)并允许从phpMyAdmin登录
移动数据库后,套接字连接不起作用,将localhost中的config.inc.php
行更改为127.0.0.1会导致mysql使用TCP而不是套接字连接。这现在导致与绑定地址冲突:
$cfg['Servers'][$i]['host'] = '127.0.0.1'; // previously 'localhost'
删除绑定地址限制允许我登录
当然,更好的解决方案是修复套接字连接
在对权限大惊小怪了一段时间并四处询问之后,有人帮我在mysqli.ini
中找到了一个设置(phpMyAdmin用于连接数据库的扩展):
这修复了本地主机套接字连接,我可以恢复我的my.cnf
绑定地址并恢复config.inc.php
以再次使用'localhost'
。在我的情况下,我只需将php版本从:5.6.16切换到7.0
然后它什么也没登录
只需将其切换回去,也许重新启动服务器,它将支持在PHP7.0中工作我不止一次遇到过类似的问题。直接在mysql中重新应用特权是最有帮助的。我从来没有找到一个好的解释。也许刷新权限也是一种选择,我从未尝试过。phpMyAdmin托管在哪里?外部或在同一服务器上?如何配置phpMyAdmin。它是否要求用户/密码,或者它通常只是在没有任何人工交互的情况下登录。使用用户名/密码。您的意思是它要求您输入用户ID/密码吗?它是否会将您重定向回登录表单谢谢,但这两个表单都不是issue@geeksal:非常感谢!就这样。我已经使用mysql workbench重置了密码。phpMyAdmin对这个问题只字不提。
mysqli.default_socket = /new/location