0

只是作为序言,我查看了phpMyAdmin无法连接到数据库的不同线程,我发现没有一个具有特定情况或我使用过的实用程序;我在这里找到的故障排除程序都是我尝试过的,但没有任何效果。

所以,要进入问题的实质,这就是我要做的事情。

我有一个OpenBSD服务器,版本5.6(目前是最新的稳定版),并且在这台机器上安装了mysql-servermysql-clientphpMyAdmin 。自从我丢失了最后一个数据库以来,我一直在那里使用数据库进行一些先前的工作,因此我使用适当的实用程序从头开始擦除并重新安装了整个数据库系统。

创建数据库后,我添加了诸如'root'@'localhost''root'@'connectionip'之类的帐户(连接可能来自另一台机器的 IP 地址,尽管我相信 localhost 是唯一相关的一个作为连接的 php 来自那台机器)和'root'@'connectiondns',都使用相同的密码。

为了简化事情,我尝试通过配置文件使用我的简单且不安全的密码启用授权,其中密码和帐户都已定义。 '#2002 - Can't connect to local MySQL server through socket '/var/run/mysql/mysql.sock' (62) 服务器没有响应(或本地服务器的套接字配置不正确)。是由此产生的错误消息。

这是在验证mysqld_safe服务器以及活动套接字都在运行并就位之后。我什至通过 nginx 来弥补潜在的 chroot 环境,创建 withmkdir -p /var/www/var/run/mysql/以便我可以将 sock 符号链接到该目录。无论如何,我接下来更改为配置级别身份验证...

然后我将身份验证更改为 cookie,并尝试以交互方式登录。此时的错误消息变为:'#2002 Cannot log in to the MySQL server',这是使用正确的密码(我为每个 MySQL 帐户使用的密码,以避免故障排除时的潜在混淆)。在我看来,配置文件定义尝试走得更远,但我有点迷失在这里。

如果有人可以推荐一些故障排除步骤,或者我可以在哪里找到更多详细信息,我将不胜感激。在完全相同的机器上,mysql 的客户端程序与我正在使用的用户名和密码连接得很好,同时向我展示了我需要查看的所有内容。:P

很感谢任何形式的帮助。请随时询问更多详情;我不确定是否应该立即在此处转储配置文件,但我会尽可能多地在这里输入以防万一:

<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
 * phpMyAdmin sample configuration, you can use it as base for
 * manual configuration. For easier setup you can use setup/
 *
 * All directives are explained in documentation in the doc/ folder
 * or at <http://docs.phpmyadmin.net/>.
 *
 * @package PhpMyAdmin
 */

/*
 * This is needed for cookie based authentication to encrypt password in
 * cookie
 */
$cfg['blowfish_secret'] = '7 character hex redacted'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

/*
 * Servers configuration
 */
$i = 0;

/*
 * First server
 */
$i++;
/* Authentication type */
$cfg['Servers'][$i]['user']          = 'root';
$cfg['Servers'][$i]['password']      = 'redacted';
//$cfg['Servers'][$i]['auth_type']     = 'config';
$cfg['Servers'][$i]['auth_type'] = 'cookie';
/* Server parameters */
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = false;

这条线以下的一切都没有改变。有一次,我什至将密码更改为空白并尝试不允许密码。这给了我和以前一样的错误。

4

0 回答 0