Umstellung zu MySQL Datenbank

Antworten
mpik_it
Beiträge: 5
Registriert: 27 Mai 2020, 13:19

Umstellung zu MySQL Datenbank

Beitrag von mpik_it »

Hallo zusammen,

wir möchten gerne unseren Opsi Server auf MySQL umziehen (das Modul haben wir erworben). Mit opsi-admin -d method backend_info bekomme ich angezeigt, dass das Modul korrekt eingebunden ist. In der Datei /etc/mysql/mysql.conf.d/mysqld.cnf ist der Zusatz sql_mode=NO_ENGINE_SUBSTITUTION eingefügt. Wenn ich nun allerdings /etc/opsi/backendManager/dispatch.conf anpasse zu:

Code: Alles auswählen

backend_.*             : mysql, opsipxeconfd
host_.*                    : file, opsipxeconfd
productOnClient_.* : mysql, opsipxeconfd
configState_.*         : mysql, opsipxeconfd
license.*                 : mysql
softwareLicense.*  : mysql
audit.*                    : mysql
.*                            : mysql
und dann ein opsi-setup --init-current-config ausführe ist alles in Ordnung.
Stelle ich nun allerdings auch die host_.* auf mysql um

Code: Alles auswählen

backend_.*             : mysql, opsipxeconfd, mysql
host_.*                    : mysql, opsipxeconfd
productOnClient_.* : mysql, opsipxeconfd
configState_.*         : mysql, opsipxeconfd
license.*                 : mysql
softwareLicense.*  : mysql
audit.*                    : mysql
.*                            : mysql
bekomme ich mit opsi-setup --init-current-config folgende Fehler:

[5] [May 27 13:55:52] Creating opsi base (SQL.py|498)
[5] [May 27 13:55:52] Creating opsi base (SQL.py|498)
[5] [May 27 13:55:52] Creating config server ' xxxx' (InitializeBackend.py|79)
[2] [May 27 13:55:53] Traceback: (Logger.py|798)
[2] [May 27 13:55:53] File "/usr/bin/opsi-setup", line 1163, in <module>
main()
(Logger.py|798)
[2] [May 27 13:55:53] File "/usr/bin/opsi-setup", line 1115, in main
initializeBackends(ipAddress)
(Logger.py|798)
[2] [May 27 13:55:53] File "/usr/lib/python2.7/dist-packages/OPSI/Util/Task/InitializeBackend.py", line 81, in initializeBackends
backend.host_createOpsiConfigserver(**serverConfig)
(Logger.py|798)
[2] [May 27 13:55:53] File "<string>", line 1, in host_createOpsiConfigserver
(Logger.py|798)
[2] [May 27 13:55:53] File "/usr/lib/python2.7/dist-packages/OPSI/Backend/Backend.py", line 523, in _executeMethod
return meth(**kwargs)
(Logger.py|798)
[2] [May 27 13:55:53] File "<string>", line 1, in host_createOpsiConfigserver
(Logger.py|798)
[2] [May 27 13:55:53] File "/usr/lib/python2.7/dist-packages/OPSI/Backend/Backend.py", line 523, in _executeMethod
return meth(**kwargs)
(Logger.py|798)
[2] [May 27 13:55:53] File "/usr/lib/python2.7/dist-packages/OPSI/Backend/Backend.py", line 2394, in host_createOpsiConfigserver
return self.host_createObjects(OpsiConfigserver.fromHash(hash))
(Logger.py|798)
[2] [May 27 13:55:53] File "/usr/lib/python2.7/dist-packages/OPSI/Backend/Backend.py", line 2069, in host_createObjects
self._backend.host_insertObject(host)
(Logger.py|798)
[2] [May 27 13:55:53] File "<string>", line 1, in host_insertObject
(Logger.py|798)
[2] [May 27 13:55:53] File "/usr/lib/python2.7/dist-packages/OPSI/Backend/BackendManager.py", line 437, in _dispatchMethod
res = meth(**kwargs)
(Logger.py|798)
[2] [May 27 13:55:53] File "/usr/lib/python2.7/dist-packages/OPSI/Backend/SQL.py", line 1067, in host_insertObject
self._sql.insert('HOST', data)
(Logger.py|798)
[2] [May 27 13:55:53] File "/usr/lib/python2.7/dist-packages/OPSI/Backend/MySQL.py", line 414, in insert
self.execute(query, conn, cursor)
(Logger.py|798)
[2] [May 27 13:55:53] File "/usr/lib/python2.7/dist-packages/OPSI/Backend/MySQL.py", line 514, in execute
res = cursor.execute(query)
(Logger.py|798)
[2] [May 27 13:55:53] File "/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 226, in execute
self.errorhandler(self, exc, value)
(Logger.py|798)
[2] [May 27 13:55:53] File "/usr/lib/python2.7/dist-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
raise errorvalue
(Logger.py|798)
[2] [May 27 13:55:53] ==>>> (1054, "Unknown column 'workbenchLocalUrl' in 'field list'") (opsi-setup|1167)

