Gelöst: DBLog, MariaDB externe SSD

Begonnen von MadMax, 23 Juli 2021, 12:55:54

Vorheriges Thema - Nächstes Thema

MadMax

Hallo Zusammen,

ich habe an meine RPi 4 eine Externe 16gb SSD angeschlossen wo ich meinen MariaDB drauf auslagern wollte.
Das funktioniert soweit auch, nur werden mir die Plots jetzt teilweise unvollständig angezeigt.

Im Log habe ich dazu auch merkwürdige Meldungen. Teilweise werden die Plots aber auch vollständig angezeigt.


2021.07.23 12:42:14 2: DbLog DbLog.PV -> Error rollback history - DBD::mysql::db rollback failed: Turning on AutoCommit failed at ./FHEM/93_DbLog.pm line 2152.

2021.07.23 12:42:14 2: DbLog DbLog.PV - DBI connect('database=fhem;host=localhost;port=3306','fhemuser',...) failed: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111) at ./FHEM/93_DbLog.pm line 3314.

2021.07.23 12:42:14 2: DbLog DbLog.Verbraucher - DBI connect('database=fhem;host=localhost;port=3306','fhemuser',...) failed: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111) at ./FHEM/93_DbLog.pm line 3314.

2021.07.23 12:42:14 2: DbLog DbLog.Verbraucher - DBI connect('database=fhem;host=localhost;port=3306','fhemuser',...) failed: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111) at ./FHEM/93_DbLog.pm line 3314.

2021.07.23 12:42:15 1: PERL WARNING: DBD::mysql::st execute failed: Lost connection to MySQL server during query at ./FHEM/93_DbLog.pm line 3696.
2021.07.23 12:42:15 2: DbLog DbLog.SMA_EM -> Error table history - DBD::mysql::st execute_array failed: MySQL server has gone away [err was 2006 now 2000000000]
executing 7 generated 7 errors at ./FHEM/93_DbLog.pm line 2114.

2021.07.23 12:42:15 2: DbLog DbLog.SMA_EM -> Error rollback history - DBD::mysql::db rollback failed: Turning on AutoCommit failed at ./FHEM/93_DbLog.pm line 2152.

2021.07.23 12:42:15 1: PERL WARNING: DBD::mysql::st execute failed: Lost connection to MySQL server during query at ./FHEM/93_DbLog.pm line 3696.
2021.07.23 12:42:15 1: PERL WARNING: DBD::mysql::st execute failed: Lost connection to MySQL server during query at ./FHEM/93_DbLog.pm line 3696.
2021.07.23 12:42:15 2: DbLog DbLog.HKV - DBI connect('database=fhem;host=localhost;port=3306','fhemuser',...) failed: Lost connection to MySQL server at 'handshake: reading initial communication packet', system error: 104 at ./FHEM/93_DbLog.pm line 3314.

2021.07.23 12:42:15 1: PERL WARNING: DBD::mysql::st execute failed: Lost connection to MySQL server during query at ./FHEM/93_DbLog.pm line 3696.
2021.07.23 12:42:15 2: DbLog DbLog.HKV - DBI connect('database=fhem;host=localhost;port=3306','fhemuser',...) failed: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111) at ./FHEM/93_DbLog.pm line 3314.

2021.07.23 12:42:16 2: DbLog DbLog.WP - DBI connect('database=fhem;host=localhost;port=3306','fhemuser',...) failed: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111) at ./FHEM/93_DbLog.pm line 3314.

2021.07.23 12:42:16 2: DbLog DbLog.HKV - DBI connect('database=fhem;host=localhost;port=3306','fhemuser',...) failed: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111) at ./FHEM/93_DbLog.pm line 3314.

2021.07.23 12:42:16 2: DbLog DbLog.Heizstab - DBI connect('database=fhem;host=localhost;port=3306','fhemuser',...) failed: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111) at ./FHEM/93_DbLog.pm line 3314.

2021.07.23 12:42:17 2: DbLog DbLog.SMA_EM -> Error table history - DBD::mysql::st execute_array failed: MySQL server has gone away [err was 2006 now 2000000000]
executing 3 generated 3 errors at ./FHEM/93_DbLog.pm line 2114.

2021.07.23 12:42:17 2: DbLog DbLog.SMA_EM -> Error rollback history - DBD::mysql::db rollback failed: Turning on AutoCommit failed at ./FHEM/93_DbLog.pm line 2152.

2021.07.23 12:42:18 2: DbLog DbLog.Heizstab -> Error table history - DBD::mysql::st execute_array failed: Lost connection to MySQL server during query [err was 2013 now 2000000000]
executing 1 generated 1 errors at ./FHEM/93_DbLog.pm line 2114, <GEN20> line 23.

2021.07.23 12:42:18 2: DbLog DbLog.Heizstab -> Error rollback history - DBD::mysql::db rollback failed: Turning on AutoCommit failed at ./FHEM/93_DbLog.pm line 2152, <GEN20> line 23.

2021.07.23 12:42:19 2: DbLog DbLog.SMA_EM - DBI connect('database=fhem;host=localhost;port=3306','fhemuser',...) failed: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111) at ./FHEM/93_DbLog.pm line 3314.

2021.07.23 12:42:21 2: DbLog DbLog.WP -> Error table history - DBD::mysql::st execute_array failed: Lost connection to MySQL server during query [err was 2013 now 2000000000]
executing 1 generated 1 errors at ./FHEM/93_DbLog.pm line 2114.

2021.07.23 12:42:21 2: DbLog DbLog.WP -> Error rollback history - DBD::mysql::db rollback failed: Turning on AutoCommit failed at ./FHEM/93_DbLog.pm line 2152.

2021.07.23 12:42:21 2: DbLog DbLog.SMA_EM - DBI connect('database=fhem;host=localhost;port=3306','fhemuser',...) failed: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111) at ./FHEM/93_DbLog.pm line 3314.

2021.07.23 12:42:23 2: DbLog DbLog.WP -> Error table history - DBD::mysql::st execute_array failed: Lost connection to MySQL server during query [err was 2013 now 2000000000]
executing 1 generated 1 errors at ./FHEM/93_DbLog.pm line 2114.

2021.07.23 12:42:23 2: DbLog DbLog.WP -> Error rollback history - DBD::mysql::db rollback failed: Turning on AutoCommit failed at ./FHEM/93_DbLog.pm line 2152.


Ich habe die SSD gemountet unter "/ssd/" die Datenbankdateien aus "/var/lib/mysql" kopiert, die Rechte wie im Original Ordner vergeben.
Dann unter "/etc/mysql/mariadb.conf.d" die "50-server.cnf" bearbeitet, den neuen Pfad bei "datadir" angegeben.

Alles neugestartet.

Hat hier jemand eine Idee?

Gruß
Max
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 5x SMA Wechselrichter, BYD HVM, SMA EVCharger, Daikin Wärmepumpe über CAN

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

DS_Starter

Hallo Max,

ich denke der Hauptgrund ist dass die DB die Verbindung abbaut:


DBD::mysql::st execute_array failed: MySQL server has gone away


Alles andere dürften Folgefehler sein.

Kontrolliere mal die Servervariable max_allowed_packet. Ansonsten ist Google dein Freund was "MySQL server has gone away" betrifft, z.B. hier https://praxistipps.chip.de/error-mysql-server-has-gone-away-so-beheben-sie-die-fehlermeldung_105684

Grüße,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

MadMax

Hallo Heiko,

danke für den Tip, leider ändert dies nix und Google hilft mir da auch nicht weiter, ich habe noch die Timeouts angepasst aber irgendwie möchte das alles nicht.

Gruß
Max
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 5x SMA Wechselrichter, BYD HVM, SMA EVCharger, Daikin Wärmepumpe über CAN

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

DS_Starter

Zeig doch mal bitte deine Serverparameter. Vllt. fällt mir oder einem anderen User etwas auf.
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

DS_Starter

ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

MadMax

#5
Nein, nur die 2,3gb von der Datenbank. Die soll nur dafür sein.
Die ssd hat 16gb und ist von Samsung, über USB 3.0 -> SATA angeschlossen.
Formatiert mit exFat.


#
# 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
#datadir = /ssd/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

#
# * Fine Tuning
#
key_buffer_size = 16M
#key_buffer_size = 64M
max_allowed_packet = 512M
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         = BACKUP
#max_connections        = 100
#table_cache            = 64
#thread_concurrency     = 10

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

#
# * 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 = include_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.
# ssl-cipher=TLSv1.2


#
# * 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.0 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.0]



Aktuell läuft die DB wieder auf der sd vom Pi.
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 5x SMA Wechselrichter, BYD HVM, SMA EVCharger, Daikin Wärmepumpe über CAN

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

DS_Starter

Möglicherweise waren/sind deine kopierten Datenbankdateien nicht i.O. ?
Könnte ich mir jedenfalls vorstellen dass die DB dann so rumzickt.
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

MadMax

Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 5x SMA Wechselrichter, BYD HVM, SMA EVCharger, Daikin Wärmepumpe über CAN

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

DS_Starter

Ja, ich würde ein Backup/Export machen mit  mysqldump nativ.
Dann die Lage der Datendateien anpassen, eine neue DB anlegen und den dump reinziehen. Tabellen sollten dann automatisch richtig angleget werden.
Dan DbLog Parameter anpassen und weitermachen.
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Wernieman

Mal geguckt, ob USB Fehler wirft? Oder i/o Fehler des Device?

z.B.
zgrep -i i/o /var/log/kern.log*

Was für Rechte hat überhaupt der Mountpoint?

Du hättest die SSD auch einfach in den mysql-Ordner mounten können. Bei Unix muß nicht ein Device auf oberster Ebene sein ...
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

MadMax

Vielen Dank,
Werde ich ausprobieren und noch Infos liefern.
Hatte nicht so schnell mit Antworten gerechnet.
Jetzt ist erstmal Besuch da.

Gruß
Max
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 5x SMA Wechselrichter, BYD HVM, SMA EVCharger, Daikin Wärmepumpe über CAN

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

MadMax

Hallo,

der Fehler sitzt meistens 30cm vor dem Bildschirm...

Ich hatte mal eure Tipps versucht aber bin nicht zum erhofften Erfolg gekommen.

Das Problem war, eine Datenbank zu kopieren bei laufenden SQL Server und Fhem, dadurch ist die Datenbank wahrscheinlich Inkonsistent oder so geworden. (irgendwie auch logisch das man das nicht macht)

Auf jeden Fall hatte ich dann Fhem und dien SQL Server gestoppt, die DB auf die SSD Kopiert, die Äderungen in der Konfig vorgenommen, SQL Server gestartet, FHEM gestartet und jetzt scheint alles zu passen :)

Danke.

Gruß
Max
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 5x SMA Wechselrichter, BYD HVM, SMA EVCharger, Daikin Wärmepumpe über CAN

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

Wernieman

mySQL hällt viel im Speicher, d.h. im laufenden Betrieb sind die Dateien der DB nicht konsistent. Deshalb soll man so auch keine DB sichern 8Backup)

Wenn mySQL im laufenden betrieb abschmiert, ist deshalb IMMER ein Crash-Recovery-nötig. Der kann funktionieren, muß aber nicht. Und Laut Murphy, genau wenn man es braucht ....
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

MadMax

Alles klar, danke.

Da lernt man draus.
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 5x SMA Wechselrichter, BYD HVM, SMA EVCharger, Daikin Wärmepumpe über CAN

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax