登录phpmyadmin,提示“错误#2002……”

之前在解决这个问题时,网上扒了很多方法,有建议修改config.inc.php文件的,也有建议config.default.php文件的;自己在下面看了下发现 config.inc.php和config.default.php 文件内容其实差不大,于是搜索了下它们的区别,如下:

config.default.php是默认配置文件;config.inc.php是用户定义的配置文件,可以覆写config.default.php里的配置。

 

config.inc.php中没有设置的选项将使用config.default.php的配置。

接下来回归正题,我的解决办法:

(1)分析是因为没有连接到数据库导致,于是修改/usr/share/phpmyadmin/config.inc.php文件(也可直接修改/etc/phpmyadmin/config.inc.php)

cd /usr/share/phpmyadmin/

cp config.sample.inc.php config.inc.php

vim config.inc.php

找到变量如下  $cfg['Servers'][$i]['host'] = 'localhost';

修改为如下 $cfg['Servers'][$i]['host'] = '127.0.0.1';

关闭浏览器重新登录,失败!!!

(2)分析是因为unix套接字问题,于是修改/etc/php/7.0/apache2/php.ini文件

找到变量并修改为如下  pdo_mysql.default_socket=/tmp/mysql.sock

重启mysql服务,重新登陆,失败!!!

以下内容引用百度:

  1. 一个MySQL客户可以两种不同的方式连接mysqld服务器: Unix套接字和TCP/IP
  2. Unix套接字,它通过在文件系统中的一个文件(缺省“/tmp/mysqld.sock”)进行连接;
  3. TCP/IP,它通过一个端口号连接。 //Unix套接字比TCP/IP更快,但是只有用在连接同一台计算机上的服务器。如果你不指定主机名或如果你指定特殊的主机名localhost,使用Unix套接字。  
  4. 错误(2002)Can't connect to ...通常意味着没有一个MySQL服务器运行在系统上或当试图连接mysqld服务器时,你正在使用一个错误的套接字文件或TCP/IP端口。  
  5. 由检查(使用ps)在你的服务器上有一个名为mysqld的进程启动!如果没有任何mysqld过程,你应该启动一个。

(3)最终解决办法,修改/etc/phpmyadmin/config.inc.php文件

find / -iname "config.inc.php"

查看到config.inc.php的位置如下:

/usr/share/phpmyadmin/config.inc.php

/usr/share/phpmyadmin/setup/frames/config.inc.php

/var/lib/phpmyadmin/config.inc.php

/etc/phpmyadmin/config.inc.php

修改文件如下:vim /etc/phpmyadmin/config.inc.php

 

然后,重启apache和mysql,重新登陆,成功!!!

 

 

 

 

 

 

 

 

 

 

 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值