Modèle:Installation du serveur mysql

De OSWiki
Aller à la navigation Aller à la recherche

Installation du serveur MySQL

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

Installation Ajouter le fichier .my.cnf dans Modèle:Grille répertoire/.
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.

Contenu
<source lang="vim">
[client] 
host  = localhost 
user = <user>
password = *********** 
socket   = /var/run/mysqld/mysqld.sock 
</source>
<user>
  • pour se connecter aux bases de données de la grille
Droits sur le fichier chmod 600 Modèle:Grille répertoire/.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