MySQL

Aus Doku-Wiki
Zur Navigation springenZur Suche springen

MySQLeinrichten

Secure Installation

  • Befehl für die Einrichtung
mysql_secure_installation

PhpMyAdmin Anmeldung

Das Login mittels PhpMyAdmin wird verweigert, weil die Authentifizierung über "Unix Socket based authentification" eingestellt ist. Hier wird die Authentifizierung nur auf der Konsole erlaubt. Die Umstellung erfolgt also auf der Konsle:

mysql -u root
use mysql;
update user set plugin= where User='root';
flush privileges;
exit;

Damit wird das unix_socket-Plugin deaktiviert. Nun sollte das Login über PhpMyAdmin funktionieren.

Root-Passwort zurück setzen

Um das root Passort auf einen definierten Wert zurückzusetzen sind folgende Schritte notwendig:

  • Prozess-Ids der MySQL-Prozesse ermitteln und Prozesse beenden
1.)   # ps aux
2.)   PID für “/bin/sh /usr/bin/mysqld_safe” ermitteln   (Zum Beispiel 1867)
3.)   # kill -9 1867
4.)   # ps aux
5.)   PID für “/usr/sbin/mysqld –basedir=/usr –datadir=/var/lib/mysql –user=mys” ermitteln  (Zum Beispiel 2841)
6.)   # kill -9 2841
7.)   # mysqld –skip-grant-tables  (Jetzt den mysqldaemon mit der Option “skip-grant-tables” starten)
8.)   # mysql -u root -p mysql
9.)   mysql> UPDATE mysql.user SET Password=’123? WHERE User=’root’;  (SQL Command setzt Passwort auf 123 )
10.)  mysql> FLUSH PRIVILEGES;  (Berechtigungen neu laden)
11.)  mysql> exit    (SQL Client beenden)
  • SQL-Server beenden und wieder starten

Original-Doku

Datenbank importieren/exportieren

Datenbank export

 mysqldump \
  --databases [DATABASE_NAME] \
  --complete-insert \
  --add-drop-table \
  --host=localhost \
  --user=[USER] \
  --password=[PASSWORD] \
  > [/PATH_TO_EXPORT_FILE]

Datenbank import

mysql -u[USER] -p'[PASSWORD]' --database=[DATABASE_NAME] < [PATH_TO_IMPORT_FILE]

Import von VIEWs

Beim Export von VIEWs werden wird der Benutzer definiert, der die VIEWs angelegt hat. Importiert man die Datenbank mit einem anderen Benutzer, werden die VIEWs nicht angelegt, bzw. werden leere Tabellen statt der VIEWs angelegt. Um die Datenbank unter einem anderen Benutzer incl. der VIEWs importieren zu können, muss das Importfile erst angepasst werden. Mann sucht darin nach DEFINER und löscht die auskommentierten Zeilen. Danach lassen sich die VIEWs auch mit einem anderen Benutzer improtieren. Die DEFINER Zeilen sehen so, oder so ähnlich aus:

 /*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */