Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Подключение к MySQL RDBMS, работающей на удаленном сервере Linux Mandriva / 19 сообщений из 19, страница 1 из 1
07.09.2012, 08:37
    #37947693
ivanov-void
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к MySQL RDBMS, работающей на удаленном сервере Linux Mandriva
Приветствую.

На удаленном сервере под Linux Mandriva выполняется СУБД MySQL , к которой мне необходимо обратиться с Windows - хоста для выполнения некоторых манипуляций с данными. Собственно, следующий код не позволяет начать этого-

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
...
  MYSQL conn;  

  if(!mysql_init(&conn))
      std::wcout << "Error: can't create MySQL-descriptor" << endl;   

  if(!mysql_real_connect(&conn,"ip","user","password","dbname",0,0,0))
       std::wcout << "Error: can't connect to MySQL server" << endl;     
  
  if(mysql_query(&conn, "SELECT VERSION()") != 0)
       std::wcout << "Error: can't execute SQL-query" << endl;

...



Error: can't connect to MySQL server
Error: can't execute SQL-query
Error: can't get the result description



Был бы весьма признателен за информацию относительно подключения к удаленному серверу баз данных.
...
Рейтинг: 0 / 0
07.09.2012, 12:12
    #37948011
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к MySQL RDBMS, работающей на удаленном сервере Linux Mandriva
Смотри пример правильной обработки ошибки коннекта.


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
MYSQL mysql;

mysql_init(&mysql);
mysql_options(&mysql,MYSQL_READ_DEFAULT_GROUP,"your_prog_name");
if
(!mysql_real_connect(&mysql,"host","user","passwd","database",0,NULL,0))
{
	fprintf(stderr, "Failed to connect to database: Error: %s\n",
	mysql_error(&mysql));
}



Взято отсюда
http://www.mysql.ru/docs/man/mysql_real_connect.html
...
Рейтинг: 0 / 0
07.09.2012, 13:37
    #37948186
ivanov-void
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к MySQL RDBMS, работающей на удаленном сервере Linux Mandriva
mayton,

Спасибо за информацию, ошибка следующая-

Failed to connect to database: Error: Can't connect to MySQL server on '....ip..' (10060)
...
Рейтинг: 0 / 0
07.09.2012, 13:42
    #37948195
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к MySQL RDBMS, работающей на удаленном сервере Linux Mandriva
Такие вещи проверяют раньше через консоль управления. Для этого не надо программировать
достаточно сделать простейший тест коннекта из любой среды или консоли клиента.
...
Рейтинг: 0 / 0
07.09.2012, 13:45
    #37948198
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к MySQL RDBMS, работающей на удаленном сервере Linux Mandriva
ivanov-void,

Сервер не запущен.
Либо запущен но принимает соединения только на локальный интерфейс.
Либо фаервол запрещает входящие соединения на порт сервера.
...
Рейтинг: 0 / 0
07.09.2012, 13:54
    #37948218
ivanov-void
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к MySQL RDBMS, работающей на удаленном сервере Linux Mandriva
maytonТакие вещи проверяют раньше через консоль управления.

Согласен, на консоли та же ошибка 10060.
...
Рейтинг: 0 / 0
07.09.2012, 14:01
    #37948236
ivanov-void
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к MySQL RDBMS, работающей на удаленном сервере Linux Mandriva
Anatoly MoskovskyСервер не запущен.

Запущен.

Anatoly MoskovskyЛибо запущен но принимает соединения только на локальный интерфейс.
Либо фаервол запрещает входящие соединения на порт сервера.


Если так, то как изменить? Если кто- либо сталкивался с аналогичной проблемой, был бы признателен за информацию о ее решении; о существовании документации мне известно- возможно, кто- то из тех, кто сталкивался, захочет поделиться знаниями, буду рад весьма.
...
Рейтинг: 0 / 0
07.09.2012, 14:03
    #37948244
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к MySQL RDBMS, работающей на удаленном сервере Linux Mandriva
Предлагаю перенести это в MySQL.
...
Рейтинг: 0 / 0
07.09.2012, 14:06
    #37948254
ivanov-void
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к MySQL RDBMS, работающей на удаленном сервере Linux Mandriva
mayton,

Если возможно, то лучше в Unix-системы .
...
Рейтинг: 0 / 0
07.09.2012, 14:25
    #37948313
ivanov-void
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к MySQL RDBMS, работающей на удаленном сервере Linux Mandriva
Поскольку вероятнее всего нужно открыть 3306 порт на удаленном сервере.

