SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 12.09.2009 11:37:16

kharkov_max
Завсегдатай
Зарегистрирован: 12.09.2009
Сообщений: 62

Помогите новичку подключить консоль к серверу MySql

День добрый.

Я начинающий.
На Freebsd 7.2 установил сервер mysql 5.4
Дал права root и запустил сам сервер.
Под root на freebsd захожу на сервер без проблем.

Теперь хочу настроить подключение к mysql (freebsd) с компа с Windows.
Для этого скачал утилиту mysql-gui-tools-5.0-r17-win32.
При попытке подключится  к серверу утилита говорит что нет подключения.
telnet с виндовой машины на 3306 говорит что подключение установлено и сразу что подключение утеряно.

На сколько я понимаю для MySql сервера на freebsd должен быть какой то конфиг, которы опишет кому и как можно подключаться.
Т.е. на каком порту сервер будет ждать подключения.

Вопрос:
1. Где лежит этот конфиг?
2. Не поделитесь примерчиком ?

Заранее спасибо.

Неактивен

 

#2 16.09.2009 00:32:05

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Помогите новичку подключить консоль к серверу MySql

А больше ничего не говорит? Обычно оно может сказать что-то типа
«This client is not allowed to connect to this server» — и тогда понятно,
как это лечить smile Возможно, эти слова затирает клиент виндоус,
попробуйте установить все-таки ошибку как-то. Опять же, возможно
это брэндмауер виндоус.

Конфиг во FreeBSD может лежать где угодно — эта система не обладает
понятием «нормального места для конфигов». Если бы ставили из портов —
можно было бы ожидать что-нибудь типа /usr/local/etc.

--

P.S. Возможно, я несколько предвзято отношусь к FreeBSD, но у меня есть
только негативный опыт работы с ней, который в основном затрагивает MySQL.
FreeBSD отвратительно готовит MySQL в портах, а библиотека тредов в ней
хромает настолько, что просто удивительно, что система работает вообще sad

P.P.S. Попробуйте таки установить ошибку, скорее всего, Вам просто нужно
подключиться к серверу и дать прав на доступ:
GRANT ALL ON *.* TO user@'%' IDENTIFIED BY 'password';

Неактивен

 

#3 19.09.2009 08:08:54

kharkov_max
Завсегдатай
Зарегистрирован: 12.09.2009
Сообщений: 62

Re: Помогите новичку подключить консоль к серверу MySql

paulus написал:

А больше ничего не говорит? Обычно оно может сказать что-то типа
«This client is not allowed to connect to this server» — и тогда понятно,
как это лечить smile Возможно, эти слова затирает клиент виндоус,
попробуйте установить все-таки ошибку как-то. Опять же, возможно
это брэндмауер виндоус.

Сори что так долго не отвечел, не имел возможности.

1. С фаерволом все в порядке т.е. на сервер Freebsd доступ есть и фаер ничего не рубит т.к. выключен )).
Виндовый клиент пишет так:
«This Host "IP host" is not allowed to connect to this server»
2. Где лежат примеры конфигов нашел. На сколько я понял погуглив их можно кинуть в 3 места
    - /etc/my.conf  глобально для всех серверов
    - /usr/home/user dir/my.conf  для пользователей
    - /usr/local/etc/my.conf

Попробовал кинуть в /etc/my.conf , для начала взял минимальный конфиг.

Код:

# Example MySQL config file for small systems.
#
# This is for a system with little memory (<= 64M) where MySQL is only used
# from time to time and it's important that the mysqld daemon
# doesn't use much resources.
#
# You can copy this file to
# /etc/my.cnf to set global options,
# mysql-data-dir/my.cnf to set server-specific options (in this
# installation this directory is /var/db/mysql) or
# ~/.my.cnf to set user-specific options.
#
# In this file, you can use all long options that a program supports.
# If you want to know which options a program supports, run the program
# with the "--help" option.

# The following options will be passed to all MySQL clients
[client]
#password    = your_password
port        = 3306
socket        = /tmp/mysql.sock

# Here follows entries for some specific programs

# The MySQL server
[mysqld]
port        = 3306
socket        = /tmp/mysql.sock
skip-locking
key_buffer = 16K
max_allowed_packet = 1M
table_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 128K

# Don't listen on a TCP/IP port at all. This can be a security enhancement,
# if all processes that need to connect to mysqld run on the same host.
# All interaction with mysqld must be made via Unix sockets or named pipes.
# Note that using this option without enabling named pipes on Windows
# (using the "enable-named-pipe" option) will render mysqld useless!
# 
#skip-networking
server-id    = 1

# Uncomment the following if you want to log updates
#log-bin=mysql-bin

# binary logging format - mixed recommended
#binlog_format=mixed

# Uncomment the following if you are using InnoDB tables
#innodb_data_home_dir = /var/db/mysql/
#innodb_data_file_path = ibdata1:10M:autoextend
#innodb_log_group_home_dir = /var/db/mysql/
#innodb_log_arch_dir = /var/db/mysql/
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
#innodb_buffer_pool_size = 16M
#innodb_additional_mem_pool_size = 2M
# Set .._log_file_size to 25 % of buffer pool size
#innodb_log_file_size = 5M
#innodb_log_buffer_size = 8M
#innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates

