phpMyAdmin:无法登录MySQL服务器没有错误代码

phpMyAdmin:无法登录MySQL服务器没有错误代码,php,mysql,phpmyadmin,Php,Mysql,Phpmyadmin,我最近将mysql数据库复制到一个新的数据目录中,并更改了一些设置 我还意外地删除了我的用户目录/home/user,并在展会上重新创建了它 我现在可以通过命令行连接到mysql,但无法通过phpMyAdmin连接。 我得到的信息是: Cannot log in to the MySQL server 我以前见过这种情况,但前面有错误代码#1045或#2002 是否有任何关于此消息的日志或文档没有错误代码 更新 phpMyAdmin安装在同一台服务器上,并在浏览器登录页面中提示web用户输入用

我最近将mysql数据库复制到一个新的数据目录中,并更改了一些设置

我还意外地删除了我的用户目录/home/user,并在展会上重新创建了它

我现在可以通过命令行连接到mysql,但无法通过phpMyAdmin连接。 我得到的信息是:

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没有足够的权限写入会话目录,或者该目录不存在

解决方案:

  • 要定义php_会话目录,请在php.ini文件中添加以下行:

    session.save_path=“/tmp/php_session/”

  • 并将写权限授予http服务器

    通常,http服务器作为组守护进程中的用户守护进程运行。在这种情况下,以下命令将为您完成工作:

    chown-R:daemon/tmp/php_会话

    chmod-rg+wr/tmp/php\u会话

  • 重新启动http服务器

  • 试试看,让我知道


    更新 我发现:-

    在一些罕见的情况下,如果您的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