Модератор: Тема перенесена из форума "C++".
...
Рейтинг: 0 / 0
07.09.2012, 14:53
    #37948392
ivanov-void
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к MySQL RDBMS, работающей на удаленном сервере Linux Mandriva
Открыл.

Код: powershell
1.
2.
3.
# iptables -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT 
# iptables save
# iptables restart



Не помогло -

Failed to connect to database: Error: Can't connect to MySQL server on '....ip..' (10060)
...
Рейтинг: 0 / 0
07.09.2012, 15:05
    #37948427
Rv40
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к MySQL RDBMS, работающей на удаленном сервере Linux Mandriva
ivanov-void,

советую по порядку проверять — с самых, так сказать. И подниматься по оси :)

узлы между собой доступны (пинг ходит)?
telnet на 3306 проходит? А вообще фаервол погасить?
...
Рейтинг: 0 / 0
07.09.2012, 15:20
    #37948486
ivanov-void
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к MySQL RDBMS, работающей на удаленном сервере Linux Mandriva
Rv40,

Согласен. Пинг проходит, telnet -

Код: powershell
1.
2.
> telnet ...ip.. 3306
Подключение к ...ip.. Не удалось открыть подключение к этому узлу, на порт 3306. Сбой подключения



Файрвол у себя я отключил, на сервере по соображениям безопасности не рискую.
...
Рейтинг: 0 / 0
07.09.2012, 15:33
    #37948524
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к MySQL RDBMS, работающей на удаленном сервере Linux Mandriva
ivanov-voidAnatoly MoskovskyЛибо запущен но принимает соединения только на локальный интерфейс.
Либо фаервол запрещает входящие соединения на порт сервера.


Если так, то как изменить?Найдите сперва сперва что менять :-) Посмотрите, нет ли в my.cnf директивы skip-networking . Телнетом на той машине, где сервер, попробуйте подключиться по внешнему IP на порт сервера.
...
Рейтинг: 0 / 0
07.09.2012, 16:11
    #37948610
ivanov-void
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к MySQL RDBMS, работающей на удаленном сервере Linux Mandriva
vkle,

Код: powershell
1.
2.
3.
4.
5.
6.
7.
8.
9.
...
$ wget -qO - http://myip.dk/ | egrep -m1 -o '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'

...

$ telnet ...outer ip... 3306
Trying......
telnet: connect to address ...outer ip...: Connection timed out
telnet: Unable to connect to remote host: Connection timed out



skip-networking я закомментировал.
...
Рейтинг: 0 / 0
07.09.2012, 17:47
    #37948787
ivanov-void
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к MySQL RDBMS, работающей на удаленном сервере Linux Mandriva
Примерные настройки межсетевого экрана -

# Generated by iptables-save v1.3.7 on Fri Sep 7 16:51:29 2012
*raw
:PREROUTING ACCEPT [62303907:36898129276]
:OUTPUT ACCEPT [50658797:66920066942]
COMMIT
# Completed on Fri Sep 7 16:51:29 2012
# Generated by iptables-save v1.3.7 on Fri Sep 7 16:51:29 2012
*nat
:PREROUTING ACCEPT [413646:25963791]
:POSTROUTING ACCEPT [864783:52274485]
:OUTPUT ACCEPT [864773:52274085]
COMMIT
# Completed on Fri Sep 7 16:51:29 2012
# Generated by iptables-save v1.3.7 on Fri Sep 7 16:51:29 2012
*mangle
:PREROUTING ACCEPT [62303907:36898129276]
:INPUT ACCEPT [62303907:36898129276]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [50658837:66920074894]
:POSTROUTING ACCEPT [50661070:66920244262]
:tcfor - [0:0]
:tcout - [0:0]
:tcpost - [0:0]
:tcpre - [0:0]
[62303907:36898129276] -A PREROUTING -j tcpre
[0:0] -A FORWARD -j tcfor
[50658796:66920066890] -A OUTPUT -j tcout
[50661070:66920244262] -A POSTROUTING -j tcpost
COMMIT
# Completed on Fri Sep 7 16:51:29 2012
# Generated by iptables-save v1.3.7 on Fri Sep 7 16:51:29 2012
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
:Drop - [0:0]
:Ifw - [0:0]
:Reject - [0:0]
:all2all - [0:0]
:dropBcast - [0:0]
:dropInvalid - [0:0]
:dropNotSyn - [0:0]
:dynamic - [0:0]
:eth0_fwd - [0:0]
:eth0_in - [0:0]
:eth0_out - [0:0]
:eth1_fwd - [0:0]
:eth1_in - [0:0]
:eth1_out - [0:0]
:fw2net - [0:0]
:logdrop - [0:0]
:logreject - [0:0]
:net2all - [0:0]
:net2fw - [0:0]
:reject - [0:0]
:shorewall - [0:0]
:smurfs - [0:0]
[8111:950997] -A INPUT -i lo -j ACCEPT
[62295788:36897170615] -A INPUT -j Ifw
[0:0] -A INPUT -i eth1 -j eth1_in
[62295791:36897170779] -A INPUT -i eth0 -j eth0_in
[0:0] -A INPUT -j Reject
[0:0] -A INPUT -j LOG --log-prefix "Shorewall:INPUT:REJECT:" --log-level 6
[0:0] -A INPUT -j reject
[0:0] -A INPUT -i eth0 -p tcp -m tcp --dport 3306 -j ACCEPT
[0:0] -A INPUT -i eth0 -p tcp -m tcp --dport 3306 -j ACCEPT
[0:0] -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
[0:0] -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
[0:0] -A FORWARD -i eth1 -j eth1_fwd
[0:0] -A FORWARD -i eth0 -j eth0_fwd
[0:0] -A FORWARD -j Reject
[0:0] -A FORWARD -j LOG --log-prefix "Shorewall:FORWARD:REJECT:" --log-level 6
[0:0] -A FORWARD -j reject
[8111:950997] -A OUTPUT -o lo -j ACCEPT
[0:0] -A OUTPUT -o eth1 -j eth1_out
[50650680:66919115633] -A OUTPUT -o eth0 -j eth0_out
[0:0] -A OUTPUT -j Reject
[0:0] -A OUTPUT -j LOG --log-prefix "Shorewall:OUTPUT:REJECT:" --log-level 6
[0:0] -A OUTPUT -j reject
[11:548] -A Drop -p tcp -m tcp --dport 113 -j reject
[39367:3589755] -A Drop -j dropBcast
[0:0] -A Drop -p icmp -m icmp --icmp-type 3/4 -j ACCEPT
[1648:92288] -A Drop -p icmp -m icmp --icmp-type 11 -j ACCEPT
[13294:841702] -A Drop -j dropInvalid
[1:41] -A Drop -p udp -m multiport --dports 135,445 -j DROP
[376:29329] -A Drop -p udp -m udp --dport 137:139 -j DROP
[0:0] -A Drop -p udp -m udp --sport 137 --dport 1024:65535 -j DROP
[2883:152040] -A Drop -p tcp -m multiport --dports 135,139,445 -j DROP
[21:2663] -A Drop -p udp -m udp --dport 1900 -j DROP
[7148:356360] -A Drop -p tcp -j dropNotSyn
[156:11076] -A Drop -p udp -m udp --sport 53 -j DROP
[0:0] -A Reject -p tcp -m tcp --dport 113 -j reject
[0:0] -A Reject -j dropBcast
[0:0] -A Reject -p icmp -m icmp --icmp-type 3/4 -j ACCEPT
[0:0] -A Reject -p icmp -m icmp --icmp-type 11 -j ACCEPT
[0:0] -A Reject -j dropInvalid
[0:0] -A Reject -p udp -m multiport --dports 135,445 -j reject
[0:0] -A Reject -p udp -m udp --dport 137:139 -j reject
[0:0] -A Reject -p udp -m udp --sport 137 --dport 1024:65535 -j reject
[0:0] -A Reject -p tcp -m multiport --dports 135,139,445 -j reject
[0:0] -A Reject -p udp -m udp --dport 1900 -j DROP
[0:0] -A Reject -p tcp -j dropNotSyn
[0:0] -A Reject -p udp -m udp --sport 53 -j DROP
[0:0] -A all2all -m state --state RELATED,ESTABLISHED -j ACCEPT
[0:0] -A all2all -j Reject
[0:0] -A all2all -j LOG --log-prefix "Shorewall:all2all:REJECT:" --log-level 6
[0:0] -A all2all -j reject
[2274:177372] -A dropBcast -m pkttype --pkt-type broadcast -j DROP
[22151:2478393] -A dropBcast -m pkttype --pkt-type multicast -j DROP
[1535:71512] -A dropInvalid -m state --state INVALID -j DROP
[1635:68476] -A dropNotSyn -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -j DROP
[0:0] -A eth0_fwd -m state --state INVALID,NEW -j dynamic
[0:0] -A eth0_fwd -o eth1 -j ACCEPT
[435793:27145693] -A eth0_in -m state --state INVALID,NEW -j dynamic
[62295791:36897170779] -A eth0_in -j net2fw
[50650680:66919115633] -A eth0_out -j fw2net
[0:0] -A eth1_fwd -m state --state INVALID,NEW -j dynamic
[0:0] -A eth1_fwd -o eth0 -j ACCEPT
[0:0] -A eth1_in -m state --state INVALID,NEW -j dynamic
[0:0] -A eth1_in -j net2fw
[0:0] -A eth1_out -j fw2net
[49773346:66865834534] -A fw2net -m state --state RELATED,ESTABLISHED -j ACCEPT
[877334:53281099] -A fw2net -j ACCEPT
[0:0] -A logdrop -j LOG --log-prefix "Shorewall:logdrop:DROP:" --log-level 6
[0:0] -A logdrop -j DROP
[0:0] -A logreject -j LOG --log-prefix "Shorewall:logreject:REJECT:" --log-level 6
[0:0] -A logreject -j reject
[0:0] -A net2all -m state --state RELATED,ESTABLISHED -j ACCEPT
[39378:3590303] -A net2all -j Drop
[6687:506565] -A net2all -j LOG --log-prefix "Shorewall:net2all:DROP:" --log-level 6
[6687:506565] -A net2all -j DROP
[61859998:36870025086] -A net2fw -m state --state RELATED,ESTABLISHED -j ACCEPT
[377680:22441907] -A net2fw -p tcp -m multiport --dports 80,443,22 -j ACCEPT
[18735:1113483] -A net2fw -p icmp -m icmp --icmp-type 8 -j ACCEPT
[39378:3590303] -A net2fw -j net2all
[0:0] -A reject -m pkttype --pkt-type broadcast -j DROP
[0:0] -A reject -m pkttype --pkt-type multicast -j DROP
[0:0] -A reject -s .............. -j DROP
[0:0] -A reject -s ............../.............. -j DROP
[11:548] -A reject -p tcp -j REJECT --reject-with tcp-reset
[0:0] -A reject -p udp -j REJECT --reject-with icmp-port-unreachable
[0:0] -A reject -p icmp -j REJECT --reject-with icmp-host-unreachable
[0:0] -A reject -j REJECT --reject-with icmp-host-prohibited
[0:0] -A smurfs -s .............. -j LOG --log-prefix "Shorewall:smurfs:DROP:" --log-level 6
[0:0] -A smurfs -s .............. -j DROP
[0:0] -A smurfs -s .............. -j LOG --log-prefix "Shorewall:smurfs:DROP:" --log-level 6
[0:0] -A smurfs -s .............. -j DROP
[0:0] -A smurfs -s ............../.............. -j LOG --log-prefix "Shorewall:smurfs:DROP:" --log-level 6
[0:0] -A smurfs -s ............../.............. -j DROP
COMMIT
# Completed on Fri Sep 7 16:51:29 2012



