LINUX.ORG.RU
ФорумAdmin

Fedora/Mariadb - не могу настроить удаленное подключение

 , ,


0

1

Поставил Fedora последней версии, Сделал $ mysql_secure_installation Вообще отключил firewall Сделал iptables -A INPUT -p tcp –dport 3306 -m state –state NEW,ESTABLISHED -j ACCEPT

Создал базу, развернул туда дамп.

Создал пользователя, дал ему права GRANT ALL PRIVILEGES ON . TO user@‘%’ IDENTIFIED BY ‘UserPassword’;

Теперь хочу подключиться к базе через dbforge и выдает ошибку Пытаюсь зайти в базу mysql -uuser -h ip_мой -p не пускается с ошибкой (115)

В /etc/my.cnf пусто В /etc/my.cnf.d/mariadb-server-cnf закоментил bind-address Устал уже)))) Когда nmap -p 3306 МОЙ_IP то вижу что 3306/tcp closed - но не уверен что это влияет ведь я фаервол отключил и внес в iptables! Прошу помощи!

Ответ на: комментарий от vasyan

Впервые на этом сайте не пойму как размещать скриншоты Напишу так, на ss -tlpn|grep 3306 показал LISTEN 0 80 192.168.220.54:3306 0.0.0.0:* users:((«mysqld»,pid=

Айпишник 192 - это ip сервера бд и есть

aberon ()
Ответ на: комментарий от vasyan

Еще я для теста добавлял в /etc/my.conf вот такую настройку(находил на каком то сайте)

nano /etc/my.cnf

[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql symbolic-links=0 bind-address=192.168.220.54

Сейчас убрал ее, что бы было как по дефолту, сделал опять ss -tlpn|grep 3306 и получил LISTEN 0 80 *:3306 : users:((«mysqld»,pid=3141,fd=20))

aberon ()
Ответ на: комментарий от aberon

Ок, а не пробовал, ради интереса, указать жестко свой IP, в грантах, с которого подключаешься?

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

mysql -uuser -h 127.0.0.1 -p

dgeliko ★★ ()
Ответ на: комментарий от dgeliko

пробовал GRANT ALL ON . TO user@‘xxx.xxx.xx.x’ IDENTIFIED BY ‘UserPassword’;

где х - ставил свой айпишник

mysql -uuser -h 127.0.0.1 -p вот так работает, а когда делаю вместо локалхоста свой IP не пускает с ошибкой 115

aberon ()
Ответ на: комментарий от aberon

По этой же инструкции внимательно смотрим выхлоп уже у вас.
SELECT User, Host FROM mysql.user

Там же про skip-networking и так далее в инструкции.

Когда nmap -p 3306 МОЙ_IP то вижу что 3306/tcp closed

Что как бэ намекает. Что вы там отключили или не отключили в fw мы должны только по вашим словам догадаться, выхлоп iptables-save в студию.

anc ★★★★★ ()
Последнее исправление: anc (всего исправлений: 1)
Ответ на: комментарий от i3wm

Я его комментировал и разкоментировал уже по нескольку раз. Пока не совсем понимаю: если он откоменчен и там bind-address: 127.0.0.1 - это значит что я могу пробовать подключаться только с локал хоста? bind-address - это же адрес самого сервера?правильно понимаю? или туда биндятся адреса локальных подключений(к примеру моего ПК)

aberon ()
Ответ на: комментарий от aberon

bind-address - это то, где мускуль слушает подключения на той машине, где он запущен.

если он откоменчен и там bind-address: 127.0.0.1 - это значит что я могу пробовать подключаться только с локал хоста?

Верно.

Если bind-address закоменнчен - то он слушает на всех интерфейсах всех адреса и принимает любые подключения.

dgeliko ★★ ()
Ответ на: комментарий от aberon

Юзай уже форматирование, читать выхлоп невозможно же.

Как просили выше -

 iptables-save
выхлоп дай.

А под каким юзером ты пытаешься подключиться удаленно?

dgeliko ★★ ()
Последнее исправление: dgeliko (всего исправлений: 1)
Ответ на: комментарий от aberon

skip-networking ввел в my.conf

Не надо было.

select user дает: | root | 127.0.0.1 | | demo | 192.168.222.% | | root | 192.168.222.% | | demo | 192.168.222.9 | | foo2 | 192.168.222.9 | | root | ::1 | | alexander | localhost | | demo | localhost | | root | localhost | | foo2 | test

Используйте разметку, или www.linux.org.ru/help/markdown.md или www.linux.org.ru/help/lorcode.md

PS
И кстати на всякий случай по старинке, после GRANT....
Выполняйте FLUSH PRIVILEGES;

anc ★★★★★ ()
Последнее исправление: anc (всего исправлений: 1)
Ответ на: комментарий от anc

Общая последовательность моих действий: 1.Установка fedora (виртульная машина в wmware exsi) 2.Доступ по ssh 3.Установка mariadb по инструкции https://fedoraproject.org/wiki/MariaDB: -установил -$ mysql_secure_installation - сделал стандартную настройку -$ iptables -A INPUT -p tcp –dport 3306 -m state –state NEW,ESTABLISHED -j ACCEPT - открыл 3306 порт 3.firewall-cmd –add-port=3306/tcp firewall-cmd –permanent –add-port=3306/tcp - файервол(после вообще его отключил) 4.Создал базу данных и сделал для пользователя root GRANT ALL PRIVILEGES ON . TO ‘root’@‘192.168.222.9’ IDENTIFIED BY ‘my-new-password’ WITH GRANT OPTION;

222.9 мой ip

Естественно ребутнул mysql После пробую: mysql -uroot -h 192.168.222.9 -p - не пускает DBforge - тоже не коннектит

aberon ()
Ответ на: комментарий от anc

Что до конца не ясно: *есть два файла /etc/my.cnf и каталог /etc/my.cnf.d где лежат 6 файлов

Один из них mariadb-server.cnf.

Что из них есть файл конфигов для mysql. В первом файле - нет данных, все закоменчено.

Во втором, есть bind-address: 127.0.0.1 - его я тоже закоменчивал.

Skip-networking нет нигде, я сам добавлял skip-networking=0 в my.conf для теста.

aberon ()
Ответ на: комментарий от aberon

Что меня смущается это вывод nmap -p 3306 192.168.222.9 PORT 3306/tcp

STATE closed

SERVICE mysql

А когда делаю nmap -p 3306 192.168.220.54 (это IP сервера) выдает STATE open

Только я не понимаю почему закрыт: firewall - отключен

В IP tables добавлены правила:

iptables -A INPUT -p tcp –dport 3306 -m state –state NEW,ESTABLISHED -j ACCEPT

aberon ()
Ответ на: комментарий от aberon

Кто вот эти люди?

192.168.222.9

и

192.168.220.54

Откуда вы делаете и так далее. Можно больше золота добавить?

Ранее лично я предполагал что последнии варианты были в локалке. Теперь оказывается нет.

firewall - отключен

В IP tables добавлены правила:
iptables -A INPUT -p tcp –dport 3306 -m state –state NEW,ESTABLISHED -j ACCEPT

Вы определитесь. Он отключен или нет?

anc ★★★★★ ()
Последнее исправление: anc (всего исправлений: 2)
Ответ на: комментарий от anc

192.168.222.9 - это Я мой компьютер

192.168.220.54 - IP сервера БД, который стоит на как виртуальная машина в wmware.

Цепляюсь я по ssh со своего компа к машине.

Проверяю доступ: mysql -uroot -h 192.168.222.9 - p

Пишет cant connect ot mysql on 192.168.222.9 (115)

aberon ()
Ответ на: комментарий от aberon

192.168.222.9 - это Я мой компьютер

192.168.220.54 - IP сервера БД, который стоит на как виртуальная машина в wmware.

Проверяю доступ: mysql -uroot -h 192.168.222.9 - p

Я ничего не понял. Где «машка» работает, на 192.168.222.9 или на 192.168.220.54 ? Если на 192.168.220.54 то почему вы пытаетесь подключиться к 192.168.222.9 ?

anc ★★★★★ ()
Ответ на: комментарий от anc

mariadb стоит на 192.168.220.54

192.168.222.9 - это IP моего компьютера, с которого я захожу по ssh, на котором так же установлен dbforge

Находяь подключенным по ssh к федоре(где стоит maria) я вожу

mysql -u user –h xxx.xxx.xx.x –p

где X - мой IP адресс, после чего он меня не пускает с ошибкой cant connect, может я что то путаю,

так жи пытаюсь подключиться в dbforge указывая IP - 192.168.220.54 и пользователя root/password - и тоже не пускает

aberon ()
Ответ на: комментарий от aberon

mariadb стоит на 192.168.220.54
Находяь подключенным по ssh к федоре(где стоит maria) я вожу

Уточним.
1. Вы залогинились в консоль сервера 192.168.220.54 где и работает «маша»?
2. Вы пытаетесь из этой консоли подключиться к xxx.xxx.xx.x который совсем в другом месте

mysql -u user –h xxx.xxx.xx.x –p
где X - мой IP адресс, после чего он меня не пускает с ошибкой cant connect, может я что то путаю,

Все верно?

anc ★★★★★ ()
Ответ на: комментарий от anc
  1. Да я залогинился в консоли fedora сервера с IP 220.54 где и стоит федора

2.Я пытаюсь подключиться к базе на этом же сервере с IP моего же компа.

mysql -u user –h xxx.xxx.xx.x –p = т.е я ввожу эту команду находять под рутом этой же федоре(где мария),

я полагаю что ключ -h и IP это и есть IP удаленного хоста, получается я не прав?

aberon ()
Ответ на: комментарий от aberon

2.Я пытаюсь подключиться к базе на этом же сервере с IP моего же компа. –

я имею ввиду что я(222.9) подключаюсь по ssh к федоре(220.54) и там в консоли ввожу mysql -u user –h 192.168.222.9 –p

полагая что тем самым проверяю доступ к марии со своего компа

aberon ()
Ответ на: комментарий от aberon

я полагаю что ключ -h и IP это и есть IP удаленного хоста, получается я не прав?

Вы правы в части что IP соответствует тому где работает «маша», а где она роли не играет, хоть в антарктиде.
man mysql

--host=host_name, -h host_name
           Connect to the MySQL server on the given host.

Но далее.

mysql -u user –h xxx.xxx.xx.x –p = т.е я ввожу эту команду находять под рутом этой же федоре(где мария),

Это что такое? Вы находясь на сервере где работает «маша» и у которой нет ip «xxx.xxx.xx.x» пытаетесь к ней подключиться по ip «xxx.xxx.xx.x»?

anc ★★★★★ ()
Ответ на: комментарий от aberon

я имею ввиду что я(222.9) подключаюсь по ssh к федоре(220.54) и там в консоли ввожу mysql -u user –h 192.168.222.9 –p
полагая что тем самым проверяю доступ к марии со своего компа

Или тролль level 100500 или ещё глупый мальчик которому мама под новый год подарила компьютер.

anc ★★★★★ ()
Ответ на: комментарий от anc

Скорее 2е)

и все же, как тогда проверить доступность mariadb?

Пытаюсь с dbforge цепляться, выдает:

«При установлении соединения с SQL Server произошла ошибка, связанная с сетью или с определенным экземпляром. Сервер не найден или недоступен. Убедитесь, что имя экземпляра указано правильно и что на SQL Server разрешены удаленные соединения. (provider: Named Pipes Provider, error: 40 - Не удалось открыть подключение к SQL Server)»

aberon ()
Ответ на: комментарий от aberon

Жесть какая. Цепляться на тот IP, на котором и стоит mariaDB. А тут какая-то странная цепь выходит.

я имею ввиду что я(222.9) подключаюсь по ssh к федоре(220.54) и там в консоли ввожу mysql -u user –h 192.168.222.9 –p

Это за гранью добра и зла. Цепляйся на тот IP, на машине которого mariaDB и установлена, зачем лезть туда, где ее нет?

220.54 - виртуалка с mariaDB ?

222.9 - твой комп?

Вот и цепляйся с 222.9 на 220.54, для начала можно проверить доступность порта 3306 через телнет. Если коннект проходит - то целпяйся уже клиентом mysql -uuser -h 220.54 -p

dgeliko ★★ ()
Последнее исправление: dgeliko (всего исправлений: 1)
Ответ на: комментарий от aberon

Видимо я не так понимаю mysql -u user –h 192.168.222.9 –p
При попытке попасть через putty на 192.168.220.54 3306 выдает
conection refused

Так логично же. -h - хост (IP) К_КОТОРОМУ идет подключение, а не с которого, вот и надо указывать тот IP, на котром mariaDB и висит. И зачем идти ssh клиентом на порт, который слушать БД должна?

Цепляясь putty telnet 192.168.220.54 3306 выдает окно с таким набором:
5.5.5-10.3.20-MariaDBUoP!OMrw▒▒▒«>Q]^Bn%jgGlmysql_native_password

Вот видишь, коннект по сети есть, тебе maria и ответила, что ты подцепился. Теперь просто надо пройти аутентификацию и авторизацию. Пробуй со своей машины

mysql -u USERNAME -pPASSWORD -h HOSTNAMEORIP DATABASENAME 

dgeliko ★★ ()
Последнее исправление: dgeliko (всего исправлений: 1)
Ответ на: комментарий от dgeliko

Вот видишь, коннект по сети есть, тебе maria и ответила, что ты подцепился. Теперь просто надо пройти аутентификацию и авторизацию. Пробуй со своей машины

Что понимается под своей машиной? где мне эту команду использовать? в путти я же не могу указать какого пользователя использовать и какую базу, по ssh пути меня пускает в саму федору.

В dbforge я указывал параметры подключения конечно

aberon ()
Ответ на: комментарий от aberon

Что понимается под своей машиной?

Та машина, с которой ты пытаешься подцепиться к БД. Если это винда - то с нее.

Я не знаю что такое dbforge и как оно работает. Если ты юзаешь винду - поищи клиента на нее нативного mysql, как там работает dbforge я не знаю.

mysql -u demo -p -h 192.168.220.54 s17

Вот и введи эту команду на какой-то линукс машине, где есть mysql клиент и которая находится в той же сети, где и остальные машины. Только убедись, что ее IP прописан в грантах для доступа к БД

dgeliko ★★ ()
Последнее исправление: dgeliko (всего исправлений: 1)
Ответ на: комментарий от dgeliko

Фишка в том что я читал статью где такое сообщение после попытки telnet:

5.5.5-10.3.20-MariaDBUoP!OMrw▒▒▒«>Q]^Bn%jgGlmysql_native_password

с последющим connection refused говорит как рас о недоступности, порта 3306, но как это может быть если firewall - отключен

aberon ()
Ответ на: комментарий от dgeliko

Блин,сутки уже вожусь что не так, не пойму.

фаервол отключен.

root сделал:

GRANT ALL PRIVILEGES ON . TO ‘root’@‘192.168.222.9’ IDENTIFIED BY ‘my-new-password’ WITH GRANT OPTION;

Кучу пользоватлей насоздавал с такими же правами.

толку 0 =)

aberon ()