Accueil > Le développement > La formation > Les Outils Numériques > Les lignes de commande sous macOS > Les lignes de commande - Leçon 6 - En savoir plus sur MySQL
Les lignes de commande - Leçon 6 - En savoir plus sur MySQL
dimanche 8 octobre 2023, par
Nous allons apprendre à mieux utiliser le serveur de base de données, en utilisant la facilité de l’interface en php appelée Phymyadmin, mais aussi en passant des lignes de commande directement à MySQL.
Préalablement, il faut lancer le serveur Web Http :
sudo apachectl start
Mais aussi le serveur de bases de donnée
mysql.server start
A l’issue de notre travail il ne faudra pas oublié de faire l’inverse :
sudo apachectl stop
mysql.server stop
Il pourrait être utile de créer un script shell qui permette cette succession d’action en une seule commande.
1. Céder à la facilité en installant PhpmyAdmin
1.1 installer le logiciel et assurer la reconnaissance de ce répertoire dans la configuration d’Apache
Installer Phpmyadmin avec le gestionnaire de paquets Homebrew
PhpmyAdmin est une interface qui vous permettrait totalement de vous passer de faire des lignes de commande.
Phpmyadmin peut être installé avec Brew.
Faire reconnaitre le répertoire de phpmyadmin par le serveur web http Apache
Après l’installation, précisez dans la configuration du serveur web http les informations nécessaires à l’utilisation du répertoire où il est placé :
sudo vim /etc/apache2/httpd.conf
repérer où est la vérification si le module d’alias est activé (<IfModule alias_module>
) et ajouter les instructions suivantes :
Alias /phpmyadmin /opt/homebrew/share/phpmyadmin
<Directory /opt/homebrew/share/phpmyadmin/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
DirectoryIndex index.html index.php
<IfModule mod_authz_core.c>
Require all granted
</IfModule>
<IfModule !mod_authz_core.c>
Order allow,deny
Allow from all
</IfModule>
</Directory>
Connectez vous :
http://localhost/phpmyadmin/
En correspondance avec votre précédente installation, entrez l’identifiant et le mot de passe, éventuellement root
, root
.
Vous observerez deux messages d’erreur :
Avertissement Le fichier de configuration a besoin d’une clé valide pour le chiffrement des cookies. Une clé temporaire a été générée automatiquement pour vous. Veuillez vous référer à la documentation.
Avertissement $cfg[’TempDir’] (/opt/homebrew/Cellar/phpmyadmin/5.2.1/share/phpmyadmin/tmp/) n’est pas accessible. phpMyAdmin est incapable de mettre en cache les modèles et de ce fait sera lent.
1.2 Donner les droits nécessaire au répertoire tmp
et créer une clé 32 bytes pour les cookies
Régler le problème relatif au répertoire temporaire.
La commande
cd /opt/homebrew/Cellar/phpmyadmin/5.2.1/share/phpmyadmin/tmp/
nous permet de constater qu’effectivement le répertoire tmp
n’existe pas et que l’avertissement fait est justifié.
Nous nous plaçons dans le répertoire parent :
cd /opt/homebrew/Cellar/phpmyadmin/5.2.1/share/phpmyadmin/
Et nous créons le répertoire manquant :
mkdir tmp
Nous lui donnons les droits nécessaires à l’écriture des fichiers temporaires
chmod 777 tmp
Créer une clé valide pour le chiffrement des cookies
Phpmyadmin demande un clé de 32 bites pour sécuriser ses cookies. Pour le plaisir de la pédagogie de ce cours, nous allons générer la clé avec les instructions php ci dessous :
$bytes = random_bytes(16);
var_dump(bin2hex($bytes));
Nous saisissons ces instructions dans notre fichier en l’éditant avec la commande :
sudo vim ~/Sites/index.php
Après avoir exécuté le script php et obtenu la clé, nous la saisissons dans le fichier de configuration de phpmyadmin en l’éditant avec la commande :
vim /opt/homebrew/Cellar/phpmyadmin/5.2.1/share/phpmyadmin/config.inc.php
Il s’agit de compléter la ligne suivante avec la clé :
$cfg['blowfish_secret'] = '1c0771fe3eb01f01c82d5ca43c3dca15';
ou 1c0771fe3eb01f01c82d5ca43c3dca15
est votre clé 32 bites.
2. Gérer le Serveur MySQL en ligne de commande
Saisissez la commande suivante, qui indique que vous voulez avoir accès à la console mysql en étant identifié comme l’utilisateur root.
mysql -u root -p
La console vous demandera de confirmer le mot de passe (laissé en local à root
).
Pour connaitre les bases de données existantes, vous pouvez entrer la commande suivante :
SHOW DATABASES;