В CentOS есть GUI, который помог в похожем случае , однако сам автор называет этот случай странным и желает удачи (а пожелания удачи сбываются).
...
Рейтинг: 0 / 0
07.09.2012, 19:48
    #37948981
ivanov-void
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к MySQL RDBMS, работающей на удаленном сервере Linux Mandriva
Rv40узлы между собой доступны (пинг ходит)?
Выяснилась интересная деталь- пингуется только удаленный сервер, с него же на мой хост пинг не проходит.
...
Рейтинг: 0 / 0
07.09.2012, 20:13
    #37949010
Rv40
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к MySQL RDBMS, работающей на удаленном сервере Linux Mandriva
ivanov-voidRv40узлы между собой доступны (пинг ходит)?
Выяснилась интересная деталь- пингуется только удаленный сервер, с него же на мой хост пинг не проходит.

а с выключенным фаерволом не пробовали?
...
Рейтинг: 0 / 0
07.09.2012, 22:26
    #37949125
ivanov-void
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к MySQL RDBMS, работающей на удаленном сервере Linux Mandriva
Rv40,

Спасибо, пробовал.
NAT .. вопрос закрыт, всем большое спасибо за информацию.
...
Рейтинг: 0 / 0
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Подключение к MySQL RDBMS, работающей на удаленном сервере Linux Mandriva / 19 сообщений из 19, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]