wiki:tipps_und_tricks:mysql

barcode

Diese kleinen Tipps und Tricks sind für das Datenbank MySQL gedacht

Sicherung und Zurückspielen von MySQL-Datenbanken

Zur sicherung auf der Konsole folgende Zeile eingeben

mysqldump --user=admin --password=xxx db_name > dump.sql

Um das ganze wieder zurückzuspielen, muss man folgende Zeile eingeben

mysql --user=admin --password=xxx -D <db_name> < dump.sql
Tipp:

Wenn man statt –password=xx lieber nach dem Passwort gefragt werden möchte, verwendet man stattdessen den Parameter -p

Kompletten MySQL-Server sichern

Wie sichert man alle Datenbanken eines SQL-Servers und die dazu passenden User mit allen Passwörtern? Hier eine kleine Anleitung

mysqldump -uroot -pPWD --all-databases > ~/dump.sql
mysql -uroot -pPWD < ~/dump.sql

Nach dem Zurückspielen der Daten muss der SQL-Server neu starten

  • Bei dieser Methode wird auch das alte Kennwort des debian-sys-maint-Users geändert. Beim Start von mysql wird deshalb folgende Fehlermeldung ausgegeben
    ERROR 1045 (28000): Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)''

    . Um das Passwort zu ändern, das Passwort aus der Datei /etc/mysql/debian.cnf heraussuchen und über phpMyAdmin austauschen.

  • Sollte folgende Fehlermeldung kommen
    ERROR 1577 (HY000) at line 1: Cannot proceed because system tables used by Event Scheduler were found damaged at server start
    ERROR 1547 (HY000) at line 1: Column count of mysql.proc is wrong. Expected 20, found 16. The table is probably corrupted

    , dann muss man die MySQL5-Daten zu MySQL5.1-Daten updaten. Dies geschieht mit

    mysql_upgrade --force -u root -h localhost -p –verbose

    beheben

User und Passwörter sichern

Will man nur die Datenbankuser und deren kennwörter sichern, muss man nur die Tabelle 'mysql' sichern

mysqldump --user=admin --password=xxx mysql > dump_usernames.sql
mysql --user=admin --password=xxx -D mysql < dump_usernames.sql

Root-Passwort setzen

Sollte das root-Passwort nicht gesetzt sein, so kann man es mit folgender Zeile setzen:

mysqladmin --user=root password <Passwort>

Zeichensätze setzen

Sollten bei verschiedenen Programmen die Umlaute falsch dargestellt werden, kann man dies in der Datei /etc/my.conf ändern

[mysqld]
 
character_set_server = 'latin1'

Logging

Manchmal ist es notwendig, alle Queries mit zu loggen.

Vorsicht: bei stark frequentierten Servern kann das Log sehr schnell sehr groß werden.
[mysqld]
general_log_file        = /var/log/mysql/mysql.log
general_log             = 1

Server restarten

service mysql restart
systemctl restart mysql

Quellen

Problemlösung?

Geben Sie Ihren Kommentar ein. Wiki-Syntax ist zugelassen:
   ___    ___  ______  __  __   ____
  / _ \  / _ \/_  __/ / / / /  / __/
 / , _/ / ___/ / /   / /_/ /  / _/  
/_/|_| /_/    /_/    \____/  /_/
 
  • wiki/tipps_und_tricks/mysql.txt
  • Zuletzt geändert: 2015/04/09 10:01
  • von wikiadmin