| 
	
		
			| 
					19.11.2007, 11:05  
				  Beitrag #1 |  
			| 
					
                                                 | picard2002
   LVF-Grünschnabel
 
  
 
 Beiträge: 28
 Registriert seit: Oct 2006
 
 7.1, 8.0, 8.2, 8.51, 2012DS2, 2016DS2
 2002
 DE
 
 56283
 Deutschland
 
 | Backup einer MySQL-Datenbank 
					Hi an Alle,
 wer hat denn schon mal mit einem SQL-Befehl aus LabVIEW raus ein Backup (BACKUP, MYSQLHOTCOPY etc. etc.) einer MySQL Tabelle erledigt. Ich habe Tabellen, die schon mal ca. 1GB gross sind (Daten von 8 Stunden) und meine aktuelle Version ist viel zu langsam BACKUP und RESTORE betreffend.
 Die Tabelle ist zur Zeit noch INNODB, kann aber umstellen auf MYISAM.
 
 Danke für Tipps
 
 Marco
 
				
				 |  |  
			|  |  
	
		
			| 
					19.11.2007, 11:27  
				  Beitrag #2 |  
			| 
					
                                                 |   Y-P
   ☻ᴥᴥᴥ☻ᴥᴥᴥ☻
 
   
 Beiträge: 12.612
 Registriert seit: Feb 2006
 
 Developer Suite Core -> LabVIEW 2015 Prof.
 2006
 EN
 
 71083
 Deutschland
 
 | Backup einer MySQL-Datenbank 
					Wieso machst Du das in LabVIEW und nicht auf Datenbankebene? 
Bei PostgreSQL gibt's Funktionen, die es, soweit ich weiß, bei mySQL jetzt auch gibt (da heißen sie glaub' "Stored Procedures"). 
Dann hast Du das ganze DB-Zeug auf Datenbankebene und schickst nur noch Funktionsaufrufe mit evtl. zu übergebenden Parametern oder Abfragen. 
In so einer Funktion könnte dann neben anderen Befehlen z.B. auch der Backup-Befehl stehen.
 
Oder habe ich da was misverstanden?
 
Gruß Markus
 ' schrieb:Hi an Alle,
 wer hat denn schon mal mit einem SQL-Befehl aus LabVIEW raus ein Backup (BACKUP, MYSQLHOTCOPY etc. etc.) einer MySQL Tabelle erledigt. Ich habe Tabellen, die schon mal ca. 1GB gross sind (Daten von 8 Stunden) und meine aktuelle Version ist viel zu langsam BACKUP und RESTORE betreffend.
 Die Tabelle ist zur Zeit noch INNODB, kann aber umstellen auf MYISAM.
 
 Danke für Tipps
 
 Marco
 
--------------------------------------------------------------------------Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
 --------------------------------------------------------------------------
 
				
				 |  
    |  
			|  |  
	
		
			| 
					19.11.2007, 14:09  
				  Beitrag #3 |  
			| 
					
                                                 | picard2002
   LVF-Grünschnabel
 
  
 
 Beiträge: 28
 Registriert seit: Oct 2006
 
 7.1, 8.0, 8.2, 8.51, 2012DS2, 2016DS2
 2002
 DE
 
 56283
 Deutschland
 
 | Backup einer MySQL-Datenbank 
					Schon richtig,auf Datenbankebene wäre es besser, ich muss aber sicherstellen, das zu diesem Zeitpunkt keine Messwertaufnahme stattfindet, deshalb ist das mit z.B. festgelegten Uhrzeiten aus MySQL nicht so einfach.
 Deshalb wollte ich das Ganze aus LabVIEW machen, um bestimmte Randbedingungen einhalten zu können.
 Bei meiner jetzigen Lösung benötigt das Programm zum Zurückspielen einer Tabelle (1GB) ca. 20 Minuten. Das kann (denke ich) nicht so ganz OK sein...
 Deshalb suche ich andere Backupbefehle oder Tools, die ich aus LabVIEW ansteuern kann.
 
 
 Gruß Marco
 
				
				 |  |  
			|  |  
	
		
			| 
					19.11.2007, 14:16  
				  Beitrag #4 |  
			| 
					
                                                 | t4b-1re-2
   LVF-Gelegenheitsschreiber
 
   
 
 Beiträge: 155
 Registriert seit: May 2007
 
 8.5
 2007
 de
 
 99*
 Deutschland
 
 | Backup einer MySQL-Datenbank 
					Wenn ich dich recht verstehe:- arbeitest du mit einer LV-Anwendung als DB-Client
 - einer MYSQL Datenbank
 - und willst von LV aus die DB so steuern, dass sie ein Backup anlegt?
 Mein Lösungsweg wäre:
 - entweder ein entsprechendes SQL Commando vom Client auf die DB abfeuern - den Rest macht die DB
 - oder so wie Y-P es vorschlägt in der DB eine StoredProcedure (oder Function) anlegen und diese vom Client mit einem SQL-Commando aufrufen - den Rest macht die DB.
 Dein Problem ist nicht LV, von dort aus sollte wirklich nur den Befehl "Datenbank erstelle Backup" abgefeuert werden. Wie lange die Datenbank dann dazu braucht, darauf hat LV keinen Einfluss. Daten erst aus der DB zu ziehen um dann mit LV ein Backup zu erstellen ist nicht im Sinne des Erfinders, weil viel zu Kostenintensiv sprich ineffizient.
 
 Viele Grüße
 t4b-1re-2
 
				
				 |  |  
			|  |  
	
		
			| 
					19.11.2007, 14:22  
				  Beitrag #5 |  
			| 
					
                                                 | picard2002
   LVF-Grünschnabel
 
  
 
 Beiträge: 28
 Registriert seit: Oct 2006
 
 7.1, 8.0, 8.2, 8.51, 2012DS2, 2016DS2
 2002
 DE
 
 56283
 Deutschland
 
 | Backup einer MySQL-Datenbank 
					Danke für die schnellen Atnworten,
 dann schaue ich mir mal die Stored Procedures an!
 
 Viele Grüße
 
 Marco
 
				
				 |  |  
			|  |  
	
		
			| 
					20.11.2007, 13:59  
				  Beitrag #6 |  
			|  |  
			|  |  
	
		
			| 
					30.11.2007, 22:33  
				  Beitrag #7 |  
			| 
					
                                                 |   mobadig
   LVF-Gelegenheitsschreiber
 
   
 
 Beiträge: 55
 Registriert seit: Jan 2005
 
 8,2
 2005
 de
 
 
 Deutschland
 
 | Backup einer MySQL-Datenbank 
					' schrieb:MySQL kommt wahrscheinlich auch mit einem Commandline tool (Unix roots lassen grüssen) mit dem Du das von LabVIEW aus auch über SystemExec machen können solltest.
 Rolf Kalbermatter
 