[isamchk]
key_buffer = 8M
sort_buffer_size = 8M

[myisamchk]
key_buffer = 8M
sort_buffer_size = 8M

[mysqlhotcopy]
interactive-timeout

Попробовал подключится не помогло...
Наверняка должна быть опция указывающая на каком IP и порту слушать MYSQL подключения клиентов.
Порылся в более полных конфигах и ничего похожего не нашел.
В данном конфиге есть вот такой код:

Код:

# Don't listen on a TCP/IP port at all. This can be a security enhancement,
# if all processes that need to connect to mysqld run on the same host.
# All interaction with mysqld must be made via Unix sockets or named pipes.
# Note that using this option without enabling named pipes on Windows
# (using the "enable-named-pipe" option) will render mysqld useless!
# 
#skip-networking
server-id    = 1

Только вот не могу понять к чему бы это и для чего ?

Неактивен

 

#4 20.09.2009 08:23:09

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Помогите новичку подключить консоль к серверу MySql

kharkov_max написал:

1. С фаерволом все в порядке т.е. на сервер Freebsd доступ есть и фаер ничего не рубит т.к. выключен )).
Виндовый клиент пишет так:
«This Host "IP host" is not allowed to connect to this server»

Ошибка означает, что нет прав подключения с данного хоста. Как уже рекомендовалось ранее необходимо выполнить


GRANT ALL ON *.* TO user@'%' IDENTIFIED BY 'password';

Неактивен

 

#5 22.09.2009 12:45:43

kharkov_max
Завсегдатай
Зарегистрирован: 12.09.2009
Сообщений: 62

Re: Помогите новичку подключить консоль к серверу MySql

Спасибо, заработало.

Неактивен

 

#6 04.02.2011 12:18:58

kharkov_max
Завсегдатай
Зарегистрирован: 12.09.2009
Сообщений: 62

Re: Помогите новичку подключить консоль к серверу MySql

Продолжаем....

Уже немного поднатарел в MYSQL.
Установил mysql 5.5.8, но ни как не могу посадить сервер только на 2 сетевых интерфейса.
В сервере 2 сетевый карты, одна смотрит в мир, другая в локалку.
Хочу средствами mysql заставить работать сервер только на внутренней сети и на 127.0.0.1, не выставляя порт в мир.

Опция bind-address работает только для одного сетевого адреса.
Можно конечно стартануть на 0.0.0.0 и внешний адрес закрыть фаерволом, но как по мне это кривое решение.

Вопрос: Как запустить mysql-server-5.5.8 на 2х из 3х сетевых карт.

Заранее спасибо.

Неактивен

 

#7 04.02.2011 18:38:13

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Помогите новичку подключить консоль к серверу MySql

Правильный ответ — никак. Это связано с тем, что один socket можно привязать
только к одному адресу.

В качестве альтернативного решения могу предложить два:
1. Слушать только lan, а 127.0.0.1 перенаправить через NAT.
2. Слушать только lan. Локальные соединения должны устанавливаться
   через unix socket в любом случае.

Второй предпочтительнее wink

Неактивен

 

#8 04.02.2011 18:46:59

kharkov_max
Завсегдатай
Зарегистрирован: 12.09.2009
Сообщений: 62

Re: Помогите новичку подключить консоль к серверу MySql

paulus написал:

Правильный ответ — никак. Это связано с тем, что один socket можно привязать
только к одному адресу.

В качестве альтернативного решения могу предложить два:
1. Слушать только lan, а 127.0.0.1 перенаправить через NAT.
2. Слушать только lan. Локальные соединения должны устанавливаться
   через unix socket в любом случае.

Второй предпочтительнее wink

Спасибо за ответ, но !!!
Почему меня так интересовал этот вопрос, т.к. в одной из версий mysql сервера для того что б открыть на 2х из 3х сетевых достаточно было прописать 2 раза в конфиге bind-address. т.е.
bind-address 127.0.0.1
bind-address 192.168.0.1

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

Раз Вы утверждаете что так сделать нельзя - тогда это был БАГ.

Еще раз спасибо, будем через NAT делать.

Неактивен

 

#9 04.02.2011 19:37:22

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Помогите новичку подключить консоль к серверу MySql

Странно, мне казалось, что из двух bind-address выбирается последний.

Неактивен

 

#10 04.02.2011 23:07:16

kharkov_max
Завсегдатай
Зарегистрирован: 12.09.2009
Сообщений: 62

Re: Помогите новичку подключить консоль к серверу MySql

paulus написал:

Странно, мне казалось, что из двух bind-address выбирается последний.

bind-address 0.0.0.0

По идее открывает доступ по всем IP, вот и вопрос а как быть 2 из 3х ?
)))))

Неактивен

 

#11 04.02.2011 23:17:34

kharkov_max
Завсегдатай
Зарегистрирован: 12.09.2009
Сообщений: 62

Re: Помогите новичку подключить консоль к серверу MySql

paulus написал:

Странно, мне казалось, что из двух bind-address выбирается последний.

На последних вепсиях, да ... Вы правы, берется последний.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson