URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 53215
[ Назад ]

Исходное сообщение
"MySQL: connection localhost via TCP/IP"

Отправлено Yupi , 08-Фев-05 09:25 
Захожу в консоль mysql набираю команду status; она показывает следующее:
mysql> status;
--------------
mysql  Ver 11.18 Distrib 3.23.58, for portbld-freebsd5.3 (i386)

Connection id:          2
Current database:
Current user:           root@localhost
Current pager:          stdout
Using outfile:          ''
Server version:         3.23.58
Protocol version:       10
Connection:             Localhost via UNIX socket
Client characterset:    latin1
Server characterset:    latin1
UNIX socket:            /tmp/mysql.sock
Uptime:                 17 hours 22 min 1 sec

Threads: 1  Questions: 4  Slow queries: 0  Opens: 6  Flush tables: 1  Open tables: 0 Queries per second avg: 0.000
--------------

А как сделать чтобы
Connection:             localhost via TCP/IP

соединения шли через TCP/IP ???


Содержание

Сообщения в этом обсуждении
"MySQL: connection localhost via TCP/IP"
Отправлено jonatan , 08-Фев-05 11:11 
mysql -h 127.0.0.1 -p

"MySQL: connection localhost via TCP/IP"
Отправлено Yupi , 08-Фев-05 11:15 
>mysql -h 127.0.0.1 -p

Ну и что это?
Мне нужно чтобы mysqld запускался при старте системы уже НЕ С unix socketm а TCP/ip


"MySQL: connection localhost via TCP/IP"
Отправлено jonatan , 08-Фев-05 11:45 
Какой вопрос, такой и ответ. Так утилита mysql подключается к mysqld не через сокет, а через TCP/IP. А если тебя интересует, чтобы mysqld "висел" на TCP/IP, то в my.cnf закоментировать строку
skip-networking
и перезапустить mysqld.

"MySQL: connection localhost via TCP/IP"
Отправлено Yupi , 08-Фев-05 13:16 
>Какой вопрос, такой и ответ. Так утилита mysql подключается к mysqld не
>через сокет, а через TCP/IP. А если тебя интересует, чтобы mysqld
>"висел" на TCP/IP, то в my.cnf закоментировать строку
>skip-networking
>и перезапустить mysqld.

Извините, но я переписал из /usr/local/share/mysql/ пример конфига my-small.cnf, положил его в /etc под именем my.cnf, но после перезапуска mysqld все равно выдает в выводе запроса status; что он запущен на UNIX socket. де копать?


"MySQL: connection localhost via TCP/IP"
Отправлено Yupi , 08-Фев-05 13:19 
>>Какой вопрос, такой и ответ. Так утилита mysql подключается к mysqld не
>>через сокет, а через TCP/IP. А если тебя интересует, чтобы mysqld
>>"висел" на TCP/IP, то в my.cnf закоментировать строку
>>skip-networking
>>и перезапустить mysqld.
>
>Извините, но я переписал из /usr/local/share/mysql/ пример конфига my-small.cnf, положил его в
>/etc под именем my.cnf, но после перезапуска mysqld все равно выдает
>в выводе запроса status; что он запущен на UNIX socket. де
>копать?
Забыл написать, что опция skip-networking там закоментирована


"MySQL: connection localhost via TCP/IP"
Отправлено jonatan , 08-Фев-05 13:22 
netstat -ltnu

...
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN
...

Есть такое?


"MySQL: connection localhost via TCP/IP"
Отправлено Yupi , 08-Фев-05 13:27 
>netstat -ltnu
>
>...
>tcp        0    
>  0 0.0.0.0:3306        
>    0.0.0.0:*      
>        LISTEN
>...
>
>Есть такое?

Такого нету,

зато если сказать sockstat есть такое
mysql    mysqld     29316 3  tcp4   *:3306                *:*
mysql    mysqld     29316 4  stream /tmp/mysql.sock

сразу оговорюсь - система freebsd5.3, mysql 4.1.5


"MySQL: connection localhost via TCP/IP"
Отправлено Xela , 08-Фев-05 13:31 
>сразу оговорюсь - система freebsd5.3, mysql 4.1.5

клиентская бибилиотека MySQL себя так ведет. Если подключаешься и указываешь в качестве носта localhost, то поддключение происходит через UNIX socket.


> mysql    mysqld     29316 3  tcp4   *:3306                *:*
Эта строка означает что он слушает. То есть, если при подключении указать в качеставе хоста настоящий IP адрес твоей машины --- получишь желаемое.


