Mittwoch, 24. Mai 2017

file per table: Convert InnoDB - mit Verkleinerung der ibdata1

Auf meinem zabbix-System ging der Speicherplatz zur neige. Ich dachte mir, dann konsolidiere ich die Daten, passe die Werte was gespeichert werden soll und wie lange etwas an und dann ist wieder genug Platz.

Dem ist aber leider nicht so, denn mein MySQL-Server war standardmäßig so eingestellt, dass er alle Datenbanken und Tabellen in ein großes file schreibt. Dieses /var/lib/mysql/ibdata1 auf meinem Ubuntu 12.04.5-Server wird aber nach dem Löschen von Daten nicht mehr kleiner.

Nach einer kurzen Suche fand ich heraus, dass man in der /etc/mysql/my.cf zwar den Parameter innodb_file_per_table = 1 in der [mysqld] Sektion machen kann - das betrifft aber dann nur neu angelegte Datenbanken und Tabellen - die alten Tabellen bleiben noch in dem alten großen ibdata1-file erahlten.

Darum muss man die Tabellen exportieren und wieder importieren um den gewünschten Effekt zu erziehlen, die ibdata1 löschen zu können. Das ist natürlich wieder mit dem Problem verbunden, dass der Export eben so groß ist wie die Datenbank vorher war und daher wird der gleiche Speicherplatz nochmals benötigt.

Ich denke mal, ich bin nicht der Einzige, der sich erst dann darum gekümmert hat, als nicht mehr viel Speicher übrig war. Wenn das Gerät jetzt nicht physisch vor einem steht oder man im Rechenzentrum nicht die Möglichkeit hat, die Festplattengröße zu erweitern, muss man die Datenbank woanders umziehen.

Ich erstellte mir eine virtuelle Maschine, lud mir die Daten runter und suchte mir ein passendes Script zur Umstellung, welches ich auf:

http://thecpaneladmin.com/how-to-convert-innodb-to-innodb_file_per_table-and-shrink-ibdata1/ fand.

Damit das script bei mir lief musste ich noch folgende Schritte vorher durchführen:

1. apt-get install python-pip python-dev libmysqlclient-dev
2. pip install MySQL-python
3. Anlegen eines .my.cf-files

Sind die Voraussetzungen geschaffen, startet man das Script

exec su mysql ./innodb_export_import.py --export --dir=/root

###to be continued....

Installation REINERSCT cyberJack secoder Ubuntu 16.06

Kurze Anleitung, weil es einfach läuft!

Habe, bevor ich ihn in der frischen Installation angeschlossen habe, nur:

sudo apt-get install libifd-cyberjack6v5

ausgeführt, und schon konnte ich das Lesegerät für mein Onlinebanking nutzen.



Freitag, 17. Februar 2017

MySQL Error: Access denied for user 'root'@'localhost' (using password: NO) when running sript

I wanted to run a python script to reformat my MySQL Database, but everytime I try to run it, it shows the error

MySQL Error 1045: Access denied for user 'root'@'localhost' (using password: NO)
Unable to determine MySQL version
I found out that in the script there is no trigger for username or password, so I should run the script as the right user. The problem is my recovery enviroment is chrooted and so I can't just su - USER to change user and than run the script with mysql privileges.

The script offers another option that I don't know before: A userbased .my.cnf file. With this script mysql reads out the login credentials from a file in the user account, in my case: /root/.my.cf.

I wrote into it:
[client]
password="1234"
[mysqladmin]
 user = root
 password = 1234
[mysql]
 user = root
 password = 1234
[mysqldump]
 user = root
 password = 1234
I don't know if I need all parameters because when I run the script without the [client]-section it won't start but with it the error has gone. 

Montag, 30. Januar 2017

HowTo: Installation von Unison unter Windows mit grafischer Oberfläche GTK

Da ich das Programm rsync unter Ubuntu nutze, verwende ich es auch gerne unter Windows. Um es einfacher zu machen, gibt es dafür eine grafische Oberfläche: Unison.

Da es einmal eingerichtet sehr stabil läuft muss ich es nicht of neu einrichten und möchte es hier gerne Dokumentieren und es euch auch gleich auch zugänglich machen.


Grundsätzlich sind zu einem lauffähigem Unison 3 Sachen nötig:

  1. Setup bzw. die Programmdateien von Unison >>hier<<
  2. GTK-Paket (zu finden im Projekt Pidgin) >>hier<<
  3. Microsoft Visual C++ Redistributeable 2008 SP1 >>hier<<
Letzteres war aber unter meinem Win8.1 schon vorinstalliert, deswegen gehe ich hier nicht genauer auf die Installation ein, die aber auch sonst kein Problem sein dürfte.

Im Schnelldurchlauf


1. Erstellen eines Programmordners "unter" z.B. unter C:\Program Files (x86)
2. Entpacken des GTK-Downloads in den Ordner Unison
3. Entpacken des Unison-zips in den "bin" Ordner des GTK
4. Verknüpfung zum Programm z.B. am Desktop erstellen

Detailierte Beschreibung


Download

Zuerst laden wir die 2 benötigten Downloads herunter (wie oben beschrieben wird hier nicht genauer auf die evtl. Installation des Microsoft Visual C++ Redistributeable eingegengen).

1. Unison >>Download<<
In meinem Fall war gerade die Version 2.48.4 aktuell:

 2. GTK+ vom Messenger-Projekt Pidgin >>Download<<
hier ist gerade die Version 2.16.6.3 aktuell:


Erstellen des Programmordners

Einen neuen Ordner, z.B. mit dem Namen Unison, in einem gewünschtem Verzeichnis erstellen, z.B. unter C:\Program Files (x86)


Entpacken der Dateien

Entpacken des GTK-Zips in den Erstellten Ordner mit rechtsklick auf die Datei, dann auf "Alle extrahieren..." und den Pfad auswählen.





Nun entpacken wir das unison-zip in den Ordner "C:\Program Files (x86)\unison\Gtk\bin"




Verknüpfung anlegen


Nun sind wir schon fast fertig! Wenn ihr das Häkchen bei "Dateien nach Extrahierung anzeigen" drin gelassen habt, seit ihr jetzt scho im richtigem Ordner. 

Nun müsst ihr nur noch eine Verknüpfung mit der Datei unison 2.48.4 GTK.exe erstellen!


Nach dem Start könnt ihr euer gewünschtes Sync-Profil anlegen  - FERTIG!