# apt install mysql-server
si vous souhaitez utiliser mysql avec PHP il faudra installer les paquets liés à ce langage et à sa version. Par exemple pour php7.4
# apt install php7.4-mysql
.
Une fois l'installation terminée l'utilisateur root est créé sans mot de passe, vous pouvez laisser tel quel si l'installation est local mais veillez à donner un mot de passe à root si votre serveur est accessible de l'extérieur.
le root du système et le root MySql sont deux entités distincts idem pour les utilisateurs.
Pour des raisons de sécurité et de logique il est conseillé de créer un utilisateur MySql et de lui attribuer une ou plusieurs base de données.
Pour cela connectons nous en tant que root MySql avec le mot de passe précédemment créé.
# mysql -u root -p
Enter password:
...
...
mysql>
Une fois sur le prompt MySql on crée un utilisateur olaf et une base de donnée olafdb qu'on lui attribuera avec quelques privilèges
mysql> CREATE USER 'olaf'@'localhost' IDENTIFIED BY 'mot_de_passe';
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT USAGE ON * . * TO 'olaf'@'localhost' IDENTIFIED BY 'mot_de_passe' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON `olafdb` . * TO 'olaf'@'localhost';
Query OK, 0 rows affected (0.00 sec)
Voila qui est fait!
pour quitter le prompt MySql tapez exit, quit, \q ou [CTRL+d].
MySql autorise deux manières pour afficher les bases de données:
depuis un prompt utilisateur système
# mysqlshow -u root -p
Enter password:
...
Depuis un prompt utilisateur MySql
# mysql -u root -p
Enter password:
...
...
mysql> SHOW DATABASES;
Dans les deux cas affichera quelque chose comme ça:
+--------------------+
| Databases |
+--------------------+
| information_schema |
| olafdb |
| mysql |
+--------------------+
mysql> SELECT User, Host FROM mysql.user;
+---------------+-----------+
| User | Host |
+---------------+-----------+
| mysql.session | localhost |
| mysql.sys | localhost |
| olaf | localhost |
| root | localhost |
+---------------+-----------+
5 rows in set (0.00 sec)
# mysqlshow -u olaf -p
Enter password:
+--------------------+
| Databases |
+--------------------+
| information_schema |
| olafdb |
+--------------------+
# mysqlshow -u olaf -p olafdb
Enter password:
Database: olafdb
+-----------------------------------------+
| Tables |
+-----------------------------------------+
| wp_commentmeta |
| wp_comments |
| wp_links |
| wp_nxs_log |
| wp_options |
| wp_postmeta |
| wp_posts |
| wp_term_relationships |
| wp_term_taxonomy |
| wp_terms |
| wp_usermeta |
| wp_users |
+-----------------------------------------+
Faire un dump (sauvegarde):
# mysqldump -u user -pMotDePasse nom_db | gzip > nom_backup.gz
Si on ne souhaite pas entrer le mot de passe de façon visible à l'écran on peut faire ainsi:
# mysqldump -u user -p nom_db | gzip > nom_backup.gz
Enter password:
Remonter un dump:
# mysql -u root -p nom_db < /home/user/mon_backup.sql
Dump d'une seule table
$ sed -n -e '/DROP TABLE.*ps_connections_source/,/UNLOCK TABLES;/p' db1.5 > connsource.sql
Définir un mot de passe pour l'utilisateur root.
# mysqladmin -u root password MotDePasse
Modifier le mot de passe de l'utilisateur root.
# mysqladmin -u root -pAncienMotDePasse password NouveauMotDePasse
Modifier le mot de passe d'un autre utilisateur.
# mysqladmin -u nomUser -pAncienMotDePasse password NouveauMotDePasse
Une version de PHP doit être préalablement installé bien sûr!
# apt-get install phpmyadmin
Bon en fait c'est presque tout, PhpMyAdmin est accessible depuis http://votre_domaine/phpmyadmin.
Toute installation classique de PhpMyAdmin utilisera ce chemin pour accéder à son l'interface.
On peut modifier cela en modifiant l'alias dans le fichier "apache.conf" de PhpMyAdmin.
# nano /etc/phpmyadmin/apache.conf
Puis modifier la ligne
Alias /phpmyadmin /usr/share/phpmyadmin
par
Alias /ce_que_vous_voulez /usr/share/phpmyadmin
Il faudra alors entrer l'adresse "http://votre_domaine/ce_que_vous_voulez" pour accéder à l'interface d'administration.