MariaDB auf VM nicht erreichbar

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
rammi22
Beiträge: 54
Registriert: 26.07.2017 13:45:46

MariaDB auf VM nicht erreichbar

Beitrag von rammi22 » 03.01.2018 15:14:55

Hallo,

ich nehme Bezug auf diesen Thread. Leider greifen die Lösungen von dort nicht auf meiner aktuellen VM.

Aufruf des Mysql-Servers auf der VM via HeidiSql gibt FEHLER

776

1. Der Aufruf der IP des Guest (Debian stretch) vom Host (Win10) via Browser klappt

774

2. MariaDB läuft, user ist gesetzt

773

3. Konfiguration Datei /etc/mysql/my.cnf, lt Anleitung soll bind-address & skip-networking (soweit vorhanden) auskommentiert werden

Code: Alles auswählen

# The MariaDB configuration file
#
# The MariaDB/MySQL tools read configuration files in the following order:
# 1. "/etc/mysql/mariadb.cnf" (this file) to set global defaults,
# 2. "/etc/mysql/conf.d/*.cnf" to set global options.
# 3. "/etc/mysql/mariadb.conf.d/*.cnf" to set MariaDB-only options.
# 4. "~/.my.cnf" to set user-specific options.
#
# If the same option is defined multiple times, the last one will apply.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.

#
# This group is read both both by the client and the server
# use it for options that affect everything
#
[client-server]
# port=3306
# bind-address=0.0.0.0
# Import all .cnf files from configuration directory
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mariadb.conf.d/
3. Konfiguration /etc/mysql/mariadb.conf.d/50-server.cnf

Code: Alles auswählen

# These groups are read by MariaDB server.
# Use it for options that only the server (but not clients) should see
#
# See the examples of server my.cnf files in /usr/share/mysql/
#

# this is read by the standalone daemon and embedded servers
[server]

# this is only for the mysqld standalone daemon
[mysqld]

#
# * Basic Settings
#
user		= mysql
pid-file	= /var/run/mysqld/mysqld.pid
socket		= /var/run/mysqld/mysqld.sock
port		= 3306
basedir		= /usr
datadir		= /var/lib/mysql
tmpdir		= /tmp
lc-messages-dir	= /usr/share/mysql
skip-external-locking

# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
# bind-address		= 127.0.0.1
# bind-address	= 192.168.56.1
#
# * Fine Tuning
#
key_buffer_size		= 16M
max_allowed_packet	= 16M
thread_stack		= 192K
thread_cache_size       = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam_recover_options  = BACKUP
#max_connections        = 100
#table_cache            = 64
#thread_concurrency     = 10

#
# * Query Cache Configuration
#
query_cache_limit	= 1M
query_cache_size        = 16M

#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
# As of 5.1 you can enable the log at runtime!
#general_log_file        = /var/log/mysql/mysql.log
#general_log             = 1
#
# Error log - should be very few entries.
#
log_error = /var/log/mysql/error.log
#
# Enable the slow query log to see queries with especially long duration
#slow_query_log_file	= /var/log/mysql/mariadb-slow.log
#long_query_time = 10
#log_slow_rate_limit	= 1000
#log_slow_verbosity	= query_plan
#log-queries-not-using-indexes
#
# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about
#       other settings you may need to change.
#server-id		= 1
#log_bin			= /var/log/mysql/mysql-bin.log
expire_logs_days	= 10
max_binlog_size   = 100M
#binlog_do_db		= include_database_name
#binlog_ignore_db	= exclude_database_name

#
# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!

#
# * Security Features
#
# Read the manual, too, if you want chroot!
# chroot = /var/lib/mysql/
#
# For generating SSL certificates you can use for example the GUI tool "tinyca".
#
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem
#
# Accept only connections using the latest and most secure TLS protocol version.
# ..when MariaDB is compiled with OpenSSL:
# ssl-cipher=TLSv1.2
# ..when MariaDB is compiled with YaSSL (default in Debian):
# ssl=on

#
# * Character sets
#
# MySQL/MariaDB default is Latin1, but in Debian we rather default to the full
# utf8 4-byte character set. See also client.cnf
#
character-set-server  = utf8mb4
collation-server      = utf8mb4_general_ci