"MySQL: connection localhost via TCP/IP"
Отправлено Yupi , 08-Фев-05 13:41 
>>сразу оговорюсь - система freebsd5.3, mysql 4.1.5
>
>клиентская бибилиотека MySQL себя так ведет. Если подключаешься и указываешь в качестве
>носта localhost, то поддключение происходит через UNIX socket.
>
>
>> mysql    mysqld     29316 3  tcp4   *:3306                *:*
>Эта строка означает что он слушает. То есть, если при подключении указать
>в качеставе хоста настоящий IP адрес твоей машины --- получишь желаемое.
>


Проблема собственно выросла из того что есть машина виндовая и на ней стоит mysql, так там клиент mysql выдает именно что то через сокет TCP.

а если еще дальше смотреть то проблема в opencms - этой системе требуется mysql, так на виндовой она поставилась, а на freebsd пишет что не может подсоедениться к mysql. Вот я и подумал что дело может быть в том, что mysqld не висит на tcp сокете... хм...


"MySQL: connection localhost via TCP/IP"
Отправлено lavr , 08-Фев-05 14:37 
>>>сразу оговорюсь - система freebsd5.3, mysql 4.1.5
>>
>>клиентская бибилиотека MySQL себя так ведет. Если подключаешься и указываешь в качестве
>>носта localhost, то поддключение происходит через UNIX socket.
>>
>>
>>> mysql    mysqld     29316 3  tcp4   *:3306                *:*
>>Эта строка означает что он слушает. То есть, если при подключении указать
>>в качеставе хоста настоящий IP адрес твоей машины --- получишь желаемое.
>>
>
>
>Проблема собственно выросла из того что есть машина виндовая и на ней
>стоит mysql, так там клиент mysql выдает именно что то через
>сокет TCP.
>
>а если еще дальше смотреть то проблема в opencms - этой системе
>требуется mysql, так на виндовой она поставилась, а на freebsd пишет
>что не может подсоедениться к mysql. Вот я и подумал что
>дело может быть в том, что mysqld не висит на tcp
>сокете... хм...


проблема выросла из отсутствия элементарных знаний TCP/IP и технологии
клиент <-> сервер

это ж какую ахинею вы тут дружно вынесли на всеобщее оборзение, один
хоть более менее понимал что делает.

- мне нужно не через сокет, а через tcp/ip (хинт)


"MySQL: connection localhost via TCP/IP"
Отправлено jonatan , 08-Фев-05 14:48 
Лично я прекрасно понял, что под сокетом человек имел ввиду UNIX sockets, а под TCP/IP - протокол TCP/IP, в котором тоже есть понятие сокетов. Да, наверное не совсем грамотно выражаемся. С удовольствием выслушую мнение профессионала.

"MySQL: connection localhost via TCP/IP"
Отправлено lavr , 08-Фев-05 14:57 
>Лично я прекрасно понял, что под сокетом человек имел ввиду UNIX sockets,
>а под TCP/IP - протокол TCP/IP, в котором тоже есть понятие
>сокетов. Да, наверное не совсем грамотно выражаемся. С удовольствием выслушую мнение
>профессионала.

sorry, вопросов нет.

PS. Чем дальше, тем больше вопросов на которые НЕ ПОНЯТНО как отвечать кроме
как отсылать к теории: одному нужен форум без CGI... , другому TCP/IP без сокетов :)))


"MySQL: connection localhost via TCP/IP"
Отправлено Xela , 08-Фев-05 21:48 
>проблема выросла из отсутствия элементарных знаний TCP/IP и технологии
>клиент <-> сервер
>это ж какую ахинею вы тут дружно вынесли на всеобщее оборзение, один

Не знаю о чем ты, но клиентские библиотеки MySQL устроены таким образом, что передавая функции connect бибилиотеке MySQL параметр host = localhost она(библиотека) осуществляет соединение с сервером посредством UNIX сокета, а не TCP сокета.

Проверено на:
sinitsa /home/sinitsa % uname -a
FreeBSD 4.10-RELEASE-p2 FreeBSD 4.10-RELEASE-p2 #0: Mon Aug 16 11:00:30 GMT 2004     root@alex.sintisyn.ru:/usr/src/sys/compile/SINITSYN  i386
sinitsa /home/sinitsa % pkg_info|grep mysql
mysql-client-4.0.20 Multithreaded SQL database (client)
mysql-server-4.0.20 Multithreaded SQL database (server)


"MySQL: connection localhost via TCP/IP"
Отправлено jonatan , 08-Фев-05 13:33 
Все нормально. Тогда как я и говорил:
mysql -h 127.0.0.1 -p
подключится через TCP/IP, а не сокет.