MySQL: Kleines User-1×1
Oktober 23, 2013 — 14:31

Anlegen

Anlegen eines neuen Benutzers

CREATE USER 'mustermann'@'localhost' IDENTIFIED BY 'Password';

Rechte

Gebe dem Benutzer alle Rechte an einer Datenbank (inkl. Grant-Option)

GRANT ALL PRIVILEGES ON database.* TO 'mustermann'@'localhost' WITH GRANT OPTION;

Es können auch nur einzelne Rechte vergeben werden. Siehe hierzu die Referenz: http://dev.mysql.com/doc/refman/5.5/en/grant.html

Passwort ändern

UPDATE mysql.user SET Password=PASSWORD('new-password-here') WHERE User='user-name-here' AND Host='host-name-here';

oder

SET PASSWORD FOR 'user-name-here'@'hostname-name-here' = PASSWORD('new-password-here');

Löschen

DROP USER 'mustermann'@'localhost';
CentOS: Fehlendes updatedb / locate
Oktober 22, 2013 — 11:01

CentOS installiert bei einer Minimalinstallation kein locate/updatedb. Ohne lässt sich auf der Festplatte leider nicht schnell nach Dateien suchen. Ein yum provide locate bzw. yum provide updatedb  führt leider nicht zum Ziel.

Abhilfe schafft folgendes:

$ yum install mlocate
$ /etc/cron.daily/mlocate.cron

Der erste Befehl sorgt für die Installation und der zweite für die erste Indexierung der Festplatte. Die erste Indexierung kann ein paar Minuten dauern. Der Index wird täglich aktualisiert. Anschließend sollte der schnellen Suche nach Dateinamen nichts im Wege stehen.

$ locate hosts
/etc/hosts
/etc/hosts.allow
/etc/hosts.deny
/etc/selinux/targeted/modules/active/modules/denyhosts.pp
/lib64/security/pam_rhosts.so
/usr/share/ghostscript
/usr/share/doc/pam-1.1.1/html/sag-pam_rhosts.html
/usr/share/doc/pam-1.1.1/txts/README.pam_rhosts
/usr/share/ghostscript/conf.d
/usr/share/man/man5/hosts.allow.5.gz
/usr/share/man/man5/hosts.deny.5.gz
/usr/share/man/man5/hosts_access.5.gz
/usr/share/man/man5/hosts_options.5.gz
/usr/share/man/man8/denyhosts_selinux.8.gz
/usr/share/man/man8/pam_rhosts.8.gz
/usr/share/selinux/devel/include/services/denyhosts.if
/usr/share/selinux/targeted/denyhosts.pp.bz2
/usr/share/vim/vim72/ftplugin/denyhosts.vim
/usr/share/vim/vim72/ftplugin/hostsaccess.vim
/usr/share/vim/vim72/syntax/denyhosts.vim
/var/cache/yum/timedhosts.txt
/var/cache/yum/x86_64/6/timedhosts.txt
Bash-Scripting: Mysql-Dumpscript mit Rotation der Sicherungen
Oktober 22, 2013 — 10:00

Backup…

Ein Script um ein Dump einer MySQL-Datenbank zu ziehen und komprimiert als bz2-Datei zu speichern. Eine einfache Backuprotation wurde mit eingefügt, so dass die letzten X-Versionen in den Ordnern 1-X vorgehalten werden.

#!/bin/bash
# This Backup-Script creates a dump from the entire mysql-Database
# and safes it in the backup-directory.
# Some Backup-Rotation included.
BACKUP_ROOT="/mnt/backup/mysql"
DB_USER="root" #DB-root
DB_PASSWD="Password" #DB-root-pw
ROTATIONS="7" #Number

echo ""
echo "MySQL-Backup"
echo "----------------------------------------"
echo "Rotating Backups..."
echo "This may take some time..."
# Delete eldest Backup
rm -rf $BACKUP_ROOT/$ROTATIONS
# create directories if needed
COUNT=1

for ((i=1; $i<=$ROTATIONS; i++))
do
  if [ ! -d ${BACKUP_ROOT}/${COUNT} ]; then
    mkdir -p $BACKUP_ROOT/$COUNT
  fi
  COUNT=$(($COUNT+1))
done

# rotating the backups
COUNT=0

for ((i=1; $i<$(($ROTATIONS)); i++))
do
  mv $BACKUP_ROOT/$(($ROTATIONS-$COUNT-1)) $BACKUP_ROOT/$(($ROTATIONS-$COUNT))
  COUNT=$(($COUNT+1))
done
mkdir $BACKUP_ROOT/1
echo ""
echo "Creating new backup from Database... "
echo "This may take some time..."
mysqldump --user=$DB_USER --password=$DB_PASSWD --all-databases | bzip2 > $BACKUP_ROOT/1/mysql-`date +%Y-%m-%d`.bz2
echo "----------------------------------------"
echo ""
echo "done"
exit 0

…und Restore

Der Dump kann über eine Pipe entpackt und  zurückgesichert werden.

bunzip2 < mysql-2013-10-25.bz2 | mysql -uroot -p