Hallo Leute, Für ein Programm, welches explizit die Versionsnummer eines MySQL Servers abfragt, habe ich einen MariaDB 10.2.4 Server installiert. Wenn meine My.ini so aussieht: [mysqld] datadir=C:/Program Files/MariaDB 10.2/data port=3300 version=4.1.22 old_passwords=1 secure-auth = OFF fake_version=4.1.22 [client] port=3300 plugin-dir=C:/Program Files/MariaDB 10.2/lib/plugin startet MariaDB, aber das programm bringt die Fehlermeldung im Anhang. Wenn meine My.ini so aussieht: [mysqld] datadir=C:/Program Files/MariaDB 10.2/data port=3300 version=4.1.22 old_passwords=1 secure-auth = OFF fake_version=4.1.22 [client] port=3300 plugin-dir=C:/Program Files/MariaDB 10.2/lib/plugin startet MariaDB NICHT. Fehler ist dann: 2017-03-29 13:07:24 8008 [ERROR] C:\Program Files\MariaDB 10.2\bin\mysqld.exe: unknown variable 'fake_version=4.1.22' 2017-03-29 13:07:24 8008 [ERROR] Aborting Laut der Anleitung, sollte es aber funktionieren: https://jira.mariadb.org/browse/MDEV-7780 An was kann das liegen? Was muss ich ändern, um Maria DB zu starten und auch eine gefakte Versionsnumemr zurückzugeben?
Hast du auch schon daran gedacht, dass die Software die MySQL Version abfragt um gewährleisten zu können das alle Features fehlerfrei funktionieren und nicht um die Anwender zu verärgern? Welchen Vorteil bringt es, wenn die Versionsüberprüfung übergangen werden kann und später manche Dinge nicht zuverlässig arbeiten bzw. man sich darauf nicht verlassen kann? Was ist der Hintergrund für dein Vorhaben? Ich habe davon noch nie gehört, dass man die Version faken kann. Sinnvoll scheint es auch obigen Gründen nicht. Du könntest mal nur
1 | version=4.1.22 |
versuchen Die Variable fake_version gibt es auch nicht und offensichtlich kannst du sie so auch nicht hinzufügen.
1 | SHOW VARIABLES WHERE Variable_name = "version"; |
2 | SHOW VARIABLES WHERE Variable_name = "fake_version"; |
Wo genau liegt jetzt der Unterschied zwischen den beiden "Wenn meine My.ini so aussieht:" ? Konnte da keinen finden und beide Variablen "version" und "fake_version" macht irgendwie auch keinen Sinn! :) Was genau liest die Methode aus in der Software aus?
1 | $this->getVersion() |
Ist es das?
1 | /** |
2 | * Get the version of the database connector. |
3 | * |
4 | * @return string The database connector version. |
5 | * |
6 | * @since 12.1 |
7 | */ |
8 | public function getVersion() |
9 | { |
10 | $this->connect(); |
11 | |
12 | return mysqli_get_server_info($this->connection); |
13 | } |
:
Bearbeitet durch User
Rinnder schrieb: > Laut der Anleitung, sollte es aber funktionieren: > https://jira.mariadb.org/browse/MDEV-7780 H. E. schrieb: > Was genau liest die Methode aus in der Software aus? Das weiss ich nicht. Habe keinen Quellcode. Der Hersteller der Software will keine MySQL > 4.1.22 vertreiben, da er seine Mietdatenbank damit geschäftlich absichert. Wer mitprobieren will: http://www.cao-faktura.de/download/cao-faktura/
Ich verstehe es nicht... Wenn du die 10.2.4 laufen hast, diese ja vom diesem Faktura unterstützt wird, warum willst du sie dann "downgraden" auf 4.1.22??
Kann ich leider gerade nicht testen, aber nehme mal an, das hängt hiermit zusammen: https://jira.mariadb.org/browse/MDEV-10541 Sprich, eine Lösung scheint nicht in unmittelbarer Nähe zu sein - da hilft wohl wirklich nur eine MySQL-4-Installation oder selbst zur Tastatur und zum Compiler zu greifen. Offtopic: Laut Hersteller (http://www.cao-faktura.de/produkte/cao-faktura/) ist das keine böse (Gewinnerzielungs-) Absicht, sondern hat "technische Gründe", warum es nur mit MySQL < 5 läuft. Aber eine Software, bei der im Jahre 2017 auf der Website ein fetter gelber Hinweis prangt, dass Windows-7-Nutzer das Programm nicht im Programme-Ordner installieren sollten, weil es da Rechteprobleme gibt (s. obigen Link), würde ich zumindest nicht mehr neu als Produktivsystem installieren, zumindest jedoch im internen lifecycle as deprecated kennzeichnen - sprich, innerhalb der nächsten ein, zwei Jahre zu einer anderen Lösung migrieren -, da die Entwicklung hier offenbar vor siebeneinhalb Jahren sowas stehen geblieben ist (vulgo "Abandonware") - auch wenn der Hersteller das natürlich anders sieht (vulgo "Cash Cow").
Dir bleiben wohl nur die Optionen: - Andere Software (die wohl unwahrscheinlichste, oder besteht die Möglichkeit noch?) - Installation von MySQL < 5.0 - Zugriff auf eine externe Datenbank, die MySQL < 5.0 ist (z.B. durch VM oder externer Server) - Software-Check direkt in der Software manipulieren mit genannten Risiken (absolut NICHT zu empfehlen, es wird nicht umsonst darauf hingewiesen, da Mysql 4 und 5 schon erhebliche Unterschiede aufweisen!)
Spricht was dagegen, einfach ein MySQL 4 zu installieren, wenn deine Software ein MySQL 4 will? Notfalls in Docker oder einer VM weggekapselt, wenn derselbe Server gleichzeitig noch eine aktuelle MariaDB laufen haben soll, und du die "DLL-Hell" fürchtest. Mehr Posts zu dem Thema (Warum kommen nur alle auf die Besch*** Idee, ein RasPi wäre ein guter DB-Server???) Beitrag "MySQL4 Datenbank "emulieren" oder "trancoden"" Beitrag "[Raspi] MySql auf USB Stick Raid auslagern -> Sinnvoll??" https://www.mikrocontroller.net/topic/423678 Beitrag "MySql4 auf Synology -> Error"
:
Bearbeitet durch User
Rinnder schrieb: > Für ein Programm, welches explizit die Versionsnummer eines MySQL > Servers abfragt, > habe ich einen MariaDB 10.2.4 Server installiert. > > Wenn meine My.ini so aussieht: > [mysqld] > datadir=C:/Program Files/MariaDB 10.2/data > port=3300 > version=4.1.22 > old_passwords=1 > secure-auth = OFF > fake_version=4.1.22 Eine Variable "fake_version" gibt es nicht. Du kannst nur "version" überschreiben. > startet MariaDB, aber das programm bringt die Fehlermeldung im Anhang. Copy-Paste des Textes wäre hilfreich gewesen. > Was muss ich ändern, um Maria DB zu starten und auch eine gefakte > Versionsnumemr zurückzugeben? Das Programm wertet anscheinend nicht die Versionsnummer aus, die von
1 | SELECT VERSION(); |
oder
1 | SHOW GLOBAL VARIABLES LIKE 'version'; |
zurückgegeben wird, sondern die Versionsnummer im "Hello Packet" - das ist das erste TCP-Packet das der Server nach der Kontaktaufnahme zum Client zurückschickt. Hier wird wegen diverser Kompatibilitäts- Hickhacks die "echte" Versionsnummer von MariaDB mit einem Prefix "5.5.5-" zurückgegeben (in der Fehlermeldung ja schön zu sehen). Dieser Prefix ist hartcodiert und kann nur durch Ändern des Quellcodes von MariaDB verändert werden. Mit anderen Worten: geht nicht. Dein CAO-Faktura ist gründlich kaputt- designed. Schmeiß es dahin, wo es hingehört: auf den Müll.
Naja. Die MariaDB könnte auf jedem NAS laufen. MySQL4 nicht :-( Also doch: Εrnst B. schrieb: > Beitrag "MySQL4 Datenbank "emulieren" oder "trancoden"" > Beitrag "[Raspi] MySql auf USB Stick Raid auslagern -> Sinnvoll??" > Beitrag "Modul sinnvoll oder nicht?" > Beitrag "MySql4 auf Synology -> Error" Will da nicht extra einen PC mit 400W Tag und Nacht laufen lassen !!! Axel S. schrieb: > Mit anderen Worten: geht nicht. Dein CAO-Faktura ist gründlich kaputt- > designed. Schmeiß es dahin, wo es hingehört: auf den Müll. Habe schon alle Kunden usw drinnen. Das alles zu portieren, wenn überhaupt möglich. Ausserdem alle Belege..... Uiiii
Rinnder schrieb: > Will da nicht extra einen PC mit 400W Tag und Nacht laufen lassen !!! es gibt auch PCs mit 30W
Rinnder schrieb: > Will da nicht extra einen PC mit 400W Tag und Nacht laufen lassen !!! Nimm einen Intel NUC*. So etwas ist mit unter 10 Watt primärseitiger Leistungsaufnahme zu betrieben, also kaum mehr als Deine andernorts geäußerte Raspberry-Idee, und kann mit einer "richtigen" 2.5"-Festplatte oder -SSD betrieben werden. Beispiele: https://www.heise.de/preisvergleich/gigabyte-brix-gb-bace-3000-a1333502.html https://www.heise.de/preisvergleich/asrock-beebox-n3000-b-bb-schwarz-90bxg2f01-a10ga0p-a1275103.html https://www.heise.de/preisvergleich/intel-nuc-kit-nuc5cpyh-pinnacle-canyon-boxnuc5cpyh-a1273270.html *) oder Gigabyte Brix oder Asrock BeeBox
An den Raspi kann man auch eine Usb Hdd ranflanschen.
KevIn schrieb: > An den Raspi kann man auch eine Usb Hdd ranflanschen. Das ist genauso Sinnbefreit wie den Lamborghini vor der Tür mit E10 Benzin zu tanken. Oder Kartoffelsalat ohne Mayonaise. Oder Sex mit Kondomen... das ist alles nichts halbes und nichts ganzes. Wenn man eine DB aufsetzt will man wenigstens eine gewisse Grundperformance haben. Von dem ganzen Kabelklimborium, dem herumfliegen externer Komponenten und die damit einhergehenden Unsicherheit das mal irgendwann / irgendwie das Kabel da rausgezogen wird - will ich garnicht dran denken. Das ist alles ne Bastellösung, will man es richtig machen nimmt man sich ein NAS oder baut sich auf Basis eines NUC etc... sein eigenes auf. Die dinger kosten ja nun auch nicht wirklich mehr in der Bucht, sollte das das Totschlagargument sein. Der Energieverbrauch bei diesen Systemen ist dem eines Pi gleichwertig wenn nicht sogar geringer - und die haben GBit ETH.
DraconiX schrieb: > Oder Kartoffelsalat ohne Mayonaise Asso??? https://www.ichkoche.at/wiener-erdaepfelsalat-rezept-3154 Wo steht da was von Mayonaise? DraconiX schrieb: > Wenn man eine DB aufsetzt will man wenigstens eine gewisse > Grundperformance haben Mein MySQL5 Server auf dem RPI frisst mit 5 Clients 25% auf alle 4 Kerne verteilt.RAM ist 800MB für die DB freigegeben. DraconiX schrieb: > Das ist alles ne Bastellösung, will man es richtig machen nimmt man sich > ein NAS oder baut sich auf Basis eines NUC etc... sein eigenes auf. Das ist ja das Problem des TO. Auf den meisten NAS Hütten ist zwar ein MariaDB drauf, aber dieses veraltete (und von der Bedienung her furchtbare) CAO Faktura lässt keine MariaDB zu. MySQL4 auf einem NAS einrichten ist nicht jedermans Sache. Darum bieten ja einige ihre Dienstleistung an: https://www.ramser-elektro.at/shop/software-und-aehnliches/sd-karte-mit-vorkonfigurierten-mysql4-server-fuer-raspberry-pi-23/ Würde aber auch alles von der SD Karte auf eine USB HDD (mechanisch!!!) verschieben.
Karlo K. schrieb: > DraconiX schrieb: >> Oder Kartoffelsalat ohne Mayonaise > > Asso??? https://www.ichkoche.at/wiener-erdaepfelsalat-rezept-3154 > Wo steht da was von Mayonaise? Ich denke, er wollte mitteilen, dass man auch eine Taschenlampe für die Steckdose umbauen kann. Die Nachteile überwiegen mehr als das sie nützlich sind. So ist es mit dem RasPi an der Stelle auch. Funktionieren tut das sicherlich, aber die Vorteile sind verschwindend gering. Einen Kundenstamm würde ich aus genannten Gründen nicht damit pflegen wollen. > DraconiX schrieb: >> Wenn man eine DB aufsetzt will man wenigstens eine gewisse >> Grundperformance haben > > Mein MySQL5 Server auf dem RPI frisst mit 5 Clients 25% auf alle 4 Kerne > verteilt.RAM ist 800MB für die DB freigegeben. Kommt auch immer darauf an, was man damit tut. Nutzt man es z.B. für HEAP zwecke ist das was anderes, als wenn man persistente Daten verwalten möchte. Zudem sollte man dann aber auch keine Schwierigkeiten damit haben, MySQL 4 aufzusetzen und das Problem selbst erkennen können. Daher fällt schon allein Raspi eigentlich aus. MySQL und Rapsi allein schließt eine sinnvolle Benutzung nicht aus. Das stimmt. Aber für die beabsichtigte Verwendung eher ungeeignet. > Würde aber auch alles von der SD Karte auf eine USB HDD (mechanisch!!!) > verschieben. Immerhin. Davor ist dann immer noch ein anfälliges "System" das vor dem Übertrag zu Datenverluste führen kann. :)
:
Bearbeitet durch User
Einen Orange PI könnte man auch bemühen. Das Problem des TOs ist aber ein anderes. Er will MariaDB mit diesem CAO Schrott zum laufen bekommen. So wie ich das sehe auf einem NAS.
Karlo K. schrieb: > Er will MariaDB mit diesem CAO Schrott zum laufen bekommen. > So wie ich das sehe auf einem NAS. (er hat noch andere Threads dazu gestartet...) Nicht zwingend MariaDB, sondern MySQL in einer 4er Version (oder kompatibel). Und das "egal wo", nur auf keinen Fall auf einem der Windows-Client-Rechner, wo das mit Doppelklick auf den Installer schon so gut wie erledigt wäre.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.