« Modèle:Installation du serveur mysql » : différence entre les versions
Ligne 1 : | Ligne 1 : | ||
==Installation du serveur MySQL== | ==Installation du serveur MySQL== | ||
'''MySQL''' est un Système de Gestion de Base de Données (SGBD) utilisé par OpenSimulator. Il n'est pas possible d'utiliser '''SQLite''' pour une grille OpenSimulator. SQLite est le SGBD par défaut des simulateurs OpenSim. | |||
Nous allons voir comment installer MySQL, déplacer son dossier et protéger les mots de passe des bases de données. | |||
===Installation du paquet MySQL=== | ===Installation du paquet MySQL=== | ||
sudo apt-get install mysql-server | sudo apt-get install mysql-server |
Version du 15 décembre 2017 à 13:04
Installation du serveur MySQL
MySQL est un Système de Gestion de Base de Données (SGBD) utilisé par OpenSimulator. Il n'est pas possible d'utiliser SQLite pour une grille OpenSimulator. SQLite est le SGBD par défaut des simulateurs OpenSim.
Nous allons voir comment installer MySQL, déplacer son dossier et protéger les mots de passe des bases de données.
Installation du paquet MySQL
sudo apt-get install mysql-server
Voir le mot de passe dans le tableau des mots de passe.
Vous pouvez créer ce tableau pour l'ensemble de votre installation. Il ne doit pas être publié sur internet.
Déplacement du dossier MySQL
But : utiliser l'espace disque de {{Modèle:{{{Type}}} user}} pour préserver l'espace disque du système.
Attention, suivez bien les indications données ci-dessous pour ne pas casser votre installation. Cette opération est faculative.
Normalement les bases de données sont dans /var/lib/mysql/.
Arrêter le serveur MySQL |
sudo service mysql stop |
Créer une copie du dossier
mysql avec les mêmes droits |
sudo cp -aR /var/lib/mysql /var/lib/mysql_old |
Déplacer le dossier mysql dans /home/ |
sudo mv /var/lib/mysql /home/{{Modèle:{{{Type}}} user}} |
Faire un lien symbolique
avec le dossier /var/lib/ |
sudo ln -s /home/{{Modèle:{{{Type}}} user}}/mysql /var/lib/mysql |
Donner les droits au dossier mysql |
sudo chown -h mysql:mysql /home/{{Modèle:{{{Type}}} user}}/mysql |
Éditer le fichier
/etc/apparmor.d/usr.sbin.mysqld |
sudo nano /etc/apparmor.d/usr.sbin.mysqld |
Remplacer |
/var/lib/mysql/ r, /var/lib/mysql/** rwk, par /home/{{Modèle:{{{Type}}} user}}/mysql/ r, /home/{{Modèle:{{{Type}}} user}}/mysql/** rwk, |
Recharger appamor |
sudo service apparmor reload |
Relancer le serveur MySQL |
sudo service mysql start |
Protection des mots de passes
Rôle | Permettre la connexion directe des scripts bash à une base de donnée sans afficher le mot de passe en clair.
Dans ce cas le mot de passe fait partie des options et ne doit pas être appelé dans les scripts. On peut choisir un utilisateur et mot de passe identiques pour tous les bdd des simulateurs pour ne pas utiliser root. |
Installation | Ajouter le fichier .my.cnf dans {{Modèle:{{{Type}}}_user}}.
cd /{{Modèle:{{{Type}}}_user}} nano .my.cnf |
Contenu |
<source lang="vim"> [client] host = localhost user = <user> password = *********** socket = /var/run/mysqld/mysqld.sock </source> |
<user> |
Utilisateur qui a le droit de se connecter à la base de données |
password | Mot de passe de l'utilisateur de la base de données |
Droits sur le fichier | chmod 600 {{Modèle:{{{Type}}}_user}}/.my.cnf |
Mot de passe | voir le tableau des mots de passe. |
Configurations particulières de MySQL
Connexion à une base de données distante
- Installation :
Dans le fichier /etc/mysql/my.cnf remplacer bind-address 127.0.0.1 par bind-address 0.0.0.0
- Redémarrer le service :
service mysql restart