2010-09-13 2 views
1

пытаюсь установить 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 я создал корень пользователя с паролем 123, так что я могу войти с:

mysql -h localhost -u root -p123 

вы можете помочь м e где проблема?

+0

Является ли '-p123' только копией и вставкой опечатки? Должно быть '-p 123' – DrColossos

+0

@DrColossos нет, это на самом деле правильная нотация. '-p 123' не будет работать –

+0

hmm никогда не использовал mysql shell ... это было более очевидным (к сожалению, false :() догадка, но спасибо за исправление. – DrColossos

ответ

1

ОК, я решаю его.

В конфигурационном файле я просто изменил 'localhost' на '127.0.0.1', и он начал работать.

tnx anw!

+0

* doh * - Не было никаких ответов «было добавлено», пока я редактировал мой. Но да, это либо (localhost & socket), либо (127.0.0.1 & tcp) по причине, указанной выше. :) – conny

3

mysql -h localhost фактически подключается через unix socket вместо TCP-соединения с 127.0.0.1. Явно указывая mysql -h 127.0.0.1, с другой стороны, делает с использованием метода TCP.

Так что вы тестируете локальное подключение сокетов, а не сетевое. Убедитесь, что phpMyAdmin использует тот же метод; линия

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

, вероятно, следует прочитать

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

Ваш туздЫ, вероятно, имеет либо networking disabled или пользовательские разрешения, отрицающие корневой/123 доступа из сети.

С -h localhost в вашем примере вы фактически подключаетесь через именованный сокет. Вы можете убедиться сами - из типа клиента mysql «\ s»:

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

это возможно, потому что я chroot-ed мой сервер. я также проверю это. – user198003

Смежные вопросы