Benutzer-Werkzeuge

Webseiten-Werkzeuge


database_server

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
database_server [2018/02/13 14:49]
admin
database_server [2018/02/16 00:32] (aktuell)
admin
Zeile 1: Zeile 1:
 ====== Datenbank-Server ====== ====== Datenbank-Server ======
-Initialisieren des Datenbankservers (root und weitere User sowie Parameter) einrichten:+===== Installation ===== 
 +<code|user@host:~#> 
 +apt-get install mysql-server 
 +</code> 
 +===== Konfiguration ===== 
 +Um den MySQL-Server zu konfigurieren wird ein Tool mitgeliefert, welches 
 +direkt nach der Installation ausgeführt werden sollte:
 <code|user@host:~#> <code|user@host:~#>
 mysql_secure_installation mysql_secure_installation
 +------------------------------------------------------------------
 +
 +NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
 +      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
 +
 +In order to log into MariaDB to secure it, we'll need the current
 +password for the root user.  If you've just installed MariaDB, 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):
 </code> </code>
-Mit dem mySQL-Server verbinden+Hier wird man direkt nach einem Passwort für den ''root''-User gefragt. 
-<code|user@host:~$+Achtung, damit ist nicht der ''root''-User der Linux-Maschine gemeint, 
-mysql -<HOST> -root -p+sondern der Datenbank-''root''. Da man während der Installation nicht 
 +um die Einrichtung eines Passwortes für den ''root'' gefragt wurde, lässt 
 +man hier das Passwort leer und drückt enter: 
 +<code|user@host:~#> 
 +OK, successfully used password, moving on... 
 + 
 +Setting the root password ensures that nobody can log into the MariaDB 
 +root user without the proper authorisation. 
 + 
 +Set root password? [Y/n] 
 +</code> 
 +Da man nun ein Passwort setzen möchte, drückt man auf enter und tippt 
 +das neue Passwort ein: 
 +<code|user@host:~#> 
 +New password: 
 +Re-enter new password: 
 +Password updated successfully! 
 +Reloading privilege tables.. 
 + ... Success! 
 + 
 + 
 +By default, a MariaDB installation has an anonymous user, allowing anyone 
 +to log into MariaDB 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] 
 +</code> 
 +Die anonymen user entfernen wir mal an dieser Stelle mit enter. Danach 
 +wird man gefragt, ob man den Fernzugriff als ''root'' deaktivieren möchte. 
 +Ja, besser ist es.\\  
 +<code|user@host:~#> 
 + ... 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] 
 +</code> 
 + 
 +Die Testdatenbank kann ruhig auch entfernt werden: 
 +<code|user@host:~#> 
 + ... Success! 
 + 
 +By default, MariaDB 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] 
 +</code> 
 +Am Ende lade man die Privilegien neu und dann wars das auch schon: 
 +<code|user@host:~#> 
 + - Dropping test database... 
 + ... Success! 
 + - 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] 
 + ... Success! 
 + 
 +Cleaning up... 
 + 
 +All done!  If you've completed all of the above steps, your MariaDB 
 +installation should now be secure. 
 + 
 +Thanks for using MariaDB! 
 +</code> 
 + 
 +===== Test ===== 
 +Man mann sich nun auf dem Datenbankserver in die MySQL-Konsole als root einloggen. 
 +''-p'' ohne Passwort bewirkt dabei, dass man nach dem Passwort geprompted wird, statt es der Kommandozeile als Argument zu übergeben. \\  
 +Wichtig!! Passwörter niemals in Kommandos eintippen! 
 +<code|user@host:~#> 
 +mysql -u root -p 
 +-------------------------------------------------------------------- 
 +Enter password: 
 +Welcome to the MariaDB monitor.  Commands end with ; or \g. 
 +Your MariaDB connection id is 10 
 +Server version: 10.1.26-MariaDB-0+deb9u1 Debian 9.1 
 + 
 +Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others. 
 + 
 +Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. 
 + 
 +MariaDB [(none)]> 
 +</code> 
 +Hier kann man sich anschauen, welche Datenbanken vorhanden sind
 +<code|user@host:~#
 +MariaDB [(none)]> show databases; 
 +------------------------------------------------------------------ 
 ++--------------------+ 
 +| Database           | 
 ++--------------------+ 
 +| information_schema | 
 +mysql              | 
 +| performance_schema | 
 ++--------------------+ 
 +3 rows in set (0.00 sec) 
 +</code> 
 +Als nächstes kann man sich die Berechtigungen aller User ansehen: 
 +<code|user@host:~#> 
 +MariaDB [(none)]> select * from information_schema.user_privileges; 
 +------------------------------------------------------------------- 
 ++--------------------+---------------+-------------------------+--------------+ 
 +| GRANTEE            | TABLE_CATALOG | PRIVILEGE_TYPE          | IS_GRANTABLE | 
 ++--------------------+---------------+-------------------------+--------------+ 
 +| 'root'@'localhost' | def           | SELECT                  | YES          | 
 +| 'root'@'localhost' | def           | INSERT                  | YES          | 
 +| 'root'@'localhost' | def           | UPDATE                  | YES          | 
 +| 'root'@'localhost' | def           | DELETE                  | YES          | 
 +| 'root'@'localhost' | def           | CREATE                  | YES          | 
 +| 'root'@'localhost' | def           | DROP                    | YES          | 
 +| 'root'@'localhost' | def           | RELOAD                  | YES          | 
 +| 'root'@'localhost' | def           | SHUTDOWN                | YES          | 
 +| 'root'@'localhost' | def           | PROCESS                 | YES          | 
 +| 'root'@'localhost' | def           | FILE                    | YES          | 
 +| 'root'@'localhost' | def           | REFERENCES              | YES          | 
 +| 'root'@'localhost' | def           | INDEX                   | YES          | 
 +| 'root'@'localhost' | def           | ALTER                   | YES          | 
 +| 'root'@'localhost' | def           | SHOW DATABASES          | YES          | 
 +| 'root'@'localhost' | def           | SUPER                   | YES          | 
 +| 'root'@'localhost' | def           | CREATE TEMPORARY TABLES | YES          | 
 +| 'root'@'localhost' | def           | LOCK TABLES             | YES          | 
 +| 'root'@'localhost' | def           | EXECUTE                 | YES          | 
 +| 'root'@'localhost' | def           | REPLICATION SLAVE       | YES          | 
 +| 'root'@'localhost' | def           | REPLICATION CLIENT      | YES          | 
 +| 'root'@'localhost' | def           | CREATE VIEW             | YES          | 
 +| 'root'@'localhost' | def           | SHOW VIEW               | YES          | 
 +| 'root'@'localhost' | def           | CREATE ROUTINE          | YES          | 
 +| 'root'@'localhost' | def           | ALTER ROUTINE           | YES          | 
 +| 'root'@'localhost' | def           | CREATE USER             | YES          | 
 +| 'root'@'localhost' | def           | EVENT                   | YES          | 
 +| 'root'@'localhost' | def           | TRIGGER                 | YES          | 
 +| 'root'@'localhost' | def           | CREATE TABLESPACE       | YES          | 
 ++--------------------+---------------+-------------------------+--------------+ 
 +28 rows in set (0.00 sec) 
 +</code> 
 +Da die Datenbank frisch ist, sollte hier nur der ''root''-User stehen und alle 
 +Privilegien besitzen. \\ 
 +Man kann sich auch anschauen auf welchem wege sich ein User gegen die Datenbank authentifiziert, mit ''show grants;'' für den aktuell eingeloggten User oder mit ''show grants for heinz;'' für heinz: 
 +<code|user@host:~#> 
 +MariaDB [(none)]> show grants; 
 +------------------------------------------------------------------ 
 ++------------------------------------------------------------------------------------------------+ 
 +| Grants for root@localhost                                                                      | 
 ++------------------------------------------------------------------------------------------------+ 
 +| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED VIA unix_socket WITH GRANT OPTION | 
 +| GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION                                  | 
 ++------------------------------------------------------------------------------------------------+ 
 +2 rows in set (0.00 sec)
 </code> </code>
 +Hier sieht man, dass der ''root'' sich über einen
 +[[https://en.wikipedia.org/wiki/Unix_domain_socket|unix socket]]
 +authentifiziert.\\ 
 +Nun kann man mit der Installation von [[phpmyadmin|phpMyAdmin]] fortfahren um
 +die Datenbanken auf dem Datenbankenserver über eine Weboberfläche zu administrieren.
  
database_server.1518529770.txt.gz · Zuletzt geändert: 2018/02/13 14:49 von admin