Mysql 无法通过phpMyAdmin访问数据库

Mysql 无法通过phpMyAdmin访问数据库,mysql,login,phpmyadmin,xampp,Mysql,Login,Phpmyadmin,Xampp,基本上,我的config.inc.php文件有问题。但我会描述事件的顺序,以防我弄坏了我不知道的其他东西 我已经在phpMyAdmin中构建了一个数据库,在localhost上使用了几个月。它是用XAMPP安装的。根据XAMPP/xamppfiles/phpMyAdmin/README文件,它是phpMyAdmin版本3.5.7 有一段时间,我离开了['controluser']='pma'和['controluserpass']='pmapass'。几周前,我更改了这些值,但这显然产生了一个问

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

我已经在phpMyAdmin中构建了一个数据库,在localhost上使用了几个月。它是用XAMPP安装的。根据XAMPP/xamppfiles/phpMyAdmin/README文件,它是phpMyAdmin版本3.5.7

有一段时间,我离开了['controluser']='pma'和['controluserpass']='pmapass'。几周前,我更改了这些值,但这显然产生了一个问题,因为phpMyAdmin开始向我显示

配置中定义的controluser连接失败

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

昨天我不得不终止一个持续了8个多小时的查询。之后,phpMyAdmin似乎加载其他数据库和表的速度有点慢。所以我打开XAMPP并按下MySQL的停止按钮。显然,这个按钮不再为我停止MySQL。图标只是像思考一样旋转。因此,到今天为止,我一直在直接从终端停止和启动MySQL,而不是通过XAMPP控制接口

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

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

现在,localhost/phpmyadmin进入登录页面,默认情况下输入root作为用户名。但我似乎无法登录。根据我对config.inc.php所做的调整,有时用户名默认为胡言乱语;其他情况下,会出现错误消息,而不是登录。无论我输入什么密码,phpMyAdmin都不会接受:

2002无法登录到MySQL服务器

其他时候,我会遇到以下错误:

2002-无法通过套接字连接到本地MySQL服务器 “/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock”2服务器 未响应或本地服务器的套接字不正确 配置

我试着在两种状态之间来回切换

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

和之间

$cfg['Servers'][$i]['connect_type'] = 'tcp'
$cfg['Servers'][$i]['AllowNoPassword'] = false
$cfg['Servers'][$i]['host'] = 'localhost'

和之间

$cfg['Servers'][$i]['connect_type'] = 'tcp'
$cfg['Servers'][$i]['AllowNoPassword'] = false
$cfg['Servers'][$i]['host'] = 'localhost'

和之间

$cfg['Servers'][$i]['connect_type'] = 'tcp'
$cfg['Servers'][$i]['AllowNoPassword'] = false
$cfg['Servers'][$i]['host'] = 'localhost'

似乎没有任何东西允许访问我的数据库

目前,我看到了登录屏幕和以下错误:

2002无法登录到MySQL服务器

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

<?php

$cfg['blowfish_secret'] = '89x7a3f';

$i = 0;

$i++;

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

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

$cfg['Servers'][$i]['AllowRoot'] = true;

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

$cfg['Servers'][$i]['compress'] = true;

$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['AllowNoPassword'] = false;

$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'pass';

// $cfg['Servers'][$i]['controlhost'] = '';

$cfg['Servers'][$i]['controluser']   = 'pma';
$cfg['Servers'][$i]['controlpass']   = 'pmapass';

$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
$cfg['Servers'][$i]['relation'] = 'pma_relation';
$cfg['Servers'][$i]['table_info'] = 'pma_table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma_column_info';
$cfg['Servers'][$i]['history'] = 'pma_history';

//$cfg['DefaultConnectionCollation'] = 'utf8_general_ci';

$cfg['Servers'][$i]['table_uiprefs'] = 'pma_table_uiprefs';
$cfg['Servers'][$i]['tracking'] = 'pma_tracking';
$cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';
$cfg['Servers'][$i]['userconfig'] = 'pma_userconfig';
$cfg['Servers'][$i]['recent'] = 'pma_recent';

// $cfg['Servers'][$i]['auth_swekey_config'] = '/etc/swekey-pma.conf';

$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';

$cfg['DefaultLang'] = 'en';


?>

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


它只是一个PHP文件,您可以访问web服务器,它没有phpMyAdmin那样的安全漏洞历史记录。我们已经在MySQL和Postgres上用adminer替换了所有phpMyAdmin安装,效果非常好。

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


它只是一个PHP文件,您可以访问web服务器,它没有phpMyAdmin那样的安全漏洞历史记录。我们已经在MySQL和Postgres上用adminer替换了所有的phpMyAdmin安装,效果非常好。

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

我注意到当我进入终端时

locate mysql.sock
我得到了一个令人惊讶的结果:

/private/var/mysql/mysql.sock
我希望mysql.sock有一个不同的文件路径。其他在线用户通过在两个文件路径之间使用符号链接解决了类似的问题。就我而言,整个问题通过终端中的一个命令得到解决:

