MySQL
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 Fast, multi-threaded, multi-user SQL database server
+perl
Add optional support/bindings for the Perl language
+server
Build the server program
cjk
Add CJK support for InnoDB fulltext search using app-text/mecab
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
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)
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
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.
test-install
Install testsuite for manual execution by the user
verify-sig
Verify upstream signatures on distfiles
Emerge
Sobald die richtigen USE-Flags gesetzt sind, installieren Sie MySQL:
root #emerge --ask dev-db/mysqlKonfiguration
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 defaultNach der Konfiguration der Datenbank, die später in diesem Dokument beschrieben wird, starten Sie den mysql Dienst:
root #rc-service mysql startVorbereitende Konfiguration
Das Paket dev-db/mysql erledigt die vorbereitende Konfiguration von MySQL durch die Option --config:
root #emerge --config dev-db/mysqlDies 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_installationDatenbankeigene Konfiguration
Wenn die Datenbank in Gang ist, verbinden Sie sich mit ihr über die mysql Client-Anwendung.
user $mysql -u root -p -h localhostEnter 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_historyAlternativ können Sie das History-Logging hiermit permanent deaktivieren:
root #ln -sf /dev/null /root/.mysql_history