Archiv

Archiv für die Kategorie ‘MySQL’

MySQL root Passwort ändern bzw. zurücksetzen

21. Juli 2008 Keine Kommentare

Um das MySQL root Passwort zu ändern gibt es verschiedene Möglichkeiten, die ich hier einmal festhalten möchte.

1. Falls das aktuelle Passwort bekannt ist

Mittels mysqladmin:

mysqladmin -u root password
>>"mein_passwort"

Mittels MySQL-Client:

mysql –u root
>>UPDATE user SET Password=PASSWORD('mein_pwd') WHERE user='root';
>>flush privileges;

2. Wenn das aktuelle root Passwort nicht bekannt ist

MySQLD muss mit –skip-grant-tables gestarten werden.

Meisten ist das Command hierfür:

/usr/bin/mysqld_safe --skip-grant-tables &

Danach Passwort ändern mit:

>mysql -u root
>>UPDATE mysql.user SET Password=PASSWORD('IhrNeuesPasswort') WHERE User='root';
>>FLUSH PRIVILEGES;
KategorienMySQL

MySQL Dump erstellen und direkt packen

20. Juni 2008 Keine Kommentare

Es gibt viele Gründe warum man die MySQL Datenbank einmal exportieren muss. Als onboard Tool stellt einem MySQL dafür das Programm mysqldump zur Verfügung.

* Serverumzug
* Update der Datenbank Version
* Datensicherung

sind häufig die Gründe warum ein solcher Export sämtlicher Daten einer Datenbank nötig ist. Für das tägliche sichern per Cronjob habe ich ja bereits eine Möglichkeit in diesem Blog genannt. Dieser Post ist > hier < zu finden.

Um die Datenbank über die Console bzw. SSH zu exportieren verwende ich meistens folgende Befehle:

mysqldump --opt -e -l --add-drop-table --force --host=localhost --user=USER --password=PASSWORD DATENDANKNAME > /PFAD/ZUM/DUMP.sql

Um den MySQLDump anschließend wieder einzuspielen:

mysql --host=localhost --user=USER --password=PASSWORT DATENBANKNAME < /PFAD/ZUM/DUMP.sql

Um den Dump direkt zu packen:

mysqldump --opt -e -l --add-drop-table --force --host=localhost --user=USER --password=PASSWORD DATENDANKNAME | gzip > /PFAD/ZUM/DUMP.gz
KategorienMySQL

MySQLDUMP sinnvoll erstellen und speichern per Cronjob

16. Februar 2008 Keine Kommentare

Um einmal täglich einen MySQLDUMP aller Datenbanken in ein File oder Einzelfiles pro Datenbank zu erstellen habe ich dieses Script geschrieben.

Es erstellt zunächst den oder die MySQLDUMPS aller Datenbanken und packt diese letztendlich in das Zielverzeichnis im GZIP Format.
Dateien eines gewissen Alters werden automatisch gelöscht (Default: 8 Tage).

Der Aufruf des Scripts kann entweder direkt per Cron oder mit dem nachfolgenden „Caller“ erfolgen, der die Ausgabe zusätzlich per E-Mail verschickt.

#!/bin/bash
 
# Backup E-Mail NotificationPATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"DATUM=$(date "+%d.%m.%y")SERVERNAME="MEIN-SERVER"
 
LOCALLOG="/var/log/db_backup.log"
 
/pfad/zum/mysqldump.sh >/tmp/1cf54aad7e5ded97201726b3eb1f25e0 2>&1
 
cat /tmp/1cf54aad7e5ded97201726b3eb1f25e0 | mail -s "$SERVERNAME DB $DATUM" meine-email@adresse.tld
cat /tmp/1cf54aad7e5ded97201726b3eb1f25e0 >> $LOCALLOG
 
exit 0

Das oben angesprochene mysqldump.sh Script findet ihr
hier zum Download

Danach fehlt nurnoch der Aufruf des Callers per Cronjob und die Anpassung des BASH Scripts, was ich beides euch überlasse ;)

Getestet ist es unter Gentoo und Debian.

KategorienMySQL