|
|
|
| Добрый день.
Есть сервер 192.168.0.1 (linux) c mySQL, мне нужно подключиться к mySQL серверу с компьютера 192.168.0.10. Как я прочел в этом форуме, для этого нужно создать пользователя user@192.168.0.10 на сервере.
Всвязи с этим у меня есть несколько вопросов:
1. Создать пользователя - имеется ввиду учетная запись OC, или пользователя mySQL ?
2. Если учетная запись OC, то как ее создать, если у меня есть root ?
3. Где можно почитать конкретно по этой теме по-русски? | |
|
|
|
|
|
|
|
для: Wyfinger
(27.07.2007 в 04:16)
| | Так, я понял, что пользователь имеется ввиду mySQL.
Прочитал http://www.linuxcenter.ru/lib/articles/soft/mysql.phtml, там написанно запрос:
GRANT ALL PRIVILEGES ON *.* TO myname@192.168.0.10 IDENTIFIED BY ' some_password' WITH GRANT OPTION;
|
создаст пользователя, myname, который может подключаться ко всем таблицам с адреса 192.168.0.10, запрос я выполнил, пользователь создался, но подключаться - не подключается.
Аналогично и с символом '%', т.е. myname@% - удаленно не подключается.
Что я неправильно делаю?
И еще одно, просканировал порты сервера с 3300 до 3400 - нет открытых портов (TCP), возможно где-то запрещено либо в настройках самого mySQL, либо файрволом...
Где могут быть эти настроики?... | |
|
|
|
|
|
|
|
для: Wyfinger
(27.07.2007 в 08:07)
| | Пример сохдания пользователя удаленного доступа, которому разрешена только команда SELECT к таблицам базы some_db
CREATE USER 'myname'@'192.168.0.10' IDENTIFIED BY '*************';
GRANT
SELECT
ON `some_db` . *
TO 'myname'@'192.168.0.10' IDENTIFIED BY '*************'
WITH
MAX_QUERIES_PER_HOUR 0
MAX_CONNECTIONS_PER_HOUR 0
MAX_UPDATES_PER_HOUR 0
MAX_USER_CONNECTIONS 0 ;
|
| |
|
|
|
|
|
|
|
для: Trianon
(27.07.2007 в 10:26)
| | Спасибо что хоть Вы ответили.
Но все равно не работает.
phpMyAdmin пишет:
Пользователь | Хост | Пароль | Глобальные привилегии | Предоставлять | Действие
wyfinger | % | Да | INSERT | Да | Правка
|
Однако я все-равно не могу подключиться удаленно.
Вкрадываются подозрения, что это отключено либо в настройказ самого mySQL Server'а, правда я о таких настройках не слышал, либо файрволом линукса, кажется это там называется iptables.
Кто знает где хранятся правила фильтрации пакетов?
Или я смотрю не в ту сторону... | |
|
|
|
|
|
|
|
для: Wyfinger
(27.07.2007 в 15:34)
| | файрволл должен разрешать входящее TCP-соединение с хоста 192.168.0.10 к порту 3306 серверной машины. | |
|
|
|
|
|
|
|
для: Trianon
(27.07.2007 в 15:57)
| | Это я понял, только не знаю как это делается - почитать мануалы по iptables, так сразу думается а не проще ли мне создавать базу на своем компе, делать дамп и обновлять им базу на сервере. Согласен, это неправильно, некрасиво, да и вообще тогда лучше оставить всю систему на моей машине, но это просто мысли вслух, я на грани нервного срыва, вот и апача не хочет с русской кодировкой работать.
Ладно, главное что, как я понял, в самом mySQL нет такой опции как отмена удаленной работы. | |
|
|
|
|
|
|
|
для: Wyfinger
(28.07.2007 в 12:40)
| | Попробуйте просто остановить его для начала на обоих машинах (из под root или sudo)
/sbin/service iptables stop
|
отладте соединение серверов, а потом настраивайте порт. | |
|
|
|
|
|
|
|
для: Wyfinger
(28.07.2007 в 12:40)
| | А какова цель? Т.е. что хотите сделать в конечном итоге? | |
|
|
|
|
|
|
|
для: cheops
(28.07.2007 в 12:53)
| | Есть небольшая дворовая сеть. Я хочу сделать поиск по расшаренным файлам, через web интерфейс. Подобных систем я видел много, но все меня неустраивали, например lan-crawler ищет только медиа, держит свой http сервер и работает под win, file-search точно так же работает на win, решил писать сам, ведь это еще и интересный опыт. Первоначально я писал систему на Access, но он работает слишком медленно (с вреднем в БД 300 тыс. записей), теперь переписал все заново на mySQL. PHP скрипт отлично работает - ищет в подготовленном индексе - БД mySQL. В системе есть несколько статусов пользователей, в том числе админ, я бы хотел, чтобы любой пользователь со статусом админ мог бы индексировать БД самостоятельно, для этого я написал спец-программу (на Delphi), которая подключается к mySQL и добавляет новые записи, она тоже отлично работает, проверено на локальном mySQL, но мне то надо, чтобы это все работало на сервере.
Проблема с файрволом усложняется еще и тем, что на сервере работает билинговая система, для ограничения выхода в интернет.
Проклинаю ликукс вместе со всеми кто его создал.
Кстати, я могу добавить эту свою систему в Вашу копилку? конечно все сначала отдам Вам на тестирование, я мог допустить кучу ошибок с фильтрацией поискового запроса, т.к. не совсем знаком с синтаксистом REGEXP mySQL. | |
|
|
|
|
|
|
|
для: Wyfinger
(29.07.2007 в 05:00)
| | >для этого я написал спец-программу (на Delphi), которая подключается к mySQL и добавляет
>новые записи
Так пусть эта программа напрямую соединяется с сервером. Да, если биллинговая система установлена - нужно рыться в ней и искать как разрешить из сети обращаться по 3306 порту и запретить такое обращение из вне. | |
|
|
|
|
|
|
|
для: cheops
(29.07.2007 в 10:39)
| | Программа и подключается непосредственно к mySQL серверу, используя набор классов DirectMySQL, т.е. без libmysql.dll.
Билинговая система (stargazer) влияет на iptables, т.е. настраивает соответствующим образом правила файрвола, но сегодня я полностью отключил iptables и все-равно не смог подключиться с соседнего компа. Видимо все-таки удаленная работа отключена где-то в настройках самого mySQL сервера, проблема в том, что я никак не могу найти где эти настройки. И в сети не могу найти толкового мануала по конфигурированию mySQL. | |
|
|
|
|
|
|
|
для: Wyfinger
(29.07.2007 в 11:49)
| | Посмотрите в конфигурационных файлах my.ini и my.cnf нет ли в них директивы skip-networking, запрещающей сетевое обращение? | |
|
|
|
|
|
|
|
для: cheops
(29.07.2007 в 11:58)
| | Все, проблема решена, наконец-то, прямо гора с плечь.
Итак расскажу для других:
Посмотрел - phpMyAdmin говорит, что эта переменная skip_networking установленна в ON, т.е. в ней все дело. Поиском в Midnight Commander (mc) нашел файл my.cnf в ./lib/mysql/. Сначала я думал, что нужно указывать значение переменной, т.е. например skip_networking=OFF, я так и написал, перезагружаю mysql (./sbin/service mysqld restart), а он говорит - ошибка. Выяснилось, что по-умолчанию skip_networking = off, и если ее прописать в my.cnf она будет ON, поэтому я удалил вообще эту строку из my.cnf и зпустил остановленный сервер.
Все нормально заработало. | |
|
|
|
|
|
|
|
для: Wyfinger
(29.07.2007 в 13:17)
| | my.cnf обычно размещен в каталоге /etc
Или как минимум там его можно создать.
Альтернативные размещения - где установлен сам: /usr/local/mysql/data , /usr/local/var'
=====мануал===
В Unix считывание принятых по умолчанию параметров MySQL производится из следующих файлов:
Имя файла Назначение
/etc/my.cnf Общие параметры
DATADIR/my.cnf Параметры для сервера
defaults-extra-file Файл, указанный при помощи -defaults-extra-file=#
~/.my.cnf Параметры для пользователя
DATADIR является каталогом данных MySQL (обычно `/usr/local/mysql/data' для бинарной установки или `/usr/local/var' для установки из исходных текстов). Обратите внимание, что это тот каталог, который был задан во время настройки, а не указанный при помощи --datadir при запуске mysqld! (--datadir не оказывает влияния на просмотр файлов параметров сервером, так как их просмотр происходит до обработки аргументов командной строки).
===== | |
|
|
|