mysql - phpMyAdmin - 下一个配置有什么问题?

标签 mysql phpmyadmin

尝试在我的 Fedora 服务器上安装 phpMyAdmin,但是如果我在浏览器中打开它,我会收到下一个错误:

2002 无法登录MySQL服务器

文件config.inc.php 有下一个内容:

<?php

/* Servers configuration */
$i = 0;

/* Server: localhost [1] */
$i++;
$cfg['Servers'][$i]['verbose'] = '';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['port'] = '';
$cfg['Servers'][$i]['socket'] = '';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '123';


/* End of servers configuration */

$cfg['blowfish_secret'] = '4c45c50fe8b283.01675296';
$cfg['DefaultLang'] = 'en-utf-8';
$cfg['ServerDefault'] = 1;
$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';
?>

补充一下,我在 mysql 中创建了用户 root,密码为 123,所以我可以登录:

mysql -h localhost -u root -p123

你能帮我看看哪里出了问题吗?

最佳答案

mysql -h localhost 实际上是通过 unix socket 连接的而不是到 127.0.0.1 的 TCP 连接。另一方面,显式指定 mysql -h 127.0.0.1 确实使用 TCP 方法。

所以您正在测试的是本地套接字连接,而不是网络套接字连接。确保 phpMyAdmin 使用相同的方法;线路

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

可能应该阅读

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

你的 mysqld 可能有 networking disabled或拒绝从网络进行 root/123 访问的用户权限。

在您的示例中使用 -h localhost 您实际上是通过命名套接字进行连接。你可以自己看看 - 从 mysql 客户端类型“\s”:

mysql> \s
--------------
(....)
Connection:     Localhost via UNIX socket

关于mysql - phpMyAdmin - 下一个配置有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3698981/

相关文章:

php - 如何使用 mysql 并更新 autonum 字段在现有行之间插入新行

mysql - phpmyadmin 在创建存储过程时卡住

php - 从 PHP 错误执行 MySQL 查询

php - Laravel 4.2 Eloquent 仅返回 1MB 数据

phpMyAdmin 处理请求时出错 错误代码 : 500 Error text: Internal Server Error

mysql - 如何在MySQL和phpMyAdmin的两个不同数据库中定义外键

php - 使用php的Mysql事件错误

c# - MySQL 存储过程 CRUD

php - 使用非键列从sql表中查询数据

mysql - 重命名Windows服务器是否会影响该服务器上运行的mysql实例