Main /

Mysql Konfigurieren

Allgemein

Knowledge Base

Virtualisierung Emulation

Technik und Wissen

Community

Privat

%center%[[http://validator.w3.org/check?uri=referer|http://www.w3.org/Icons/valid-xhtml10.png]]%%

Mysql Konfigurieren

/ HomePage / Computer / Software / Linux-Konfiguration / MySQL

MySQL konfigurieren

Als erstes muss MySQL installiert werden, was sich per

emerge dev-db/mysql

sehr schnell erledigen läßt. Und hier nicht weiter bedacht werden soll.

Die erste Initialisierung ist auch recht einfach getan.

emerge --config >=mysql-<versionsnummer>

Elsni 17.02.2009 22:07 Uhr:Beispiel? Funzte bei nicht nicht

Einloggen als root

 # mysql -u root -p

> <root passwort>

  • Alle Zeilen die mit '#' starten sollen sagen, hier wird von der Shell gestartet.
  • Alle Zeilen die mit 'mysql>' starten sollen sagen, hier wird aus der mysql Shell gestartet.

User anlegen

 mysql> CREATE USER 'bob'@'localhost';

oder

 mysql> CREATE USER 'bob'@'%' IDENTIFIED BY 'passwort';

Das geht so nicht?

  • ERROR 1146 (42S02): Table 'mysql.procs_priv' doesn't exist
 # mysql_fix_privilege_tables (--password=<root password>)
  • ERROR 1396 (HY000): Operation CREATE USER failed for 'bob'@'%'

Sieht so aus, als ob bob schon existiert?

 mysql> select user,host from user;

Danach nochmal probieren.

User ein Passwort verpassen

 mysql> SET PASSWORD FOR 'bob'@'localhost' = PASSWORD('geheim');
 mysql> SET PASSWORD FOR 'bob'@'%' = PASSWORD('geheim');

Einloggen als user

 # mysql -u bob -p

>geheim

Datenbank anlegen

 mysql> create database einedb;

User mit Rechten ausstatten

 mysql> quit
 # mysql -u root -p

 mysql> GRANT ALL PRIVILEGES ON einedb.* TO 'bob'@'localhost' WITH GRANT OPTION;
 mysql> GRANT ALL PRIVILEGES ON einedb.* TO 'bob'@'%' WITH GRANT OPTION;

flush privileges

Datenbank exportieren

# mysqldump -p --databases <DBName> >file.sql

 # mysqldump --complete-insert --skip-extended-insert --user=<user> --password=<geheim> --result-file=file.sql --databases <DBName>
  • complete-insert: im INSERT werden die Tabellenspaltennamen mit angegeben.
  • skip-extended-insert: für jedes INSERT wird eine eigene Zeile verwendet.
  • result-file=file: Statt '>' für Standardausgabe, gerade unter Windows werden so die Lineendings nicht geschrottet.

Datenbank importieren

 # mysql <file.sql

Datenbank von aussen erreichbar machen

In der /etc/mysql/my.cnf den Eintrag bind-address=127.0.0.1 maskieren. (# davor) Aber haut mich jetzt nicht in die Pfanne, das geschied auf eigenes Risiko.

Tips

 # mysql -u user -p

verlangt immer nach einen Kennwort, wer es leid ist es jedes mal zu tippen, kann es auch in der ~/.mc.cnf ablegen

 [client]
 password="geheimes Passwort"

Die Datei per chmod 600 nur für den User selbst lesbar machen und schon kann man Kennwort geschützte Datenbanken mit mysql bearbeiten.

Vorteile:

  • Nie wieder das Kennwort eintippen
  • Das Kennwort geht nicht verloren, da es ja in einer Datei abgelegt ist an die nur der Benutzer selbst ran kommt

Nachteile:

  • Jeder der root werden kann, kennt auch das Kennwort oder kann es beim User auslesen.
Frische Änderungen | Menü editieren Seite wurde zuletzt geändert am 01.09.2010 10:48 Uhr von Lars
Diese Seite wurde bisher 624 mal aufgerufen.
Seite Bearbeiten | Seitenhistorie

Powered by PmWiki
Page generated in 0,854 seconds.