Easy-Wi – das einfache Webinterface

MySQL Admin Server

MySQL Server installieren

Falls noch nicht geschehen, müssen wir zuerst einen MySQL, oder MariaDB server mit dem Paketmanagement der Distribution installieren. Bei Debian und seinen Derivaten, wie Ubuntu ist es apt:

apt-get install mysql-server mysql-client

RedHat und seine Derivate wie Fedora und CentOS verwenden yum:

yum install mysql-server mysql-client

NMach der Installation rufen wir "mysql_secure_installation" auf, um den Server abzuhärten und zu sichern:

mysql_secure_installation
 
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
 
In order to log into MySQL to secure it, we'll need the current
password for the root user.  If you've just installed MySQL, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
 
Enter current password for root (enter for none):
OK, successfully used password, moving on...
 
Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.
 
You already have a root password set, so you can safely answer 'n'.
 
Change the root password? [Y/n] n
... skipping.
 
By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.
 
Remove anonymous users? [Y/n] y
... Success!
 
Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.
 
Disallow root login remotely? [Y/n] y
... Success!
 
By default, MySQL comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.
 
Remove test database and access to it? [Y/n] y
- Dropping test database...
ERROR 1008 (HY000) at line 1: Can't drop database 'test'; database doesn't exist
... Failed!  Not critical, keep moving...
- Removing privileges on test database...
... Success!
 
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
 
Reload privilege tables now? [Y/n] y
... Success!
 
Cleaning up...
 
All done!  If you've completed all of the above steps, your MySQL
installation should now be secure.
 
Thanks for using MySQL!

Externer Zugriff

Falls ein externer Zugriff auf die Datenbanken gewollt ist, muss die my.cnf angepasst und der MySQL Server neu gestartet werden.

/etc/mysql/my.cnf

In der Config suchen wir den Eintrag für "bind-address" und aktivieren diesen mit der externen IPv4 Adresse.

bind-address = 1.1.1.1

Restart

Dann den MySQL Server neu starten.

/etc/init.d/mysql restart

Masteruser

Als nächstes legt man einen neuen User an, der die globalen Rechte hat, Benutzer, Rechte und Daten zu lesen, schreiben und zu löschen. Man kann zu Testzwecken die Daten des MySQL Root Accounts benutzen. Für den Produktiven Einsatz ist davon strengstens abzuraten! Falls nur lokaler Zugang gewünscht ist, sollte man an dieser Stelle und beim nächsten Befehl an statt '%' 'localhost' verwenden. Der User wird angelegt mit:

CREATE USER 'masteruser'@'%' IDENTIFIED BY 'DeinPasswort';


Dann die notwendigen Rechte zuweisen:

GRANT ALL PRIVILEGES ON * . * TO 'masteruser'@'%' IDENTIFIED BY 'DeinPasswort' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;

MySQL Server zu Easy-WI hinzufügen

Navigiere zu MySQL > Server > Hinzufügen. Und trage die Informationen des neuen Servers ein.

IP

Die IP des MYSQL Servers.

Port

Der Port des MYSQL Servers.

Benutzername

Der User der mittels globaler Rechte die Datenbanken, User und Host Tabellen Einträge verwalten wird.

Passwort

Das Passwort für den User mit globalen Rechten.

Maximale Datenbanken

Um eine Überlastung zu verhindern, kann man einen Maximalwert bestimmen, über den hinaus keine neuen Datenbanken mehr hinzugefügt werden können. Wird mehr als ein Server benutzt, wird mittels diesem Wert die prozentuale Auslastung bestimmt. Beim automatisiertem Anlegen einer Datenbank wird der Server mit der prozentual geringsten Belastung genommen, Beim manuellen Anlegen, dieser Server vor selektiert.

phpMyAdmin

Möchte man das Admininterface phpMyAdmin bereitstellen, so kann man hier den Link zu der Installation hinterlegen. Zur einfachen Handhabung wird der Link den Usern und Admins angezeigt.

Standardwerte für neue Datenbanken

Jede Datenbank bekommt ihren eigenen Datenbankuser, der den gleichen Namen, wie die Datenbank hat. Diesem User kann man maximale Werte für die Benutzung der Datenbank zuweisen. 0 bedeutet unbegrenzt.