1 (изменено: exec, 2011-01-24 14:20:33)

Тема: [решено] подсключение к mysql

phpmyadmin и mysql стоят на разныйх компах
пытаюсь подключиться

#2002 - Сервер не отвечает (либо сокет локального MySQL-сервера некорректно настроен) 

ос freebsd
/usr/local/www/apache22/data/main/phpmyadmin/config.inc.php

?php
$cfg['blowfish_secret']= '***';
$i=0;
$i++;
$cfg['Servers'][$i]['host']          = '{192.168.1.204}';
$cfg['Servers'][$i]['port']          = '64000';
$cfg['Servers'][$i]['socket']        = '';
$cfg['Servers'][$i]['connect_type']  = 'tcp';
$cfg['Servers'][$i]['extension']     = 'mysql';
$cfg['Servers'][$i]['compress']      = FALSE;
$cfg['Servers'][$i]['auth_type']     = 'config';
$cfg['Servers'][$i]['user']          = '{root}';
$cfg['Servers'][$i]['password']      = '{***}';
?>

подскажите как победить?

2

Re: [решено] подсключение к mysql

Проверьте настройки MySQL на удаленном сервере. Обычно доступ извне у MySQL закрыт, и уж точно он будет закрыт для пользователя root. Попробуйте в привилегиях разрешить пользователю root доступ извне. Для доступа под root с любого адреса, вместо root@localhost следует сделать root@%.

3

Re: [решено] подсключение к mysql

если честно, не знаю как это сделать... ос freebsd
или ссылочку на статейку можете дать, а то я даже не знаю как вопрос гуглю задать.

4

Re: [решено] подсключение к mysql

Если на удаленном сервере стоит phpMyAdmin, то с него можно поправить привилегии, либо через консоль удаленного сервера. Необходимо создать пользователя root@% и назначить ему полные привилегии.

Запросы будут выглядеть так:

CREATE USER 'test'@'%' IDENTIFIED BY PASSWORD 'password';
GRANT ALL ON *.* TO 'root'@'%';

В консольную оболочку MySQL можно войти так (-u и -p - это ключи):

mysql -uroot -ppassword

5

Re: [решено] подсключение к mysql

в консольную оболочку сервера вошел.
а вот что значат команды:
CREATE USER 'test'@'%' IDENTIFIED BY PASSWORD 'password';
GRANT ALL ON *.* TO 'root'@'%';
можите прокоментировать?
хочется хоть чуток понять, а не просто тупо скопировать

6 (изменено: exec, 2011-01-21 17:15:45)

Re: [решено] подсключение к mysql

правильно я понимаю что первой строчком мы создаем пользователя для подключения отовсюду...
а второй мы уже имеющимуся пользователю рут разрешаем подключаться отовсюду.

а как будет разрешить руту только с 192.168.1.5 ? или так нельзя
а если у 192.168.1.5 есть dns имя скажем "ap"

7

Re: [решено] подсключение к mysql

В запросе выше был пользователь test - это я ошибся, вам нужен root.

Создать пользователя root, которому разрешен доступ с любого хоста (для этого подстановочный символ %); password - это пароль. http://dev.mysql.com/doc/refman/5.1/en/create-user.html

CREATE USER 'root'@'%' IDENTIFIED BY PASSWORD 'password';

Этот запрос устанавливает привилегии. *.* - означает доступ ко всем базам данных для пользователя root@%. http://dev.mysql.com/doc/refman/5.1/en/grant.html

GRANT ALL ON *.* TO 'root'@'%';

Эти SQL запросы необходимо выполнить в консоли mysql.

8

Re: [решено] подсключение к mysql

exec сказал:

правильно я понимаю что первой строчком мы создаем пользователя для подключения отовсюду...
а второй мы уже имеющимуся пользователю рут разрешаем подключаться отовсюду.

Первой строчкой создаем пользователя, второй задаем привилегии разрешая доступ ко всем базам данных и разрешая все виды операций над MySQL.

exec сказал:

а как будет разрешить руту только с 192.168.1.5 ? или так нельзя

Так можно и даже очень рекомендуется по причинам безопасности.

CREATE USER 'root'@'192.168.1.5' IDENTIFIED BY PASSWORD 'password';
GRANT ALL ON *.* TO 'root'@'192.168.1.5';
exec сказал:

