Задавайте вопросы, мы ответим
Вы не зашли.
День добрый.
Я начинающий.
На 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. Не поделитесь примерчиком ?
Заранее спасибо.
Неактивен
А больше ничего не говорит? Обычно оно может сказать что-то типа
«This client is not allowed to connect to this server» — и тогда понятно,
как это лечить Возможно, эти слова затирает клиент виндоус,
попробуйте установить все-таки ошибку как-то. Опять же, возможно
это брэндмауер виндоус.
Конфиг во FreeBSD может лежать где угодно — эта система не обладает
понятием «нормального места для конфигов». Если бы ставили из портов —
можно было бы ожидать что-нибудь типа /usr/local/etc.
--
P.S. Возможно, я несколько предвзято отношусь к FreeBSD, но у меня есть
только негативный опыт работы с ней, который в основном затрагивает MySQL.
FreeBSD отвратительно готовит MySQL в портах, а библиотека тредов в ней
хромает настолько, что просто удивительно, что система работает вообще
P.P.S. Попробуйте таки установить ошибку, скорее всего, Вам просто нужно
подключиться к серверу и дать прав на доступ:
GRANT ALL ON *.* TO user@'%' IDENTIFIED BY 'password';
Неактивен
paulus написал:
А больше ничего не говорит? Обычно оно может сказать что-то типа
«This client is not allowed to connect to this server» — и тогда понятно,
как это лечить Возможно, эти слова затирает клиент виндоус,
попробуйте установить все-таки ошибку как-то. Опять же, возможно
это брэндмауер виндоус.
Сори что так долго не отвечел, не имел возможности.
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
Только вот не могу понять к чему бы это и для чего ?
Неактивен
kharkov_max написал:
1. С фаерволом все в порядке т.е. на сервер Freebsd доступ есть и фаер ничего не рубит т.к. выключен )).
Виндовый клиент пишет так:
«This Host "IP host" is not allowed to connect to this server»
Ошибка означает, что нет прав подключения с данного хоста. Как уже рекомендовалось ранее необходимо выполнить
Неактивен
Спасибо, заработало.
Неактивен
Продолжаем....
Уже немного поднатарел в 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х сетевых карт.
Заранее спасибо.
Неактивен
Правильный ответ — никак. Это связано с тем, что один socket можно привязать
только к одному адресу.
В качестве альтернативного решения могу предложить два:
1. Слушать только lan, а 127.0.0.1 перенаправить через NAT.
2. Слушать только lan. Локальные соединения должны устанавливаться
через unix socket в любом случае.
Второй предпочтительнее
Неактивен
paulus написал:
Правильный ответ — никак. Это связано с тем, что один socket можно привязать
только к одному адресу.
В качестве альтернативного решения могу предложить два:
1. Слушать только lan, а 127.0.0.1 перенаправить через NAT.
2. Слушать только lan. Локальные соединения должны устанавливаться
через unix socket в любом случае.
Второй предпочтительнее
Спасибо за ответ, но !!!
Почему меня так интересовал этот вопрос, т.к. в одной из версий mysql сервера для того что б открыть на 2х из 3х сетевых достаточно было прописать 2 раза в конфиге bind-address. т.е.
bind-address 127.0.0.1
bind-address 192.168.0.1
А внешний адрес оставался незадействованным.
И так реально работало, сейчас уже не помню на какой версии.
Раз Вы утверждаете что так сделать нельзя - тогда это был БАГ.
Еще раз спасибо, будем через NAT делать.
Неактивен
Странно, мне казалось, что из двух bind-address выбирается последний.
Неактивен
paulus написал:
Странно, мне казалось, что из двух bind-address выбирается последний.
bind-address 0.0.0.0
По идее открывает доступ по всем IP, вот и вопрос а как быть 2 из 3х ?
)))))
Неактивен
paulus написал:
Странно, мне казалось, что из двух bind-address выбирается последний.
На последних вепсиях, да ... Вы правы, берется последний.
Неактивен