mysql

MySQL Log File aktivieren – Error vs. Query vs. Slow Query

mysql logo

Im MySQL Datenbank Server gibt es verschiedene Möglichkeiten und Wege um ein Logging zur Fehleranalyse zu aktivieren.

Ich möchte hier kurz zeigen welche unterschiedlichen Logfiles es gibt und wie diese aktiviert werden. Da mein Server Betriebsystem wie immer Debian ist, kann es gut möglich sein, dass bei anderen Linux Distributionen die Konfigurationen abweichen. Ich gehe hierbei auf das Error Log, den Query Log und den Slow Query Log ein, den Binary Log lasse ich außen vor, da er nur unter speziellen Voraussetzung zum Einsatz kommt und hoch performante Hardware voraussetzt.

› Continue reading

Tags: , , ,

Montag, Januar 20th, 2014 Linux, MySQL Keine Kommentare

MySQL Warning: Skipping the data of table mysql.event. Debian, Ubuntu

mysql logo

Bei vielen ist seit einem MySQL Upgrade auf eine neuere Version > 5.1 (Debian Wheezy: 5.5.31) die folgende Warnung bei einem MySQL Backup Script (Mysqldump) aufgetaucht: Warning: Skipping the data of table mysql.event. Specify the –events option explicitly

Vorneweg -> Keine Sorge: Das ist kein Fehler, sondern lediglich ein nett gemeinter Hinweis des MySQL Servers. Ein Hinweis, der besagt, dass der MySQLDump die Tabelle “mysql.event” nicht sichert. Die große Frage stellt sich, wer benötigt die Tabelle wirklich?

MySQL hat das Event Scheduler Feature in Version 5.1 implementiert und erlaubt so die Ausführung von automatischen, wiederkehrenden Tasks direkt über den MySQL Server. Somit könnten einige Scripts, welche vorher als Cronjobs liefen direkt in die MySQL Datenbank integriert werden. Kann in gewissen Situationen hilfreich sein, aber für 99% der Datenbank User ist das Feature für die Katz. ;)

› Continue reading

Tags: , , , , , ,

Mittwoch, Oktober 30th, 2013 Debian, Linux, MySQL, Ubuntu Keine Kommentare

HowTo: LAMP Stack Installation Debian Wheezy – Linux – Apache Webserver – MySQL – PHP

apache logo

Step-by-Step Anleitung wie der LAMP Webserver (Linux + Apache + MySQL + PHP) unter Debian Wheezy in wenigen Schritten installiert wird.

Definition LAMP Stack

Als LAMP Stack wird in der IT Welt eine Softwarezusammenstellung für die Ausführung von dynamischen Webseiten bezeichnet. Es besteht aus folgenden vier Kernkomponenten, welche alle perfekt miteinander arbeiten:

Linux (Betriebssystem)
Apache (Webserver)
MySQL (Datenbank)
PHP (Skript Interpreter)

› Continue reading

Tags: , , , , , , ,

Dienstag, Juni 18th, 2013 Apache, Debian, Linux, Linux Mint, Mint, MySQL, Ubuntu, WebServer 4 Kommentare

QuickTipp: MySQL externer Zugriff erlauben – bind address

mysql logo

Der Zugriff von anderen IP Adressen als der Localhost (127.0.0.1) ist in der Standardkonfiguration von MySQL untersagt. So wir der externe MySQL Datenbank Zugriff erlaubt:

Ihr solltet euch natürlich darüber im Klaren sein, dass die Öffnung der MySQL Datenbank auf einem Webserver ein weiteres Angriffsziel bieten kann. Es ist daher sehr wichtig, starke Passwörter zu verwenden und/oder MySQL nur für bestimmte IP Adressen freizuschalten

Externen MySQL Zugriff in der my.cnf aktivieren:

Der MySQL Server lauscht standardmäßig nur auf der localhost IP Adresse (127.0.0.1). Folgender Eintrag in der my.cnf ist dafür verantwortlich (/etc/my.cnf oder /etc/mysql/my.cnf):

bind-address = 127.0.0.1

Um nun auch von anderen Rechnern auf den MySQL Server zugreifen zu können, wird der “bind-address” Eintrag geändert. 0.0.0.0 weist an, dass der MySQL Server auf alle, für ihn verfügbaren, IP Adressen lauscht:

bind-address = 0.0.0.0

› Continue reading

Tags: , , ,

Dienstag, Mai 28th, 2013 Linux, MySQL 2 Kommentare

MySQL Datenbank transferieren – sichern und wiederherstellen – kopieren – Linux Konsole

mysql logo

Ich möchte in diesem Guide zeigen wie einfach eine MySQL Datenbank von einem Server auf einen den anderen Server übertragen werden kann oder dupliziert wird. Es gibt natürlich mehrere Wege bzw. Programme von Drittanbietern, die einen Transfer (Sicherung) vereinfachen oder auch grafisch darstellen. Ich erkläre hier aber bewusst den Weg auf der Linux Konsole.

MySQL Datenbank sichern

Die MySQL Datenbank, mit dem Namen datenbank1, wird mit dem Befehl “mysqldump” gesichert. Es wird dabei ein Abbild (dump) von datenbank1 nach /usr/src/datenbank1.sql geschrieben. Das MySQL Root Passwort wird nach der Eingabe abgefragt.

mysqldump -u root -p datenbank1 > /usr/src/datenbank1.sql

Datenbank Dump auf den neuen Server transferieren

Dieser Schritt kann übersprungen werden, wenn die Datenbank auf dem gleichen Datenbankserver kopiert werden soll.

Da die Datenbank nun in eine .sql Datei exportiert wurde kann sie auf den neuen Server (am Beispiel IP: 192.168.1.155) übertragen werden. Eine einfache Möglichkeit bietet der Befehl “scp”. Das Programm ist auf allen gängigen Linux Distributionen vorinstalliert und sehr einfach zu bedienen. (Ihr könnt die Datei auch manuell oder mit rsync transferieren)

scp /usr/src/datenbank1.sql root@192.168.1.155:/usr/src/

Nach der Passworteingabe wird die Datei datenbank1.sql auf den neuen Server übertragen.

Datenbank am neuen Server erstellen

Auf dem Zielserver müssen wir nun eine neue MySQL Datenbank erstellen, in die der MySQL Dump vom alten Server eingespielt wird. Es können natürlich spezielle Berechtigungen gesetzt werden, das würde aber diesen Beitrag sprengen. Daher wird der Datenbankuser mit grant all privileges auf datenbank1 angelegt und dabei auf den localhost begrenzt.

mysql -u root -p

Neue MySQL Datenbank (datenbank1) erstellen:

create database datenbank1;

MySQL Datenbankbenutzer (dein-user) mit dem Passwort (dein_passwort) anlegen

grant all privileges on datenbank1.* to 'dein_user'@'localhost' identified by 'dein_passwort' with grant option;

MySQL Datenbank wiederherstellen

Der MySQL Datenbank dump (datenbank1.sql) wird nun am neuen Server in die zuvor erstelle neue Datenbank (datenbank1)  wiederhergestellt. Das MySQL root Passwort wird nach der Eingabe abgefragt.

mysql -u root -p datenbank1 < /usr/src/datenbank1.sql

Gesamten MySQL Datenbankserver mit mehreren Datenbanken transferieren

Wer einen größeren MySQL Datenbankserver mit vielen Datenbanken transferieren möchte, der sollte sich am alten Server die Datenbank “mysql” mit dumpen, da dort die User Informationen, Rechte und Passwörter gespeichert sind. So ist es nicht notwendig, neben den Datenbanken auch noch die User und Passwörter anzulegen.

Kurze Zusammenfassung:

mysqldump -u root -p mysql > /usr/src/mysql.sql
scp /usr/src/mysql.sql root@192.168.1.155:/usr/src/
mysql -u root -p mysql < /usr/src/mysql.sql

Nach dem Einspielen sollte unbedingt noch ein flush privileges auf der Datenbank durchgeführt werden:

mysqladmin -u root -p flush-privileges

Tags: , , , , , , , ,

Donnerstag, Februar 7th, 2013 Linux, MySQL, WebServer 11 Kommentare

MySQL root Passwort vergessen – ändern – zurücksetzen – reset – wiederherstellen

mysql logo

Wem ist es noch nie passiert ein Passwort zu vergessen oder zu verlegen? Kommt einfach gelegentlich in den besten Firmen vor. So setzt man das MySQL Server Root Passwort zurück.

Ich möchte natürlich anmerken dass es mehrere Wege gibt um das Passwort wiederherzustellen, mit folgender Methode habe ich allerdings die besten Erfahrungen gemacht.

1) MySQL Datenbank Server stoppen

/etc/init.d/mysql stop

2) MySQL Server im Safe Mode ohne Passworteingabe und ohne Netzwerk starten

MySQL wird nun im Safe Mode ohne Passwortabfrage gestartet. Da nun ohne Passwort auf die Datenbank zugegriffen werden kann wird zusätzlich mit –skip-networking der Netzwerkzugriff unterbunden (kein muss aber zu empfehlen).

mysqld_safe --skip-grant-tables --skip-networking &

(Eventuell mit “STRG + C” aus der aktuellen Zeile aussteigen)

3) Verbindung mit der MySQL Datenbank herstellen

mysql -u root

4) MySQL root Passwort zurücksetzen

Table mysql auswählen

use mysql;

Passwort mit folgendem Befehl ändern (dein-neues-passwort durch ein entsprechendes Passwort ersetzten)

update user set password=PASSWORD('dein-neues-passwort') where User='root';

Anschließend ein Flush Privileges durchführen und die MySQL Konsole beenden

flush privileges;
quit

5) MySQL Server stoppen

/etc/init.d/mysql stop

6) MySQL Server im normalen Modus starten und Verbindungsaufbau testen

Der MySQL Server wird nun wieder im “normalen” Modus (ohne safe Mode)  gestartet

/etc/init.d/mysql start

Ein Login sollte somit mit dem neuen Passwort möglich sein

mysql -u root -p

Falls noch kein Initial Root Passwort definiert wurde kann es folgendermaßen festgelegt werden: MySQL root Passwort setzen

Tags: , , , , , ,

Donnerstag, Januar 31st, 2013 Linux, MySQL 3 Kommentare

Mac: Sequel Pro MySQL Datenbank Management Tool in der Version 1.0 erschienen

sequel-pro-1.0

Sequel Pro ist ein kostenloses MySQL Datenbank Management Tool für Mac OS X, welches ich schon viele Jahre im Einsatz habe. Wer wie ich viel mit verschiedenen MySQL Datenbankservern arbeitet, der wird Sequel Pro aufgrund der tollen Verbindungsverwaltung lieben. In diesem Sinne: Happy Birthday Sequel Pro zur Version 1.0!

MySQL Datenbank Zugriff via SSH

Eine der tollsten Funktionen von Sequel Pro ist der Zugriff auf MySQL Datenbanken über SSH. Es muss also keine MySQL Server Verbindung von extern erlaubt werden sondern das Tool verbindet sich über die SSH Zugangsdaten oder private Keys auf den Remote Server und arbeitet dann direkt über den Localhost (127.0.0.1) auf der Datenbank. Das war damals der Grund warum ich mich für Sequel Pro als MySQL Verwaltungstool entschieden habe.

Ein weiterer Grund ist natürlich dass Sequel Pro kostenlos ist ;)

Download von Sequel Pro 1.0

Screenshots:

Tags: , , , , , , ,

Dienstag, Januar 29th, 2013 Apple 2 Kommentare
Hosting-Lösungen (VPS, Dedicated Server, Webspace und Colocation) von Contabo

Subscribe to our mailing list

* indicates required Email Adresse *
Werbung schalten

*=Affiliatelink

Blogverzeichnis - Blog Verzeichnis bloggerei.de