ln -s /private/var/mysql/mysql.sock /Applications/xampp/xamppfiles/var/mysql/mysql.sock
现在我可以毫无问题地编辑config.inc.php文件了。另外,我现在可以通过XAMPP控件停止MySQL。最重要的是,我可以通过phpMyAdmin再次访问我的数据库


所以我的问题99%解决了。但有一件事让我有点困惑:在关系视图中,我曾经看到两列——一列用于外键,另一列用于表内部的键。现在我只看到外键。因此,我想知道config.inc.php中需要更改哪些内容才能重新获得另一个选项,我相信我至少在一个表中使用了该选项。

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

我注意到当我进入终端时

locate mysql.sock
我得到了一个令人惊讶的结果:

/private/var/mysql/mysql.sock
我希望mysql.sock有一个不同的文件路径。其他在线用户通过在两个文件路径之间使用符号链接解决了类似的问题。就我而言,整个问题通过终端中的一个命令得到解决:

ln -s /private/var/mysql/mysql.sock /Applications/xampp/xamppfiles/var/mysql/mysql.sock
现在我可以毫无问题地编辑config.inc.php文件了。另外,我现在可以通过XAMPP控件停止MySQL。最重要的是,我可以通过phpMyAdmin再次访问我的数据库


所以我的问题99%解决了。但有一件事让我有点困惑:在关系视图中,我曾经看到两列——一列用于外键,另一列用于表内部的键。现在我只看到外键。因此,我想知道config.inc.php中需要更改哪些内容才能重新获得另一个选项,我相信我至少在一个表中使用了该选项。

谢谢,但我喜欢phpMyAdmin。我只需要恢复访问。如果phpMyAdmin是唯一损坏的东西,那么只需重新安装它。我不确定phpMyAdmin作为一个整体是否损坏。这可能只是config.inc.php文件的问题。昨天一切正常,已经好几个月了。我不想重复安装软件,因为这就像用大锤插入图钉一样。另外,它可能会导致意外的数据丢失。phpMyAdmin只是一个管理套件。您可以从命令行访问MySQL服务器吗?您的MySQL服务器是在套接字上侦听还是在IP上侦听?mysql-u root-p'rootpass'如果你能找到默认的config.inc.php文件,你就可以使用它。我在终端中收到这个错误:错误1045 28000:用户'root'@'localhost'使用密码被拒绝访问:YESThanks,但我喜欢phpMyAdmin。我只需要恢复访问。如果phpMyAdmin是唯一损坏的东西,那么只需重新安装它。我不确定phpMyAdmin作为一个整体是否损坏。这可能只是config.inc.php文件的问题。昨天一切正常,已经好几个月了。我不想重复安装软件,因为这就像用大锤插入图钉一样。另外,它可能会导致意外的数据丢失。phpMyAdmin只是一个管理套件。您可以从命令行访问MySQL服务器吗?您的MySQL服务器是在套接字上侦听还是在IP上侦听?mysql-u root-p'rootpass'如果你能找到默认的config.inc.php文件,你就可以使用它。我在终端中收到这个错误:错误1045 28000:用户'root'@'localhost'使用密码被拒绝访问:是的,我继续更改config.inc.php中的各种设置,但运气不佳。但我注意到,此错误消息指示的目录中没有mysql.sock文件:2002-无法通过socket'/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock'2连接到本地mysql服务器。服务器没有响应或本地服务器的socket配置不正确。StackOverflow.com上的其他人报告了类似的问题,但没有人给出答案:如果我试图通过XAMPP控件关闭MySQL并等待足够长的时间,我会收到以下错误消息:关闭MySQL。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。错误在terminal/applications/xampp/xamppfiles/bin/mysqladmin版本中,我收到错误:“无法通过套接字连接到本地MySQL服务器”/applications/xampp/xamppfiles/var/MySQL/MySQL.sock“2”检查mysqld是否正在运行,以及套接字是否存在:“/applications/xampp/xamppfiles/var/MySQL/MySQL.sock”!同时,localhost/phpmyadmin将我带到屏幕上,显示我的所有数据库和表。在重新启动计算机之前,它进入了登录屏幕。现在它跳过了,即使我什么也没改变。但是phpMyAdmin本身并没有连接到数据库或表。我一直在config.inc.php中更改各种设置,但运气不好。但我注意到,此错误消息指示的目录中没有mysql.sock文件:2002-无法通过socket'/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock'2连接到本地mysql服务器。服务器没有响应或本地服务器的socket配置不正确。StackOverflow.com上的其他人报告了类似的问题,但没有人给出答案:如果我试图通过XAMPP控件关闭MySQL并等待足够长的时间,我会收到以下错误消息:关闭MySQL。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。错误在terminal/applications/xampp/xamppfiles/bin/mysqladmin版本中,我收到错误:“无法通过套接字连接到本地MySQL服务器”/applications/xampp/xamppfiles/var/MySQL/MySQL.sock“2”检查mysqld是否正在运行,以及套接字是否存在:“/applications/xampp/xamppfiles/var/MySQL/MySQL.sock”! 同时,localhost/phpmyadmin将我带到屏幕上,显示我的所有数据库和表。在重新启动计算机之前,它进入了登录屏幕。现在它跳过了,即使我什么也没改变。但是phpMyAdmin不连接到数据库或表本身。