MySQL

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page MySQL and the translation is 100% complete.

MySQL ist ein populäres relationales Datenbank Management System und Freie Software. Es wird oft in Verbindung mit Web-Applikationen (so wie viele PHP Seiten) verwendet, hat aber viele weitere Funktionen auf Unternehmensebene seit seinem Start im Jahr 1994 hinzubekommen. Eine alternative Abspaltung ist MariaDB.

Installation

USE-Flags

Vor der Installation von dev-db/mysql sollten Sie sorgsam die USE-Flags prüfen, die die Paket-Verwendung und Funktionen beeinflussen. Die folgende Tabelle gibt einen Überblick zu den vom Paket unterstützten USE-Flags:

USE flags for dev-db/mysql A fast, multi-threaded, multi-user SQL database server

cjk Add CJK support for InnoDB fulltext search using app-text/mecab
client-libs Build the client libraries from the server package instead of the C Connector packages (not recommended)
cracklib Support for cracklib strong password checking
debug Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces
experimental Build experimental features aka "rapid" plugins
jemalloc Use dev-libs/jemalloc for memory management
latin1 Use LATIN1 encoding instead of UTF8
numa Enable NUMA support using sys-process/numactl (NUMA kernel support is also required)
perl Add optional support/bindings for the Perl language
profiling Add support for statement profiling (requires USE=community).
router Build the MySQL router program
selinux !!internal use only!! Security Enhanced Linux support, this must be set by the selinux profile or breakage will occur
server Build the server program
static !!do not set this during bootstrap!! Causes binaries to be statically linked instead of dynamically
static-libs Build static versions of dynamic libraries as well
systemtap Build support for profiling and tracing using dev-debug/systemtap
tcmalloc Use the dev-util/google-perftools libraries to replace the malloc() implementation with a possibly faster one
test Install upstream testsuites for end use.

Emerge

Sobald die richtigen USE-Flags gesetzt sind, installieren Sie MySQL:

root #emerge --ask dev-db/mysql

Konfiguration

Dienste

OpenRC

Um die Datenbank(en) automatisch beim Booten zu starten, fügen Sie das Init-Skript zum Standard-Runlevel hinzu:

root #rc-update add mysql default

Nach der Konfiguration der Datenbank, die später in diesem Dokument beschrieben wird, starten Sie den mysql Dienst:

root #rc-service mysql start

Vorbereitende Konfiguration

Das Paket dev-db/mysql erledigt die vorbereitende Konfiguration von MySQL durch die Option --config:

root #emerge --config dev-db/mysql

Dies erstellt eine Datenbank, setzt die passenden Zugriffsberechtigungen dafür und unterstützt bei der Erzeugung eines guten root-Passwortes. (Dies geschieht für das MySQL root-Konto, welches nicht in Beziehung zum Linux root-Konto steht.)

Um anonyme Benutzer zu säubern und Datenbanken von der Installation zu testen, starten Sie nach dem vorbereitenden Einrichten mysql_secure_installation:

root #mysql_secure_installation

Datenbankeigene Konfiguration

Wenn die Datenbank in Gang ist, verbinden Sie sich mit ihr über die mysql Client-Anwendung.

user $mysql -u root -p -h localhost
Enter root password: 
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 5.5.1
  
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
  
mysql>

Von diesem Punkt an ist eine Sitzung mit der MySQL-Instanz geöffnet, die es erlaubt Anfragen und administrative Befehle zu bedienen.

Befehlshistorie löschen

Standardmässig loggt MySQL jede Aktion, das Zurücklassen von Klartext-Passworten in seiner Historiendatei eingeschlossen.

Um die Historiendatei zu entfernen:

root #rm /root/.mysql_history

Alternativ können Sie das History-Logging hiermit permanent deaktivieren:

root #ln -sf /dev/null /root/.mysql_history

Siehe auch