#
# * Unix socket authentication plugin is built-in since 10.0.22-6
#
# Needed so the root database user can authenticate without a password but
# only when running as the unix root user.
#
# Also available for other users if required.
# See https://mariadb.com/kb/en/unix_socket-authentication-plugin/

# this is only for embedded server
[embedded]

# This group is only read by MariaDB servers, not by MySQL.
# If you use the same .cnf file for MySQL and MariaDB,
# you can put MariaDB-only options here
[mariadb]

# This group is only read by MariaDB-10.1 servers.
# If you use the same .cnf file for MariaDB of different versions,
# use this group for options that older servers don't understand
[mariadb-10.1]
Warum klappt die Connection nicht? Welche Konfigurationen muss ich wo anpassen?

Vielen Dank für Hilfe
Gruss Rammi
System: Debian 9 (stretch), MariaDB Version 10.1.26-MariaDB-0+deb9u1, PHP 7.0.19

schwedenmann
Beiträge: 5525
Registriert: 30.12.2004 15:31:07
Wohnort: Wegberg

Re: MariaDB auf VM nicht erreichbar

Beitrag von schwedenmann » 03.01.2018 15:26:47

Hallo


Kannst du dich auch auf der konsole (eingeloggt als normaler linuxuser!) dann auch per mysql_root verbinden ?

mfg
schwedenmann

rammi22
Beiträge: 54
Registriert: 26.07.2017 13:45:46

Re: MariaDB auf VM nicht erreichbar

Beitrag von rammi22 » 03.01.2018 15:32:24

schwedenmann hat geschrieben: ↑ zum Beitrag ↑
03.01.2018 15:26:47
...
Kannst du dich auch auf der konsole (eingeloggt als normaler linuxuser!) dann auch per mysql_root verbinden ?
...
Ja, das geht

777
System: Debian 9 (stretch), MariaDB Version 10.1.26-MariaDB-0+deb9u1, PHP 7.0.19

schwedenmann
Beiträge: 5525
Registriert: 30.12.2004 15:31:07
Wohnort: Wegberg

Re: MariaDB auf VM nicht erreichbar

Beitrag von schwedenmann » 03.01.2018 15:41:40

Hallo



du bist doch als root in der Konsole eingeloggt.

als user einloggen und dann genau den Befehl den Befehl den du im terminal gepostet hast ausführen.

also foobar$ anstatt foobar#
und dann den mysql-befehl abfeuern.

mfg
schwedenmann

rammi22
Beiträge: 54
Registriert: 26.07.2017 13:45:46

Re: MariaDB auf VM nicht erreichbar

Beitrag von rammi22 » 03.01.2018 15:49:03

schwedenmann hat geschrieben: ↑ zum Beitrag ↑
03.01.2018 15:41:40
...du bist doch als root in der Konsole eingeloggt....
Sry, hatte ich falsch verstanden...Also, das geht nicht

778

Was sagt mir das jetzt? Eigentlich logge ich mich doch mit root@192.1... an den Server an?
System: Debian 9 (stretch), MariaDB Version 10.1.26-MariaDB-0+deb9u1, PHP 7.0.19

schwedenmann
Beiträge: 5525
Registriert: 30.12.2004 15:31:07
Wohnort: Wegberg

Re: MariaDB auf VM nicht erreichbar

Beitrag von schwedenmann » 03.01.2018 15:59:03

Hallo


Da das als normaler user nicht geht, geht es dann wohl von der GUI nicht, du bist ja wohl bei der graf. Oberfläche als user eingeloggt und nicht als root.

mfg
schwedenmann

P.S.
benutz mal im debianforum die SuFu, da gibt es mindenstens 2 threads zu (einloggen als userlogin) und wie du das wieder behebst.

mfg
schwedenmann

rammi22
Beiträge: 54
Registriert: 26.07.2017 13:45:46

Re: MariaDB auf VM nicht erreichbar

Beitrag von rammi22 » 04.01.2018 08:14:17

schwedenmann hat geschrieben: ↑ zum Beitrag ↑
03.01.2018 15:59:03
...du bist ja wohl bei der graf. Oberfläche als user eingeloggt und nicht als root.
...
Ich vermute mit der grafischen Oberfläche meinst du HeidiSql...

Ich habe jetzt die user Tabelle angepasst und kann mich jetzt als 'normaler User' mit root + passwort bei mysql anmelden auf der linux-Konsole:

779

780

Allerdings HeidiSql kann weiterhin keine Verbindung zum Server aufbauen:

781

Gibt es da keinen Log, den ich mir ansehen könnte, wer versucht auf den Server zugreift? Ich wundere mich, das HeidiSql nicht mal zum Server kommt...

Eventuell muss ich den 'normalen User' einen Zugang freigeben?
System: Debian 9 (stretch), MariaDB Version 10.1.26-MariaDB-0+deb9u1, PHP 7.0.19

rammi22
Beiträge: 54
Registriert: 26.07.2017 13:45:46

Re: MariaDB auf VM nicht erreichbar

Beitrag von rammi22 » 04.01.2018 10:21:03

Der Log von HeidiSql zeigt folgendes:

Code: Alles auswählen

/* 2018-01-04 10:15:31 [Schooling] */ /* Verbindung zu 192.168.56.1 über MySQL (TCP/IP), Benutzername root, benutze Passwort: Yes ... */
/* 2018-01-04 10:15:32 [Schooling] */ /* Can't connect to MySQL server on '192.168.56.1' (10061) */
Was aber meint "...Verbindung zu 192.168.56.1 über MySQL..."? Der MySql-Server liegt doch auf den 192.168...?
System: Debian 9 (stretch), MariaDB Version 10.1.26-MariaDB-0+deb9u1, PHP 7.0.19

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: MariaDB auf VM nicht erreichbar

Beitrag von eggy » 04.01.2018 10:29:03

Du hast grade den relevaten Teil zensiert ;)
Wo läuft der Dienst?

Die Meldung besagt einfach, dass da aus irgendeinem Grund keine Verbindung aufgebaut werden kann.
mögliche Gründe:
- Firewall
- Dienst ist nicht an externe IP gebunden
- Routen stimmen nicht
- komische Einstellungen (NAT?) des Netzwerkes bei Virtualisierung etc
- Mondphase
- etc

rammi22
Beiträge: 54
Registriert: 26.07.2017 13:45:46

Re: MariaDB auf VM nicht erreichbar

Beitrag von rammi22 » 04.01.2018 10:38:41

eggy hat geschrieben: ↑ zum Beitrag ↑
04.01.2018 10:29:03
Du hast grade den relevaten Teil zensiert ;)
Wo läuft der Dienst?
...
Welcher Dienst? mysql läuft auf 198...

Eigentlich sollten alle relevanten Daten oben ersichtlich sein, Netzwerkkonfiguration und Die Konfigurationen auf dem Debian. Sollte da was fehlen, gib Bescheid, ich schau da gerne nach...
System: Debian 9 (stretch), MariaDB Version 10.1.26-MariaDB-0+deb9u1, PHP 7.0.19

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: MariaDB auf VM nicht erreichbar

Beitrag von eggy » 04.01.2018 10:52:15

Ja, genau der. Nur WO?
Private IP brauchst Du (in den meisten Fällen) nicht zensieren.
Öffentliche IPs zensiert man in der Regel, aber bei IPs aus dem 192.168er Bereich ist das (fast immer) unnötig und erschwert nur die Fehlersuche.

(falls das Weglassen nicht aus $Sicherheitszirkusgrund gemacht wurde: fürs "oben suchen" ist mir meine Zeit zu schade)

rammi22
Beiträge: 54
Registriert: 26.07.2017 13:45:46

Re: MariaDB auf VM nicht erreichbar

Beitrag von rammi22 » 04.01.2018 10:56:10

eggy hat geschrieben: ↑ zum Beitrag ↑
04.01.2018 10:52:15
Ja, genau der. Nur WO?
Private IP brauchst Du (in den meisten Fällen) nicht zensieren. ...
Es tut mir leid, ich verstehe nicht, was du mit "zensiert" meinst....


Oder meinst du die

Code: Alles auswählen

192.168.56.1
System: Debian 9 (stretch), MariaDB Version 10.1.26-MariaDB-0+deb9u1, PHP 7.0.19

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: MariaDB auf VM nicht erreichbar

Beitrag von eggy » 04.01.2018 11:03:43

statt 192.168.1.5
192.168....
schreiben

(sehr stark vereinfacht gesagt:)
Die vorderen Bereiche der Ip sind das "Netz" in dem sich die Rechner befinden, die hinteren geben den Rechnern "Nummern". Wenn Du jetzt nur den vorderen Teil aufschreibst, dann wissen wir zwar, dass das Netz (evtl) passt, wissen aber nicht, ob Dein Tool versucht auf Rechner A oder B zuzugreifen. Daher immer (auch wenns mühsam ist) vollständige IPs posten. Falls es Dir (weil öffentliche IP oder andere Gründe) superwichtig ist, dass die genauen Nummern geheim bleiben, auf jeden Fall so ersetzen, dass über alle Logs immer die gleichen Zuordnungen sind und ganz wichtig: auch darauf hinweisen, dass du das gemacht hast.

Edit: typo

rammi22
Beiträge: 54
Registriert: 26.07.2017 13:45:46

Re: MariaDB auf VM nicht erreichbar

Beitrag von rammi22 » 04.01.2018 11:13:07

eggy hat geschrieben: ↑ zum Beitrag ↑
04.01.2018 11:03:43
...Daher immer (auch wenns mühsam ist) vollständige IPs posten...
ok

Code: Alles auswählen

192.168.56.1
System: Debian 9 (stretch), MariaDB Version 10.1.26-MariaDB-0+deb9u1, PHP 7.0.19

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: MariaDB auf VM nicht erreichbar

Beitrag von eggy » 04.01.2018 11:35:13

Also ... der Dienst läuft auf der 192.168.56.1, das Tool sagt "Can't connect to MySQL server on '192.168.56.1' (10061) *
sucht man nach der 10061 kommt: https://dev.mysql.com/doc/refman/5.7/en ... erver.html
"The error (2003) Can't connect to MySQL server on 'server' (10061) indicates that the network connection has been refused. You should check that there is a MySQL server running, that it has network connections enabled, and that the network port you specified is the one configured on the server."
Da steht noch nen bissel was drin, wie man in dem Fall den Fehler findet, lies das mal. Und gib Rückmeldung was Du davon probiert hast

Das da kennst Du schon?
https://mariadb.com/kb/en/library/confi ... nt-access/

pferdefreund
Beiträge: 3791
Registriert: 26.02.2009 14:35:56

Re: MariaDB auf VM nicht erreichbar

Beitrag von pferdefreund » 04.01.2018 12:54:13

Zumindest be Postgresql ist es so, dass der erst mal nur auf Unix-Domain-Sockets lauscht. Ist das da eventuell ähnlich und man muss in der config listen oder wie das auch immer heisst, auf * oder so setzen ? Kenne Mysql nicht - aber wie geschrieben - in Postgresql ist das so.

rammi22
Beiträge: 54
Registriert: 26.07.2017 13:45:46

Re: MariaDB auf VM nicht erreichbar

Beitrag von rammi22 » 04.01.2018 12:54:36

eggy hat geschrieben: ↑ zum Beitrag ↑
04.01.2018 11:35:13
...
Da steht noch nen bissel was drin, wie man in dem Fall den Fehler findet, lies das mal. Und gib Rückmeldung was Du davon probiert hast
...
1. "You should check that there is a MySQL server running": JA

2. "it has network connections enabled": JA
774

3. "and that the network port you specified is the one configured on the server" (aus dem Handbuch)

Code: Alles auswählen

...
shell> mysqladmin -h 127.0.0.1 version...
sagt,"access denied" für User 'root'@'localhost', könnte hier der Grund liegen, das von außen auf die IP und nicht auf den Hostname 'localhost' zugegriffen wird?

