19.07.2021, 08:25
(Dieser Beitrag wurde zuletzt bearbeitet: 19.07.2021, 19:13 von ThunderTower.)
Meine MySQL-Einrichtung für OpenSim auf 20.4 Ubuntu Server
sudo apt update
sudo apt install mysql-server
Um MySQL etwas sicherer zu machen, lohnt die mysql_secure_installation
Anweisung:
sudo mysql_secure_installation
Abfragen durchlaufen und mit y bestätigen.
In meiner Umgebung hat das caching_sha2_password mit OpenSim Probleme gemacht.
Deshalb nutze ich für OpenSim immer das mysql_native_password. Soll aber jeder machen was er mag.
Für root natürlich dascaching_sha2_password.
Das Authentifizierungsverfahren für MySQL prüfen:
SELECT user,authentication_string,plugin,host FROM mysql.user;
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '5UhtgBGZsh+.';
FLUSH PRIVILEGES;
Nochmal prüfen ob root nicht mehr über das auth_socket-Plugin funktioniert:
SELECT user,authentication_string,plugin,host FROM mysql.user;
Testen, ob man sich einfach einloggen kann:
salamihot@pfeffer:~$ sudo mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
Super, jetzt NEU anmelden mit:
mysql -u root -p
Benutzer erstellen und Passwort vergeben:
CREATE USER 'eisenbieger'@'localhost' IDENTIFIED BY 'uhz8f5FS25sRGZ4+$sgb';
Rechtevergabe:
GRANT ALL PRIVILEGES ON *.* TO 'eisenbieger'@'localhost' WITH GRANT OPTION;
Das war nicht ganz richtig, also nochmal:
ALTER USER 'eisenbieger'@'localhost' IDENTIFIED WITH mysql_native_password BY '7Uhuhn$#45BGZsh+.';
FLUSH PRIVILEGES;
Welche aktuellen Berechtigungen habe ich nun?
SHOW GRANTS FOR 'eisenbieger'@'localhost';
Datenbanken anlegen:
mysql> create database amiezemiez1;
Query OK, 1 row affected (0.39 sec)
mysql> create database amiezemiez2;
Query OK, 1 row affected (0.16 sec)
mysql> create database amiezemiez3;
Query OK, 1 row affected (0.15 sec)
mysql> create database amiezemiez4;
Query OK, 1 row affected (0.15 sec)
mysql> create database amiezemiez5;
Query OK, 1 row affected (0.13 sec)
mysql> exit
Natürlich könnte man auch mit 'use' in jede Datenbank wechseln. Dann einem Benutzer auch nur die Rechte an dieser Datenbank geben.
Man kann es auch übertreiben.
[DatabaseService]
;
; ### Choose the DB
;
; SQLite
;Include-Storage = "config-include/storage/SQLiteStandalone.ini";
; MySql
; Uncomment these lines if you want to use mysql storage
; Change the connection string to your db details
StorageProvider = "OpenSim.Data.MySQL.dll"
ConnectionString = "Data Source=localhost;Database=amiezemiez1;User ID=eisenbieger;Password=7Uhuhn$#45BGZsh+.;Old Guids=true;"
sudo apt update
sudo apt install mysql-server
Um MySQL etwas sicherer zu machen, lohnt die mysql_secure_installation
- root-login verbieten
- Test-Datenbank entfernen
- passwd für root vergeben
Anweisung:
sudo mysql_secure_installation
Abfragen durchlaufen und mit y bestätigen.
In meiner Umgebung hat das caching_sha2_password mit OpenSim Probleme gemacht.
Deshalb nutze ich für OpenSim immer das mysql_native_password. Soll aber jeder machen was er mag.
Für root natürlich dascaching_sha2_password.
Das Authentifizierungsverfahren für MySQL prüfen:
SELECT user,authentication_string,plugin,host FROM mysql.user;
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '5UhtgBGZsh+.';
FLUSH PRIVILEGES;
Nochmal prüfen ob root nicht mehr über das auth_socket-Plugin funktioniert:
SELECT user,authentication_string,plugin,host FROM mysql.user;
Testen, ob man sich einfach einloggen kann:
salamihot@pfeffer:~$ sudo mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
Super, jetzt NEU anmelden mit:
mysql -u root -p
Benutzer erstellen und Passwort vergeben:
CREATE USER 'eisenbieger'@'localhost' IDENTIFIED BY 'uhz8f5FS25sRGZ4+$sgb';
Rechtevergabe:
GRANT ALL PRIVILEGES ON *.* TO 'eisenbieger'@'localhost' WITH GRANT OPTION;
Das war nicht ganz richtig, also nochmal:
ALTER USER 'eisenbieger'@'localhost' IDENTIFIED WITH mysql_native_password BY '7Uhuhn$#45BGZsh+.';
FLUSH PRIVILEGES;
Welche aktuellen Berechtigungen habe ich nun?
SHOW GRANTS FOR 'eisenbieger'@'localhost';
Datenbanken anlegen:
mysql> create database amiezemiez1;
Query OK, 1 row affected (0.39 sec)
mysql> create database amiezemiez2;
Query OK, 1 row affected (0.16 sec)
mysql> create database amiezemiez3;
Query OK, 1 row affected (0.15 sec)
mysql> create database amiezemiez4;
Query OK, 1 row affected (0.15 sec)
mysql> create database amiezemiez5;
Query OK, 1 row affected (0.13 sec)
mysql> exit
Natürlich könnte man auch mit 'use' in jede Datenbank wechseln. Dann einem Benutzer auch nur die Rechte an dieser Datenbank geben.
Man kann es auch übertreiben.
[DatabaseService]
;
; ### Choose the DB
;
; SQLite
;Include-Storage = "config-include/storage/SQLiteStandalone.ini";
; MySql
; Uncomment these lines if you want to use mysql storage
; Change the connection string to your db details
StorageProvider = "OpenSim.Data.MySQL.dll"
ConnectionString = "Data Source=localhost;Database=amiezemiez1;User ID=eisenbieger;Password=7Uhuhn$#45BGZsh+.;Old Guids=true;"