а если у 192.168.1.5 есть dns имя скажем "ap"

Все то же самое: root@ap

9

Re: [решено] подсключение к mysql

я так понимаю что пользователи
root@ap  и root@192.168.1.5 разные.
в настройка phpmyadmin есть
$cfg['Servers'][$i]['user']          = '{root}';
а это какой из этих двух пользователей будет... извините за глупые вопросы..

10 (изменено: exec, 2011-01-21 17:57:04)

Re: [решено] подсключение к mysql

CREATE USER 'root'@'192.168.1.5' IDENTIFIED BY PASSWORD '123456';
ERROR 1372 (HY000): Password hash should be a 41-digit hexadecimal number
о как? почему? hash в шеснадцатиричном виде???? у меня его нету...

CREATE USER 'root'@'192.168.1.5' IDENTIFIED BY PASSWORD ('123456');
тоже ни как

11

Re: [решено] подсключение к mysql

exec сказал:

а это какой из этих двух пользователей будет

Не знаю. Если хотите, можете проверить. Документация здесь: http://dev.mysql.com/doc/refman/5.1/en/ … names.html

Хеш делается функцией PASSWORD().

exec сказал:

CREATE USER 'root'@'192.168.1.5' IDENTIFIED BY PASSWORD PASSWORD('123456');

12 (изменено: exec, 2011-01-24 10:33:55)

Re: [решено] подсключение к mysql

сделал так CREATE USER 'root'@'192.168.1.5' IDENTIFIED BY '123456';
ошибка та же..

пробовал подключиться так:
www# mysql -P 64000 -h 192.168.1.4 -u root -p ****
Enter password:
ERROR 1044 (42000): Access denied for user 'root'@'192.168.1.5' to database '*****'

получается можно открыть доступ только к определенной базе?
а возможно как то сделать доступ ко всем базам, как у локального пользователя root ?

13

Re: [решено] подсключение к mysql

exec сказал:

а возможно как то сделать доступ ко всем базам, как у локального пользователя root ?

Второй запрос GRANT устанавливает привилегии. CREATE USER только создает пользователя.

Так устанавливаются полные привилегии:

GRANT ALL ON *.* TO 'root'@'192.168.1.5';

14 (изменено: exec, 2011-01-24 14:18:57)

Re: [решено] подсключение к mysql

mysql -P64000 -h192.168.1.4 -uroot -p****
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 17
Server version: 5.5.8 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

подключиться удалось... а вот через phpmyadmin не конектится...

#2002 - Сервер не отвечает (либо сокет локального MySQL-сервера некорректно настроен) 

ос freebsd
/usr/local/www/apache22/data/main/phpmyadmin/config.inc.php

?php
$i=0;
$i++;
$cfg['Servers'][$i]['host']          = '{192.168.1.4}';
$cfg['Servers'][$i]['port']          = '64000';
$cfg['Servers'][$i]['socket']        = '';
$cfg['Servers'][$i]['connect_type']  = 'tcp';
$cfg['Servers'][$i]['extension']     = 'mysql';
$cfg['Servers'][$i]['compress']      = FALSE;
$cfg['Servers'][$i]['auth_type']     = 'config';
$cfg['Servers'][$i]['user']          = '{root}';
$cfg['Servers'][$i]['password']      = '{***}';
?>

15 (изменено: DmitryV, 2011-01-24 14:02:30)

Re: [решено] подсключение к mysql

mysql -P64000 -h192.168.1.4 -uroot -p****

<?php
$i=0;
$i++;
$cfg['Servers'][$i]['host']          = '{192.168.1.204}';
$cfg['Servers'][$i]['port']          = '64000';
$cfg['Servers'][$i]['socket']        = '';
$cfg['Servers'][$i]['connect_type']  = 'tcp';
$cfg['Servers'][$i]['extension']     = 'mysql';
$cfg['Servers'][$i]['compress']      = FALSE;
$cfg['Servers'][$i]['auth_type']     = 'config';
$cfg['Servers'][$i]['user']          = '{root}';
$cfg['Servers'][$i]['password']      = '{***}';
?>

IP хоста у вас разный и уберите  с настроек  символы { }