powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Подключение к MySQL RDBMS, работающей на удаленном сервере Linux Mandriva
19 сообщений из 19, страница 1 из 1
Подключение к MySQL RDBMS, работающей на удаленном сервере Linux Mandriva
    #37947693
Фотография ivanov-void
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приветствую.

На удаленном сервере под 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
Подключение к MySQL RDBMS, работающей на удаленном сервере Linux Mandriva
    #37948011
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смотри пример правильной обработки ошибки коннекта.


Код: 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
Подключение к MySQL RDBMS, работающей на удаленном сервере Linux Mandriva
    #37948186
Фотография ivanov-void
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

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

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

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

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

Запущен.

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


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

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

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

Код: 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
Подключение к MySQL RDBMS, работающей на удаленном сервере Linux Mandriva
    #37948427
Rv40
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ivanov-void,

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

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

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

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



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


Если так, то как изменить?Найдите сперва сперва что менять :-) Посмотрите, нет ли в my.cnf директивы skip-networking . Телнетом на той машине, где сервер, попробуйте подключиться по внешнему IP на порт сервера.
...
Рейтинг: 0 / 0
Подключение к MySQL RDBMS, работающей на удаленном сервере Linux Mandriva
    #37948610
Фотография ivanov-void
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Подключение к MySQL RDBMS, работающей на удаленном сервере Linux Mandriva
    #37948787
Фотография ivanov-void
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Примерные настройки межсетевого экрана -

# 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
Подключение к MySQL RDBMS, работающей на удаленном сервере Linux Mandriva
    #37948981
Фотография ivanov-void
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rv40узлы между собой доступны (пинг ходит)?
Выяснилась интересная деталь- пингуется только удаленный сервер, с него же на мой хост пинг не проходит.
...
Рейтинг: 0 / 0
Подключение к MySQL RDBMS, работающей на удаленном сервере Linux Mandriva
    #37949010
Rv40
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ivanov-voidRv40узлы между собой доступны (пинг ходит)?
Выяснилась интересная деталь- пингуется только удаленный сервер, с него же на мой хост пинг не проходит.

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

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


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