Aus Erfahrung weiß ich, dass mir bei einem Heimatbesuch die besten Programmierideen kommen. Dies ist vor Allem der schlechten Internetanbindung zu verschulden /-danken, bei der man am liebsten für die Dauer des Aufenthalts die gesamte Webaktivität auf curl beschränken möchte.
Als Freund von mobilen Apps. die datenbankbasiert arbeiten ist das Erstellen, Bearbeiten und Droppen von mySQL Datenbanken und Tabellen mittlerweile fast zum Standard geworden. In den meisten Fällen habe ich bisher bestehende Systeme genutzt. Was also liegt näher, als die Installation und Konfiguration dieses mal selbst zu übernehmen?
1. mySQL installieren:
Das mySQL-Server Paket kann aus den offiziellen Quellen bezogen werden:
1 |
sudo apt-get install mysql-server |
! Während der Installation wird man aufgefordert einen Root Nutzer anzulegen. Der Benutzername und das Passwort werden später verwendet um sich auf dem mySQL-Server einzuloggen !
Nach der Installation habe ich zunächst die Standardconfigdatei gelöscht und ein Config-Template in den Hauptordner kopiert um schneller die einzelnen Einstellungen anpassen zu können:
1 2 |
sudo rm /etc/mysql/my.cnf sudo cp /etc/mysql/mysql.conf.d/mysql.cnf /etc/mysql/my.cnf |
2. mySQL Config-Datei anpassen
Anschließend wird die eben erzeugte Config-Datei angepasst:
1 |
sudo nano /etc/mysql/my.cnf |
Da der Server auch von außen erreichbar sein soll musst auch diese Zeile angepasst werden:
1 2 |
- bind-address = 127.0.0.1 + bind-address = 0.0.0.0 |
3. Login Commands
Da die Rechte noch nicht angepasst wurden kann sich der Root-User zu diesem Zeitpunkt noch ortsunabhängig einloggen.
3.1 Login lokal
1 |
mysql -u root -p |
3.2 Login remote
1 |
mysql -u root -p -h domain.to.host |
3.3 Login remote mit custom Port
1 |
mysql -u root -p -P 1234 -h domain.to.host |
4. Neuen Benutzer anlegen
Einmal eingeloggt können ab sofort die bekannten SQL Queries zum Verwalten von Usern, Datenbanken und Tabellen genutzt werden.
Hier soll zum Beispiel ein neuer Nutzer erstellt werden, der von überall auf den Server zugreifen kann:
1 |
CREATE USER 'remoteuser'@'%' IDENTIFIED BY 'remotepasswd'; |
Diesem sollen zunächst alle Rechte zugewiesen werden:
1 |
GRANT ALL PRIVILEGES ON *.* TO 'remoteuser'@'%'; |
Zuletzt werden die Zugriffsrechte geupdatet:
1 |
FLUSH PRIVILEGES; |
5. Firewall anpassen
Um einen externen Zugriff zuzulassen muss die Firewall entsprechend konfiguriert sein. Im Fall von UFW geschieht dies über:
1 |
sudo ufw allow 3306 |
n-1. GUI Anwendung
Insbesondere für die Nutzer- / Rechteverwaltung habe ich nach einem GUI-Client unter Linux MINT gesucht. Die Auswahl ist dabei eher gering. Nachdem phpmyadmin bei mir weggefallen ist haben ich mich am Ende für MySQL Workbench entschieden.
1 |
sudo apt-get install mysql-workbench |
n. Querverweise
https://wiki.ubuntuusers.de/MySQL/
https://www.mysql.de/
https://wiki.ubuntuusers.de/MySQL_Workbench/