stimmt !!!  mySQL bringt dafür ein eigenes kleines Tool mit.  >>> mysqldump<<<< hier wird genau darauf geachtet, das eventuelle Zugriffe nicht zum crash führen. Der Befehl sollte ungefähr so aussehen:  mysqldump --user=[username] --password=[passwort] [Datenbankname] > c:... 
Vielleicht einfach mal die Eingabeaufforderung öffnen und die Befehlsfolge so eingeben. Achtung vorher in den Ordner   ...mysqlbin   wechseln. Probleme könnte es auch geben, wenn kein Password vergeben wurde.
 
zurückgespielt wird das ganze dann in 2 Schritten. Erstmal wird die Verbindung zur Datenbank aufgebaut. Das geschieht mit folgender Eingabe :
mysql --user=[username] --password=[passwort] [Datenbankname]     Jetzt müßte anfang der Zeile in der Eingabeaufforderung "mysql>" stehen.
 
Mit  source [sicherungsdateiname]  sollte der Dump zurückgeschrieben werden.
 
Wie gesagt erstmal in der Eingabeauffordereung testen und anschließend in LV realisieren.
 
Viel Erfolg
				 
				
				 |  
    |  
			|  |  
	
		
			| 
					01.12.2007, 07:51  
				  Beitrag #8 |  
			| 
					
                                                 |   Y-P
   ☻ᴥᴥᴥ☻ᴥᴥᴥ☻
 
   
 Beiträge: 12.612
 Registriert seit: Feb 2006
 
 Developer Suite Core -> LabVIEW 2015 Prof.
 2006
 EN
 
 71083
 Deutschland
 
 | Backup einer MySQL-Datenbank 
					Der Vollständigkeit halber...... 
Sowas gibt es auch bei PostgreSQL und da heißt es "pg_dump".
 
Gruß Markus
 ' schrieb:stimmt !!!  mySQL bringt dafür ein eigenes kleines Tool mit.  >>> mysqldump<<<< hier wird genau darauf geachtet, das eventuelle Zugriffe nicht zum crash führen. Der Befehl sollte ungefähr so aussehen:  mysqldump --user=[username] --password=[passwort] [Datenbankname] > c:... Vielleicht einfach mal die Eingabeaufforderung öffnen und die Befehlsfolge so eingeben. Achtung vorher in den Ordner   ...mysqlbin   wechseln. Probleme könnte es auch geben, wenn kein Password vergeben wurde.
 
 zurückgespielt wird das ganze dann in 2 Schritten. Erstmal wird die Verbindung zur Datenbank aufgebaut. Das geschieht mit folgender Eingabe :
 mysql --user=[username] --password=[passwort] [Datenbankname]    Jetzt müßte anfang der Zeile in der Eingabeaufforderung "mysql>" stehen.
 
 Mit  source [sicherungsdateiname] sollte der Dump zurückgeschrieben werden.
 
 Wie gesagt erstmal in der Eingabeauffordereung testen und anschließend in LV realisieren.
 
 Viel Erfolg
 
--------------------------------------------------------------------------Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
 --------------------------------------------------------------------------
 
				
				 |  
    |  
			|  |  |  |