782
eggy hat geschrieben: ↑ zum Beitrag ↑
04.01.2018 11:35:13
Das da kennst Du schon?
https://mariadb.com/kb/en/library/confi ... nt-access/
Ja, hatte ich schon angepasst
System: Debian 9 (stretch), MariaDB Version 10.1.26-MariaDB-0+deb9u1, PHP 7.0.19

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: MariaDB auf VM nicht erreichbar

Beitrag von eggy » 04.01.2018 13:20:49

Bei MariaDB ist wohl (ne nach Version/Distribution?) noch ein Plugin aktiv, ich würde als Nächstes mal schauen, obs daran liegt: Details da https://kofler.info/root-login-problem-mit-mariadb/ .

rammi22
Beiträge: 54
Registriert: 26.07.2017 13:45:46

Re: MariaDB auf VM nicht erreichbar

Beitrag von rammi22 » 04.01.2018 13:59:12

s
eggy hat geschrieben: ↑ zum Beitrag ↑
04.01.2018 13:20:49
...obs daran liegt: Details da https://kofler.info/root-login-problem-mit-mariadb/ .
Ich danke dir für dein Engagement, wirklich, und ich weiss das du 'oben' nicht schauen magst. Aber ich wiederhole so meine Beiträge. Auch diese Lösung habe ich schon erfolglos probiert, schaust du hier

Ich will nochmal zusammenfassen:

HeidiSql versucht sich mit einem Remote MySql-Server zu vebinden, dazu wird der Benutzer "root" genutzt und es gibt einen Fehler "Can't connect to MySQL server on '192.168.56.1' (10061)'"

1. Der Remote Server ist eine Virtual Machine von VBox
2. Die IP unter welcher der MySql läuft, ist 192.168.56.1, dort ist ein OS "Debian 9 stretch" installiert
3. Auf dem Debian laufen alle MySql Dienste normal, mit root und password kann ich auf die Datenbanken zugreifen
4. Auf die IP des Debian kann ich normal über den Browser zugreifen
5. Zur Fehlersuche / Lösungsansätze:
5.1. Die Konfigurationsdateien my.cnf und 50-Server.cnf habe ich nach dieser Vorgabe angepasst, also bind-address und skip-networking auskommentiert
5.2. In der User Datenbank habe ich die plugin ausgetragen, so wie hier empfohlen
5.3. Bei der Fehlersuche (10061) aus dem MySql Handbuch komme ich bis zu

Code: Alles auswählen

...
shell> mysqladmin -h 127.0.0.1 version
...
mit dem Fehler das 'root'@'localhost' der Zugang verweigert wird

Was kann ich nun tun? Nochmals die Frage, gibt es keinen Log auf dem Debian, welcher mir mehr Auskunft über den Zugang geben kann?
System: Debian 9 (stretch), MariaDB Version 10.1.26-MariaDB-0+deb9u1, PHP 7.0.19

rammi22
Beiträge: 54
Registriert: 26.07.2017 13:45:46

Re: MariaDB auf VM nicht erreichbar

Beitrag von rammi22 » 04.01.2018 14:55:14

Ich habe wohl am falschen Ende gesucht...
eggy hat geschrieben: ↑ zum Beitrag ↑
04.01.2018 10:29:03
...
Die Meldung besagt einfach, dass da aus irgendeinem Grund keine Verbindung aufgebaut werden kann.
mögliche Gründe:
...
- komische Einstellungen (NAT?) des Netzwerkes bei Virtualisierung etc
...
Bislang greife ich ja nur auf den Port 80, will aber an den 3306 der VM, also musste ich die Port-Weiterleitung nach 3306 noch einrichten...

783

...und schon bekomme ich eine eindeutige Meldung:

784

So, nun versuche ich noch, dem user den Zugang zu ermöglichen...
System: Debian 9 (stretch), MariaDB Version 10.1.26-MariaDB-0+deb9u1, PHP 7.0.19

rammi22
Beiträge: 54
Registriert: 26.07.2017 13:45:46

[solved] Gelöst

Beitrag von rammi22 » 04.01.2018 15:06:35

Und endlich...

785

Vielen Dank

Rammi
System: Debian 9 (stretch), MariaDB Version 10.1.26-MariaDB-0+deb9u1, PHP 7.0.19

Antworten