ERROR: (1054, "Unknown column 'workbenchLocalUrl' in 'field list'")

In der workbenchLocalUrl ist folgendes hinterlegt: file:///home/opsiproducts

Hat jemand eine Idee an was der Fehler liegen könnte?

Vielen Dank für alle Hinweise und Tipps
Jan.Schmidt
Beiträge: 439
Registriert: 08 Jul 2017, 12:02

Re: Umstellung zu MySQL Datenbank

Beitrag von Jan.Schmidt »

hi,

ich hab das hinter mir - bei mir waren die hardwareinfos der grund warum es scheiterte.
eine Spalte workbenchLocalUrl hab ich in der Tabelle HOST....

ich hab das streng nach der doku gemacht und wie geschrieben, nachdem ich die hardwareinfos nach dev/nul geschoben hatte lief der import sauber durch...
SirTux
Beiträge: 558
Registriert: 05 Feb 2011, 18:37

Re: Umstellung zu MySQL Datenbank

Beitrag von SirTux »

Code: Alles auswählen

opsi-convert file mysql
wurde ausgeführt?
Benutzeravatar
ueluekmen
uib-Team
Beiträge: 1939
Registriert: 28 Mai 2008, 10:53

Re: Umstellung zu MySQL Datenbank

Beitrag von ueluekmen »

Hi,

eigentlich ist das auch eine Sache für den Support. Wenn Ihr das Modul erworben habt, solltet Ihr euch auch dort melden. ;)

Das sieht so aus, als wenn Ihr euer System auf 4.1 aktualisiert habt, aber scheinbar nicht euer Backend.

Als erstes würde ich mal ein opsi-backup erstellen:

Code: Alles auswählen

opsi-backup create
Dann am besten die dispatch.conf zurückstellen auf file und danach:

Code: Alles auswählen

opsi-setup --update-file
ausführen.

Wenn Ihr das configure-mysql schon ausgeführt habt würde ich noch mal das opsi-convert noch mal anschmeißen.

Aber wie gesagt, es kann jetzt einfach sein, dass es etwas tricky wird, das system aus diesem Zustand raus zu holen.
opsi support - uib gmbh
For productive opsi installations we recommend support contracts.
http://www.uib.de
mpik_it
Beiträge: 5
Registriert: 27 Mai 2020, 13:19

Re: Umstellung zu MySQL Datenbank

Beitrag von mpik_it »

Hi,

vielen Dank für die Hinweise. Mit folgenden Ergänzungen haben wir es nun zum Laufen bekommen.

Code: Alles auswählen

echo 'alter table HOST add column workbenchRemoteUrl varchar (255);' | mysql opsi
echo 'alter table HOST add column workbenchLocalUrl varchar (255);'  | mysql opsi
Antworten