Datenbank-Server

Spezielle Fragen zu PostgreSQL, MySQL, SQLite, SQL ...
Antworten
Melsmann
Foriker
Beiträge: 37
Registriert: Do 9. Mai 2019, 11:18
Kontaktdaten:

Datenbank-Server

Beitrag von Melsmann » Di 14. Apr 2020, 21:08

Moin,
hat von Euch schon mal jemand versucht, ein Programm auf zwei Rechnern laufen zu lassen und die Datenbank nur auf einem? Soll heißen: Auf Rechner A läuft der MySQL-Server und das Programm "Proggi" greift auf diesen zu. Auf Rechner B läuft das Programm "Proggi" und greift auf des MySQL-Server auf Rechner A zu.
Verbindungsdaten vom Rechner A:
connection.type = "mysql"
connection.host = "localhost"
connection.name ="Betreuung"
connection.login = "NAME"
connection.port= "3306"
connection.Password="PASSWORT"

Kann mir jemand die Verbindungsdaten vom Rechner B sagen?

Gruß Jürgen

Benutzeravatar
tionov
Site Admin
Beiträge: 342
Registriert: So 18. Mai 2014, 22:40
Kontaktdaten:

Re: Datenbank-Server

Beitrag von tionov » Di 14. Apr 2020, 21:33

Hallo,

statt connection.host = "localhost" gibt du den Hostname des über das Netzwerk erreichbaren Rechners an. Wenn du aber kein Namensauflösung im Netzwerk hast, dann dessen IP.

Du kannst schauen, ob die Namensauflösung funktioniert, und ob er erreichbar istm indem du ihn anpingst. So:
shell code
$ ping hostname
oder über die IP (hier: 192.168.1.2)
shell code
$ ping 192.168.1.2
Alles Gute,

tionov

Melsmann
Foriker
Beiträge: 37
Registriert: Do 9. Mai 2019, 11:18
Kontaktdaten:

Re: Datenbank-Server

Beitrag von Melsmann » Sa 18. Apr 2020, 10:49

Moin,

erstmal vielen Dank für die Antwort.

Allerdings war es da nicht. Ich habe die Vorschläge mal versucht:
Eine Namensauflösung habe ich nicht. Statt dessen funktioniert aber der Ping auf den Rechner.
Ich habe also versucht, die IP einzutragen:
connection.host = "192.168.1.15" Das funktioniert soweit, gibt dann aber eine Fehlermeldung (s.u)
connection.host = 192.168.1.15 Gibt sofort beim Starten eine Fehlermeldung

Die Firewall des Servers ist ausgeschaltet.

Irgendwie komme ich da nicht weiter...

Gruß Jürgen
Dateianhänge
Bildschirmfoto zu 2020-04-18 11-36-40.png
Bildschirmfoto zu 2020-04-18 11-36-40.png (51.36 KiB) 774 mal betrachtet

Benutzeravatar
tionov
Site Admin
Beiträge: 342
Registriert: So 18. Mai 2014, 22:40
Kontaktdaten:

Re: Datenbank-Server

Beitrag von tionov » Sa 18. Apr 2020, 12:30

Dann schauen wir mal ob der Mysql Server überhaupt reagiert, gib mal ein:
shell code
$ telnet 192.168.1.15 3306
Wenn du telnet nicht auf deinem Computer hast, musst du es erst installieren.

Bei mir meldet sich der Server so:
shell code
$ telnet meinserver 3306                                                                                                                                                 1 ↵
Trying 192.168.111.1...
Connected to meinserver.
Escape character is '^]'.
b
5.5.5-10.1.44-MariaDB-0+deb9u1Y}Bo,*+<*?�l2Nqqc|fkd7%mysql_native_password
Alles Gute,

tionov

Melsmann
Foriker
Beiträge: 37
Registriert: Do 9. Mai 2019, 11:18
Kontaktdaten:

Re: Datenbank-Server

Beitrag von Melsmann » Sa 18. Apr 2020, 14:42

Und soo bei mir:

burau@Mate-1910:~$ telnet 192.168.1.15 3306
Trying 192.168.1.15...
telnet: Unable to connect to remote host: Connection refused
burau@Mate-1910:~$
Gruß Jürgen

Benutzeravatar
tionov
Site Admin
Beiträge: 342
Registriert: So 18. Mai 2014, 22:40
Kontaktdaten:

Re: Datenbank-Server

Beitrag von tionov » Sa 18. Apr 2020, 16:22

Dann läuft entweder der Mysql Server nicht oder auf einem anderen Port oder der Rechner blockt den Zugriff mit einer Firewall.

Jetzt schau mal auf dem Rechner, auf dem der Server läuft, wir greppen die Prozessliste:
shell code
$ ps aux | grep mysql | grep -v grep
Bei mir kommt:
shell code
$ ps aux | grep mysql | grep -v grep                                                                                                                                                       1 
mysql     2919  0.5  1.4 758840 236100 ?       Ssl  Mär23 219:26 /usr/sbin/mysqld
Schöner geht es noch mit
shell code
$ pgrep -a mysql
mysql     2919  0.5  1.4 758840 236100 ?       Ssl  Mär23 219:26 /usr/sbin/mysqld
Alles Gute,

tionov

Melsmann
Foriker
Beiträge: 37
Registriert: Do 9. Mai 2019, 11:18
Kontaktdaten:

Re: Datenbank-Server

Beitrag von Melsmann » Sa 18. Apr 2020, 17:19

burau@Mate-VirtualBox:~$ ps aux | grep mysql | grep -v grep
mysql 5127 0.0 9.7 1171020 198388 ? Sl 15:59 0:06 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid
burau@Mate-VirtualBox:~$

Benutzeravatar
tionov
Site Admin
Beiträge: 342
Registriert: So 18. Mai 2014, 22:40
Kontaktdaten:

Re: Datenbank-Server

Beitrag von tionov » Sa 18. Apr 2020, 18:57

Ah, er wird nicht auf tcp hören, probier mal auf dem Rechner, auf dem er läuft:
shell code
$ netstat -nlp | grep mysql
Hier kommt: shell code
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      2919/mysqld         
unix  2      [ ACC ]     STREAM     HÖRT         33238    2919/mysqld          /var/run/mysqld/mysqld.sock
Schreib mal in /etc/mysql/my.cnf das: shell code
bind-address = 0.0.0.0 
Und mach einen Restart des Servers.
Alles Gute,

tionov

Melsmann
Foriker
Beiträge: 37
Registriert: Do 9. Mai 2019, 11:18
Kontaktdaten:

Re: Datenbank-Server

Beitrag von Melsmann » Sa 18. Apr 2020, 20:53

Wenn ich das mache, funktioniert der lokale Zugriff nicht mehr.

Ich werde morgen den Server neu aufsetzen und Mysql neu installieren. Dann werde ich das ganze nochmal nochmal versuchen.

Vielen Dank erstmal für Deine Hilfe...

Gruß Jürgen

Benutzeravatar
tionov
Site Admin
Beiträge: 342
Registriert: So 18. Mai 2014, 22:40
Kontaktdaten:

Re: Datenbank-Server

Beitrag von tionov » Sa 18. Apr 2020, 22:40

Melsmann hat geschrieben:
Sa 18. Apr 2020, 20:53
Wenn ich das mache, funktioniert der lokale Zugriff nicht mehr.

Ich werde morgen den Server neu aufsetzen und Mysql neu installieren. Dann werde ich das ganze nochmal nochmal versuchen.
Den lokalen Zugriff schaltest du ein mit
shell code
socket = /var/run/mysqld/mysqld.sock
Jedenfalls in einem Debian System.

Btw. Für was brauchst du Mysql? Wenn ich irgendwas neu machen wollte, würde ich definitiv nicht Mysql oder Mariadb nehmen, sondern immer Postgresql!

Wenn du auf ein bestehendes System aufbaust, bleibt dir vielleicht nichts anderes übrig. Dann muss man die "Kröte" schlucken. Aber wenn man die Wahl hat ...
Alles Gute,

tionov

Melsmann
Foriker
Beiträge: 37
Registriert: Do 9. Mai 2019, 11:18
Kontaktdaten:

Re: Datenbank-Server

Beitrag von Melsmann » So 19. Apr 2020, 09:20

Moin,
ich habe mir ein Programm geschrieben, mit dem ich meine Betreuten verwalte. Darüber schreibe ich auch die Berichte fürs Gericht und mache die Vermögensverwaltung. Da stecken schon einige Daten drin.

Welche Datenbank ich dafür nehme ist letztlich egal. Da ich mich bislang nur mit MSSQL und MySQL auseinander gesetzt habe und MSSQL mit Ubuntu nicht funktioniert bin ich auf MySQL gekommen...

Kann man Daten von MySQL nach Postgresql portieren? Sonst ist die gesamte Frage hinfällig, ob ich mich mal damit beschäftige...

Gruß Jürgen

Benutzeravatar
tionov
Site Admin
Beiträge: 342
Registriert: So 18. Mai 2014, 22:40
Kontaktdaten:

Re: Datenbank-Server

Beitrag von tionov » So 19. Apr 2020, 10:19

Melsmann hat geschrieben:
So 19. Apr 2020, 09:20
Kann man Daten von MySQL nach Postgresql portieren? Sonst ist die gesamte Frage hinfällig, ob ich mich mal damit beschäftige...
Ja, die Daten sicher. Solange du die DB nur verwendest, um Daten in ein paar Tabellen zu halten, ist es sicher nicht sonderlich kompliziert. Views lassen sich auch einfach übernehmen. Wenn die DB noch andere Dinge übernimmt, z.B. die Daten mit Triggern verändert, du also Logik in der DB hältst, wird es zunehmend schwieriger. Je mehr du deine Logik mit einer DB verheiratest, desto schwieriger wird das Portieren.

Der Gambas DB-Zugriff ist theoretisch DB-agnostisch, wenn man die internen Gambas Befehle zum Zugriff verwendet. Irgendwann greift man allerdings mit mehreren Programmen auf die DB zu und dann ist man froh, wenn die DB Trigger kann und wird Logik in der DB vorhalten.

Wo kommen deine Daten her? Mit was hast du das Programm geschrieben? Mit Access? Ich meine, wegen MSSQL. Und portierst du das jetzt nach Gambas? Oder läuft es schon in Gambas und Mysql aber nur lokal auf dem Rechner?

---
Hier, schau mal:
https://tapoueh.org/blog/2017/07/from-m ... ostgresql/

pgloader ist z.B. in meinem Ubuntu enthalten.
Alles Gute,

tionov

Melsmann
Foriker
Beiträge: 37
Registriert: Do 9. Mai 2019, 11:18
Kontaktdaten:

Re: Datenbank-Server

Beitrag von Melsmann » So 19. Apr 2020, 11:11

Moin Tionov,
ich habe bereits seit einigen Jahren mit Basic von MS gearbeitet (VB4, VB6, VS 2005 -2015). Seit ca 1 Jahr bin ich auf Ubuntu umgestiegen und wollte auch ein Basic zum Programmieren haben. So bin ich zu Gambas gekommen....

Meine Daten gebe ich selber ein. Es handelt sich um die Stammdaten meiner Betreuten, aber auch ganze Berichte fürs Gericht. Das Programm ist in Gambas3 geschrieben (Ich habe hier auch schon diverse Fragen gestellt :-))

Ich werde mir mal eine Virtuelle Maschine aufsetzen, wo ich den Umstieg auf Postgresql mal testen kann.

Gruß Jürgen

Benutzeravatar
tionov
Site Admin
Beiträge: 342
Registriert: So 18. Mai 2014, 22:40
Kontaktdaten:

Re: Datenbank-Server

Beitrag von tionov » So 19. Apr 2020, 12:17

Du kannst Mysql und Postgresql parallel auf einer Maschine laufen lassen, brauchst keine VM dazu. PG als parallel laufender Prozess stört deine Dinge, die sonst auf dem Rechner laufen, nicht.
Alles Gute,

tionov

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast