Hallo Andreas,
Deinen Tip habe ich versucht, anhand des wikis (https://wiki.volkszaehler.org/howto/datenmengen) umzusetzen mit
php /var/www/volkszaehler.org/bin/aggregate run -m full -l day -l hour -l minute
, das stiess relativ bald wieder an das lock-Problem. Daraufhin habe ich den cron zwischenzeitlich stillgelegt. Allerdings läuft/lief der vzlogger ja auch noch, deshalb habe ich den wiki-Tip mit diesen drei Zeilen (auch aus dem wiki) im crontab umzusetzen:*/10 * * * * php /var/www/volkszaehler.org/bin/aggregate run -m delta -l minute >/dev/null 1 * * * * php /var/www/volkszaehler.org/bin/aggregate run -m delta -l hour >/dev/null 0 1 * * * php /var/www/volkszaehler.org/bin/aggregate run -m delta -l day >/dev/nullDanach habe ich den cron natürlich wieder eingeschaltet. Das Ergebnis ist in allen Fällen negativ, d.h. es bleibt zäh.Gibt es noch etwas anderes, was ich an der Web-Frontendperformance optimieren könnte ? Wie ist das denn im originären Image eingestellt ?Beste GrüßeJD.
Sent: Wednesday, June 10, 2020 at 6:52 PM
From: "Andreas Goetz" <cpui...@gmail.com>
To: "volkszaehler.org - users" <volkszaehler-users@demo.volkszaehler.org>
Subject: Re: [vz-users] Bevorstehender Kartencrash
From: "Andreas Goetz" <cpui...@gmail.com>
To: "volkszaehler.org - users" <volkszaehler-users@demo.volkszaehler.org>
Subject: Re: [vz-users] Bevorstehender Kartencrash
Ja:
Aggregationstabelle wieder füllen (bin/aggregate) und dann den cronjob wieder einschalten der regelmässig die Deltas aktualisiert. Du hattest cron komplett deaktiviert glaube ich?
Viele Grüße, Andreas
Am 10.06.2020 um 18:49 schrieb John Doe <john...@null.net>:
Hallo Andreas,noch eine kurze Frage:Seit dem Restore reagiert das Web-Frontend unglaublich "zäh", das Wechseln zwischen Woche, Monat, Jahr etc. kommt nahezu immer mit "Gateway timeout" raus.Gibt 's da noch etwas zu Optimieren ?Beste GrüßeJD.Sent: Wednesday, June 10, 2020 at 6:32 PM
From: "Andreas Goetz" <cpui...@gmail.com>
To: "volkszaehler.org - users" <volkszaehler-users@demo.volkszaehler.org>
Subject: Re: [vz-users] Bevorstehender KartencrashHi JD,On 10. Jun 2020, at 18:29, John Doe <john...@null.net> wrote:Hallo Andreas,nach dem Neuaufsetzten hatte ich in der vzlogger.conf die UIDs eingetragen, die mir nach dem Neu-Anlegen der Kanäle im Web-Frontend angezeigt wurden.Nach dem heutigen restore haten diese andere UIDs (verifiziert durch das "i”).Dann ist es klar: Du hast *neue* Kanäle angelegt und in die vzlogger.conf eingetragen. Anschließend hattest Du alles gelöscht und die *alten* Kanäle restored, die vzlogger war aber noch die alte. Zwei Schritte zuviel ;)Nachdem ich diese in der vzlogger.conf eingetragen hatte, lief alles auf Anhieb.Aber egal, Hauptsache es läuft wieder. Erstaunlicherweise hat sich gezeigt, dass die letzten Eiträge aus der DB vom 06.06. spät Abends sind, der Raspi aber zumindest bis zum Morgen des 07.06. in Kontakt mit der Firewall stand.Das wiki für meinen Teil der letzten Tage übernehme ich gerne. Was genau muss ich (neben der Prosa) dafür tun ?Da müssen die Experten helfen- eigentlich nur den richtigen Platz im Wiki suchen und dann strukturiert dokumentieren:- welches Problem soll gelöst werden?- aus welchen Schritten besteht die Lösung?- wie sehen die Schritte im Einzelnen aus?- welche Werkzeuge kommen jeweils zum Einsatz wenn man auf Probleme stößt?Beste GrüßeJD.Schönen Abend und Viele Grüße, AndreasSent: Wednesday, June 10, 2020 at 5:07 PM
From: "Andreas Goetz" <cpui...@gmail.com>
To: "volkszaehler.org - users" <volkszaehler-users@demo.volkszaehler.org>
Subject: Re: [vz-users] Bevorstehender KartencrashDas ist auch schwer zu glauben. Die UUIDs stehen in der Datenbank, die können nicht spontan nicht mehr passen. Wenn sie das tun dann hast Du vmtl. eine falsche vzlogger.conf zurück gespielt?Nachdem wir das jetzt mit allen Stolperfallen durchgespielt haben- hättest Du evtl. Lust den Prozess des Restore vielleicht nochmal für‘s Wiki zu dokumentieren? Umzug auf ein NAS wäre dann in analoger Form möglich, Docker kann zusätzlich umgesetzt werden.Viele Grüße,AndreasAm 10.06.2020 um 17:01 schrieb John Doe <john...@null.net>:
Hallo Andreas,erstmal Danke für Deine Leidensfäfigkeit!Ich hab' den Fehler gefunden - die UIDs in der vzlogger.conf passten nicht mehr.Jetzt läuft alles bestens.Ich werde mal darüber nachdenken, das Ganze etwas ausfallsicherer zu machen.Allerdings sehe ich aktuell noch keinen Mehrwert darin, den Raspi von einer SSD booten zu lassen und das Ganze dann auf diesem Wege auszulagern, da dieser Verbund wiederum natürlich mehr Strom verbraucht ...Nochmal Danke für Deine Bemühungen!Beste GrüßeJD.Sent: Wednesday, June 10, 2020 at 4:56 PM
From: "Andreas Goetz" <cpui...@gmail.com>
To: "volkszaehler.org - users" <volkszaehler-users@demo.volkszaehler.org>
Subject: Re: [vz-users] Bevorstehender KartencrashErstmal Glückwunsch!Ich würde ja die gleiche Frage stellen wie immer: was steht im Logfile? In diesem Falle also dem von vzlogger?Wenn da nix drin steht: kannst Du das Volkszähler API im Browser aufrufen?Viele Grüße, AndreasAm 10.06.2020 um 16:37 schrieb John Doe <john...@null.net>:
Hallo Andreas,das war 's:Ein/etc/init.d/cron stophat es ermöglicht, das der restore fehlerfrei durchgelaufen ist.Im Webfrontend ist alles da - bis auf das Problemchen, das keine aktuellen Werte mehr ankommen ...Der cronjob und der vzlogger laufen:pi@raspberrypi:~ $ /etc/init.d/cron status
● cron.service - Regular background program processing daemon
Loaded: loaded (/lib/systemd/system/cron.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2020-06-10 16:28:20 CEST; 8min ago
Docs: man:cron(8)
Main PID: 410 (cron)
Tasks: 4 (limit: 2068)
CGroup: /system.slice/cron.service
├─ 410 /usr/sbin/cron -f
├─1043 /usr/sbin/CRON -f
├─1047 /bin/sh -c php /var/www/volkszaehler.org/bin/aggregate run -m delta -l minute >/dev/null
└─1048 php /var/www/volkszaehler.org/bin/aggregate run -m delta -l minuteJun 10 16:28:20 raspberrypi systemd[1]: Started Regular background program processing daemon.
Jun 10 16:28:20 raspberrypi cron[410]: (CRON) INFO (pidfile fd = 3)
Jun 10 16:28:20 raspberrypi cron[410]: (CRON) INFO (Running @reboot jobs)
Jun 10 16:30:01 raspberrypi CRON[1043]: pam_unix(cron:session): session opened for user pi by (uid=0)
Jun 10 16:30:01 raspberrypi CRON[1047]: (pi) CMD (php /var/www/volkszaehler.org/bin/aggregate run -m delta -l minute >/dev/null)pi@raspberrypi:~ $ sudo systemctl status vzlogger
● vzlogger.service - vzlogger
Loaded: loaded (/etc/systemd/system/vzlogger.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2020-06-10 16:28:35 CEST; 8min ago
Main PID: 738 (vzlogger)
Tasks: 5 (limit: 2068)
CGroup: /system.slice/vzlogger.service
└─738 /usr/local/bin/vzlogger -c /etc/vzlogger.confJun 10 16:28:35 raspberrypi systemd[1]: Started vzlogger.Hättest Du eine Idee, woran das liegen kann ?GrüßeJD.Sent: Wednesday, June 10, 2020 at 1:31 PM
From: "Andreas Goetz" <cpui...@gmail.com>
To: "volkszaehler.org - users" <volkszaehler-users@demo.volkszaehler.org>
Subject: Re: [vz-users] Bevorstehender KartencrashMoment- mir kommt noch ein Gedanke. Kann es sein, dass bei Dir auch der cron-Job für die Aggretation noch aktiv ist? Da dieser auch Massendatenoperationen mit der `data` Tabelle macht darf der auch nicht laufen!Bei Dir scheinen definitiv >1 Prozess auf der Datenbank rumzudaddeln die sich dann (“deadlock”) ins Gehege kommen. Es sollte *nur* der Restore laufen!Viele Grüße,AndreasOn 10. Jun 2020, at 13:28, Andreas Goetz <cpui...@gmail.com> wrote:Womit bricht es ab? gleicher Fehler?Wenn Dein vzlogger gestoppt ist dann starte den Kopiervorgang- wie ich geschrieben hatte- einfach neu. Der geht an der letzten Stelle wieder los. Wenn Du jedesmal zwischendurch ohne Not die Datenbank platt machst wird das natürlich nichts :OViele Grüße, AndreasOn 10. Jun 2020, at 13:26, John Doe <john...@null.net> wrote:Hallo Andreas,ich habe jetzt einige Male "von vorne begonnen":pi@raspberrypi:~ $ bin/doctrine orm:schema-tool:drop --forcepi@raspberrypi:~ $ bin/doctrine orm:schema-tool:createpi@raspberrypi:~ $ bin/doctrine orm:schema-tool:create --dump-sqlpi@raspberrypi:~ $ sudo /var/www/volkszaehler.org/vendor/bin/dbcopy copy -c /etc/dbcopy.yamlDas Kopieren von data bricht immer wieder an zufälligen Stellen ab, beim letzten Mal nach ca. 1500000/29000000 rows.vzlogger ist sicher gestopt:pi@raspberrypi:~ $ sudo systemctl status vzlogger
● vzlogger.service - vzlogger
Loaded: loaded (/etc/systemd/system/vzlogger.service; enabled; vendor preset: enabled)
Active: failed (Result: timeout) since Wed 2020-06-10 12:22:05 CEST; 1h 3min ago
Main PID: 750 (code=killed, signal=KILL)Ich probiere das Ganze heute abend nochmal und berichte dann wieder.GrüßeJD.Sent: Wednesday, June 10, 2020 at 12:34 PM
From: "Andreas Goetz" <cpui...@gmail.com>
To: "volkszaehler.org - users" <volkszaehler-users@demo.volkszaehler.org>
Subject: Re: [vz-users] Bevorstehender KartencrashHi JD,hast Du die Datenbank wieder leer gemacht? Falls nein droht Dir inkonsistenter Stand oder schlimmstenfalls Abbruch des Restores….Falls Du es laufen lassen willst und es dann doch noch abbrechen sollte weisst Du was zu tun ist: die Datenbank komplett wieder abräumen kann auchbin/doctrine orm:schema-tool:dropViele Grüße,AndreasOn 10. Jun 2020, at 12:28, John Doe <john...@null.net> wrote:Hallo Andreas,Du hattest irgendwie recht: Ich hatte zwar einsudo systemctl status vzloggervor dem restore spendiert, allerdings schien der Dienst sich noch in einem Zombizustand zu befinden:pi@raspberrypi:~ $ sudo systemctl status vzlogger
● vzlogger.service - vzlogger
Loaded: loaded (/etc/systemd/system/vzlogger.service; enabled; vendor preset: enabled)
Active: deactivating (stop-sigterm) since Wed 2020-06-10 12:20:24 CEST; 1min 38s ago
Main PID: 750 (vzlogger)
Tasks: 1 (limit: 2068)
CGroup: /system.slice/vzlogger.service
└─750 /usr/local/bin/vzlogger -c /etc/vzlogger.confJun 10 12:20:10 raspberrypi systemd[1]: Started vzlogger.
Jun 10 12:20:24 raspberrypi systemd[1]: Stopping vzlogger...Ich habe rebootet, gecheckt:pi@raspberrypi:~ $ sudo systemctl stop vzloggerUnd den restore nochmal angeworfen. Aktuell läuft er noch, ich melde moich wieder.Beste GrüßeJD.Sent: Wednesday, June 10, 2020 at 12:03 PM
From: "Andreas Goetz" <cpui...@gmail.com>
To: "volkszaehler.org - users" <volkszaehler-users@demo.volkszaehler.org>
Subject: Re: [vz-users] Bevorstehender KartencrashIn dem Fall kannst Du den Restore Prozess einfach nochmal anstarten. Die große Tabelle ist data, die wird dann nur schrittweise kopiert.Aber zur Sicherheit: Du hast nicht noch parallel vzlogger gegen die neue (Ziel-)Datenbank laufen? Es wundert mich doch sehr dass es da einen Deadlock in MySQL gibt.Viele Grüße,AndreasAm 10.06.2020 um 11:52 schrieb John Doe <john...@null.net>:
Schade, zu früh gefreut:data: copying 29003424 rows (partial copy)
[>---------------------------] 2% 3 mins/2 hrs 629000 rows
In AbstractMySQLDriver.php line 34:
An exception occurred while executing 'INSERT INTO `data` (`id`,`channel_id`,`timestamp`,`value`) VALUES (?,?,?,?)' with params [
"629070", "1", "1560170157864", "52342.2111"]:
SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction
In PDOStatement.php line 119:
SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction
In PDOStatement.php line 117:
SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction
copy [-c|--config CONFIG] [-b|--batch BATCH] [-k|--keep-constraints] [--] [<tables>...]GrüßeJD.Sent: Wednesday, June 10, 2020 at 11:49 AM
From: "John Doe" <john...@null.net>
To: volkszaehler-users@demo.volkszaehler.org
Subject: Re: [vz-users] Bevorstehender KartencrashHallo Andreas,das sieht besser aus:pi@raspberrypi:~/volkszaehler.org $ bin/doctrine orm:schema-tool:create!
! [CAUTION] This operation should not be executed in a production environment!
!Creating database schema...
[OK] Database schema created successfully!Aktuell wird die Datenbank kopiert, daher melde ich mich in zwei Stunden mit dem Ergebnis.Bis dahin erst mal tausend Dank !GrüßeJD.Sent: Wednesday, June 10, 2020 at 11:34 AM
From: "Andreas Goetz" <cpui...@gmail.com>
To: "volkszaehler.org - users" <volkszaehler-users@demo.volkszaehler.org>
Subject: Re: [vz-users] Bevorstehender KartencrashOK, dann ohne das —force. Alternativ kannst Du auch (falls das Schema in Teilen existiert) ein inkrementelles Update machen:bin/doctrine orm:schema-tool:updateViele Grüße, AndreasOn 10. Jun 2020, at 11:20, John Doe <john...@null.net> wrote:Hallo Andreas,gerne:pi@raspberrypi:~/volkszaehler.org $ bin/doctrine orm:schema-tool:create --dump-sqlThe following SQL statements will be executed:CREATE TABLE aggregate (id INT AUTO_INCREMENT NOT NULL, channel_id INT DEFAULT NULL, type SMALLINT NOT NULL, timestamp BIGINT NOT NULL, value DOUBLE PRECISION NOT NULL, count INT NOT NULL, INDEX IDX_B77949FF72F5A1AA (channel_id), UNIQUE INDEX aggregate_unique (channel_id, type, timestamp), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
CREATE TABLE entities (id INT AUTO_INCREMENT NOT NULL, uuid VARCHAR(36) NOT NULL, type VARCHAR(255) NOT NULL, class VARCHAR(255) NOT NULL, UNIQUE INDEX UNIQ_50EC64E5D17F50A6 (uuid), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
CREATE TABLE entities_in_aggregator (parent_id INT NOT NULL, child_id INT NOT NULL, INDEX IDX_2BD88468727ACA70 (parent_id), INDEX IDX_2BD88468DD62C21B (child_id), PRIMARY KEY(parent_id, child_id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
CREATE TABLE properties (id INT AUTO_INCREMENT NOT NULL, entity_id INT DEFAULT NULL, pkey VARCHAR(255) NOT NULL, value LONGTEXT NOT NULL, INDEX IDX_87C331C781257D5D (entity_id), UNIQUE INDEX property_unique (entity_id, pkey), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
CREATE TABLE data (id INT AUTO_INCREMENT NOT NULL, channel_id INT DEFAULT NULL, timestamp BIGINT NOT NULL, value DOUBLE PRECISION NOT NULL, INDEX IDX_ADF3F36372F5A1AA (channel_id), UNIQUE INDEX data_unique (channel_id, timestamp), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
ALTER TABLE aggregate ADD CONSTRAINT FK_B77949FF72F5A1AA FOREIGN KEY (channel_id) REFERENCES entities (id);
ALTER TABLE entities_in_aggregator ADD CONSTRAINT FK_2BD88468727ACA70 FOREIGN KEY (parent_id) REFERENCES entities (id);
ALTER TABLE entities_in_aggregator ADD CONSTRAINT FK_2BD88468DD62C21B FOREIGN KEY (child_id) REFERENCES entities (id);
ALTER TABLE properties ADD CONSTRAINT FK_87C331C781257D5D FOREIGN KEY (entity_id) REFERENCES entities (id);
ALTER TABLE data ADD CONSTRAINT FK_ADF3F36372F5A1AA FOREIGN KEY (channel_id) REFERENCES entities (id);pi@raspberrypi:~/volkszaehler.org $ bin/doctrine orm:schema-tool:create —force
Too many arguments, expected arguments "command".
orm:schema-tool:create [--dump-sql]GrüßeJD.Sent: Wednesday, June 10, 2020 at 10:48 AM
From: "Andreas Goetz" <cpui...@gmail.com>
To: "volkszaehler.org - users" <volkszaehler-users@demo.volkszaehler.org>
Subject: Re: [vz-users] Bevorstehender KartencrashMhhm, alles sehr merkwürdig. Versuch bitte nochmal das Schema im Ziel anzulegen:bin/doctrine orm:schema-tool:create --dump-sqlOutput bitte zeigen. Dann:bin/doctrine orm:schema-tool:create —forcezum anlegen.Vielen Dank, AndreasOn 10. Jun 2020, at 10:44, John Doe <john...@null.net> wrote:Hallo Andreas,das scheint zunächst zu klappen:pi@raspberrypi:~ $ /var/www/volkszaehler.org/vendor/bin/dbcopy create -c /etc/dbcopy.yaml
Creating target schema
Creating tables
Updating schema assets for target platform compatibility: sqliteDie dbcopy.yaml:# DATABASE DEFINITION
source:
driver: pdo_mysql
host: localhost
user: vz
password: demo
dbname: volkszaehlertarget:
driver: pdo_sqlite
host: localhost
user: root
password: raspberry
dbname: volkszaehler_backup
path: sqlite.db3 # path is only used if driver = pdo_sqlite
# influxdb target database connection
influx:
dsn: influxdb://localhost:8086
dbname: volkszaehler
measurement: data
# TABLE DEFINITION
# ----------------
# tables will be processed in the order they are mentioned:
# - foreign keys on target will be dropped
# - if a table is not listed here, it will not be touched
# transfer mode
# skip: table will not be copied
# copy: entire table will be truncated on target and copied from source
# pk: selective copy by primary key. only data not present on target
# will be copied from source.
tables:
entities: copy
properties: copy
entities_in_aggregator: copy
data: pk
aggregate: skipBei Vertauschung von sorec und target passiert leider das:pi@raspberrypi:~ $ /var/www/volkszaehler.org/vendor/bin/dbcopy copy -c /etc/dbcopy.yamlIn CopyCommand.php line 49:
Table entities doesn't exist.To create the schema run
doctrine.php orm:schema-tool:create --dump-sql
copy [-c|--config CONFIG] [-b|--batch BATCH] [-k|--keep-constraints] [--] [<tables>...]Hättest Du noch einen Tip, oder ist mein Backup verloren ?GrüßeJD.Sent: Wednesday, June 10, 2020 at 10:35 AM
From: "Andreas Goetz" <cpui...@gmail.com>
To: "volkszaehler.org - users" <volkszaehler-users@demo.volkszaehler.org>
Subject: Re: [vz-users] Bevorstehender KartencrashKlar:❯ ./vendor/bin/dbcopyDatabase backup toolUsage:command [options] [arguments]Options:-h, --help Display this help message.Available commands:clear Clear target tablescopy Run copycreate Create target schemadrop Drop target schemahelp Displays help for a commandinflux Copy data to InfluxDBlist Lists commandscreate wäre in diesem Fall das Kommando der Wahl!Viele Grüße, AndreasOn 10. Jun 2020, at 09:52, John Doe <john...@null.net> wrote:Hallo zusammen,einDROP DATABASE volkszaehler;CREATE DATABASE volkszaehler;hat nun leider zur Folge, das nach dem Wiederherstellen meines Backups mitsudo /var/www/volkszaehler.org/vendor/bin/dbcopy copy -c /etc/dbcopy.yamlmeine Kanäle weg sind.Hat noch jemand einen Tip, wie ich meine alten Daten wieder herstellen kann ?Beste GrüßeJD.Sent: Tuesday, June 09, 2020 at 7:07 PM
From: "Andreas Goetz" <cpui...@gmail.com>
To: "volkszaehler.org - users" <volkszaehler-users@demo.volkszaehler.org>
Subject: Re: [vz-users] Bevorstehender KartencrashSieht aus als wären die Daten schon vorhanden (duplicate key)- hattest Du die Zieldatenbank denn wieder leer gemacht?Viele Grüße, AndreasAm 09.06.2020 um 19:02 schrieb John Doe <john...@null.net>:
Hallo Andreas,es scheint prinzipiell am User, unabhängig vom PW zu liegen:mysql -u root -h localhost volkszaehler
ERROR 1698 (28000): Access denied for user 'root'@'localhost'127.0.0.1 führt zum gleichen Ergebnis.Mitsudo mysql -u root -h localhost volkszaehlerklappt das Ganze. Leider hängt es nun hier:data: copying 28925979 rows (partial copy)
[>---------------------------] 0% < 1 sec/< 1 sec 0 rows
In AbstractMySQLDriver.php line 55:
An exception occurred while executing 'INSERT INTO `data` (`id`,`channel_id`,`timestamp`,`value`) VALUES (?,
?,?,?)' with params ["77446", "1", "1559552806523", "52268.478"]:
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '77446' for key 'PRIMARY'
In PDOStatement.php line 119:
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '77446' for key 'PRIMARY'
In PDOStatement.php line 117:
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '77446' for key 'PRIMARY'
copy [-c|--config CONFIG] [-b|--batch BATCH] [-k|--keep-constraints] [--] [<tables>...]GrüßeJD.Sent: Tuesday, June 09, 2020 at 6:07 PM
From: "Andreas Goetz" <cpui...@gmail.com>
To: "volkszaehler.org - users" <volkszaehler-users@demo.volkszaehler.org>
Subject: Re: [vz-users] Bevorstehender KartencrashOn 9. Jun 2020, at 17:28, John Doe <john...@null.net> wrote:Hallo Andreas,das klappt nicht:pi@raspberrypi:~ $ /var/www/volkszaehler.org/vendor/bin/dbcopy copy -c /etc/dbcopy.yamlIn AbstractMySQLDriver.php line 106:
An exception occurred in driver: SQLSTATE[HY000] [1698] Access denied for user 'root'@'localhost'
In PDOConnection.php line 31:
SQLSTATE[HY000] [1698] Access denied for user 'root'@'localhost'
In PDOConnection.php line 27:
SQLSTATE[HY000] [1698] Access denied for user 'root'@'localhost'
copy [-c|--config CONFIG] [-b|--batch BATCH] [-k|--keep-constraints] [--] [<tables>...]Ich bin mir hundertprozentig sicher, dass die user/pw-Kombi stimmt ...Das ist…. sehr unwahrscheinlich. Was passiert denn beim Login auf der Kommandozeile mit der gleichen Kombination (https://stackoverflow.com/questions/5131931/connecting-to-mysql-from-the-command-line)?Evtl. liegt es auch an https://github.com/volkszaehler/volkszaehler.org/pull/799?Viele Grüße, AndreasGrüßeJD.Sent: Tuesday, June 09, 2020 at 5:18 PM
From: "Andreas Goetz" <cpui...@gmail.com>
To: "volkszaehler.org - users" <volkszaehler-users@demo.volkszaehler.org>
Subject: Re: [vz-users] Bevorstehender KartencrashSieht nicht offensichtlich falsch aus. Falls sie im Backup ist könntest Du auch noch die aggregate Tabelle kopieren, anderenfalls müsstest Du die im Ziel neu erstellen, sinnigerweise bevor Du Aggregation wieder einschaltest (sonst könnten sich die SQL Queries dazu aufstapeln).Viele Grüße, AndreasOn 9. Jun 2020, at 17:13, John Doe <john...@null.net> wrote:Okay, letzte Frage: Passt das so, bevor ich starte?# DATABASE DEFINITION
source:
#driver: pdo_mysql
driver: pdo_sqlite
#host: localhost
#user: vz
#password: demo
#dbname: volkszaehler
path: sqlite.db3
target:
driver: pdo_mysql
host: localhost
user: root
password: raspberry
dbname: volkszaehler
#path: sqlite.db3 # path is only used if driver = pdo_sqlite# influxdb target database connection
influx:
dsn: influxdb://localhost:8086
dbname: volkszaehler
measurement: data# TABLE DEFINITION
# ----------------
# tables will be processed in the order they are mentioned:
# - foreign keys on target will be dropped
# - if a table is not listed here, it will not be touched
# transfer mode
# skip: table will not be copied
# copy: entire table will be truncated on target and copied from source
# pk: selective copy by primary key. only data not present on target
# will be copied from source.
tables:
entities: copy
properties: copy
entities_in_aggregator: copy
data: pk
aggregate: skipBeste GrüßeJD.Sent: Tuesday, June 09, 2020 at 5:02 PM
From: "Andreas Goetz" <cpui...@gmail.com>
To: "volkszaehler.org - users" <volkszaehler-users@demo.volkszaehler.org>
Subject: Re: [vz-users] Bevorstehender KartencrashJa genau- und mach auch von der „neuen“ Quelle vorher noch ein Backup! Better be safe than sorry...Viele Grüße, AndreasAm 09.06.2020 um 17:00 schrieb John Doe <john...@null.net>:
Hallo Andreas,danke für die schnelle Reaktion.Dann opfere ich logischerweise den kleineren Datensatz.Die GrundIdee mit dem Vertauschen von Quelle und Ziel klappt aber dann ?Beste GrüßeJD.Sent: Tuesday, June 09, 2020 at 4:46 PM
From: "Andreas Goetz" <cpui...@gmail.com>
To: "volkszaehler.org - users" <volkszaehler-users@demo.volkszaehler.org>
Subject: Re: [vz-users] Bevorstehender KartencrashHi,On 9. Jun 2020, at 16:43, John Doe <john...@null.net> wrote:Hallo zusammen,bevor ich jetzt wieder Mist mit der Datenbank mache, würde ich gerne hier nachfragen.1. Neuer aufgesetzter VZ läuft zunächst mal wieder auf einem RPi3 wie gewünscht.2. dbcopy läuft auch, ich kann lokal eine sqlite.db3 anlegen.3. Da ich noch die Sicherung der alten DB habe (ebenfalls sqlite.db3), würde ich diese mit der aktuellen gerne "mergen". Kann ich das einfach doof und hoffentlich gefahrlos tun, indem ich in der dbcopy.yaml Quelle und Ziel vertausche ? Bleiben meine aktuell schon vorliegenden Daten existent ?Das kannst Du auf KEINEN Fall tun:- es gibt keinen “merge” Prozess- in beiden Datenbanken werden die gleichen IDs existieren- die Entities werden bei Default Einstellungen überschrieben—> vmtl. DesasterDBCopy ist ausschließlich dafür geeignet, “linear” von einer DB in eine andere DB zu kopieren die ein Subset der identischen Daten enthält. Bei Dir scheinen aber in beiden DBs disjunkte Datenbestände zu liegen- Du wirst nicht drum herum kommen einen der DB-Stände zu opfern.Viele Grüße,AndreasBeste GrüßeJD.Sent: Tuesday, June 09, 2020 at 9:24 AM
From: "Andreas Goetz" <cpui...@gmail.com>
To: "volkszaehler.org - users" <volkszaehler-users@demo.volkszaehler.org>
Subject: Re: [vz-users] Bevorstehender KartencrashHallo Christian,On 8. Jun 2020, at 19:46, Christian Wimmer <christ...@nega.at> wrote:Hallo JDDanke, das hört sich gut an. Ich verwende nur Sandisk.Am liebsten würde ich ja die DB auf das NAS auslagern, so dass nur dort geschrieben wird.Aber das liest sich alles so kompliziert.Jetzt verbreitest Du aber ziemliche Panik ;)Eine Datenbank auf dem NAS zu nutzen statt einer Datenbank auf dem Raspi bedeutet einfach nur die Konfigurationsdatei zu ändern (URL, User, Passwort). Wenn Du z.B. schon ein Backup auf dem NAS hättest könnte das direkt Deine “Haupt”Datenbank werden (brauchst Du dann natürlich ein neues Backup).Viele Grüße,AndreasVon: volkszaehler-users <volkszaehler-users-boun...@demo.volkszaehler.org> Im Auftrag von John Doe
Gesendet: Montag, 8. Juni 2020 19:15
An: volkszaehler-users@demo.volkszaehler.org
Betreff: Re: [vz-users] Bevorstehender KartencrashHallo Christian,das hängt wohl auch von der Aggregation-Time ab. Ich glaube aber tendenziell ausgemacht zu haben, dass Sandisk-Karten bei gleicher vzlogger.conf länger halten als Transcend. Erstere lief bei mir über Jahre, letztere einige Monate bis ca. halbes Jahr.Beste GrüßeJD.Sent: Monday, June 08, 2020 at 6:13 PM
From: "Christian Wimmer" <christ...@nega.at>
To: "volkszaehler.org - users" <volkszaehler-users@demo.volkszaehler.org>
Subject: Re: [vz-users] Bevorstehender KartencrashHalloFrage zwischendurch: wie lange hält im Durchschnitt eine SD-Karte?Von: volkszaehler-users <volkszaehler-users-boun...@demo.volkszaehler.org> Im Auftrag von Andreas Goetz
Gesendet: Montag, 8. Juni 2020 17:34
An: volkszaehler-users <volkszaehler-users@demo.volkszaehler.org>
Betreff: Re: [vz-users] Bevorstehender KartencrashServus
On 8. Jun 2020, at 16:38, Daniel Lauckner <v...@jahp.de> wrote:Hallo,
am Montag, 8. Juni 2020 um 11:02 hat John Doe geschrieben:
Gibt es ein wiki zum Docker-Image und dessen Installation ?
Nein.Also “Installation” ist ja bei Docker relativ :). Wenn Du schmerzresistent bist (und es am Ende dokumentieren möchtest) lass es uns gerne zusammen ausprobieren ;). Das Image heißt volkszaehler/volkszaehler, die Oberfläche+API lauscht dann auf 8080. Die Configdatei muss nach /vz/etc/middleware.json gemappt werden.Falls ich Deinen Weg mit der Datenbank-Installation auf dem NAS
gehe: Welche DB-Software würdest Du vorschlagen ?
Am besten die SQL-Datenbank was das NAS anbietet.
Üblicherweise MySQL oder MariaDB.…oder einfach auch einen Docker Container mit Volume Mount für die Datenablage. Normalerweise sind diese Images deutlich besser als jede NAS-gebundelte Funktionalität und bekommen auch häufigere Updates.
Mit freundlichen GrüßenDanielViele Grüße, Andreas