Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| sql:mysql [2021/04/04 17:01] – modification externe 127.0.0.1 | sql:mysql [2025/10/07 21:43] (Version actuelle) – [CLI] add how to get storage engine phsw | ||
|---|---|---|---|
| Ligne 9: | Ligne 9: | ||
| - | --------- | + | |
| ==== Serveur MySQL ==== | ==== Serveur MySQL ==== | ||
| Ligne 18: | Ligne 18: | ||
| - | -------------------- | ||
| ==== Client MySQL ==== | ==== Client MySQL ==== | ||
| Installer le paquet '' | Installer le paquet '' | ||
| Ligne 45: | Ligne 44: | ||
| - | ------------------ | + | |
| ==== CLI ==== | ==== CLI ==== | ||
| Ligne 64: | Ligne 63: | ||
| <code sql> | <code sql> | ||
| show tables; | show tables; | ||
| + | </ | ||
| + | |||
| + | |||
| + | === Décrire la structure d'une table === | ||
| + | |||
| + | <code sql> | ||
| + | DESC table_name; | ||
| + | </ | ||
| + | |||
| + | Ou pour avoir la commande SQL qui permet de créer la table en question : | ||
| + | <code sql> | ||
| + | SHOW CREATE TABLE < | ||
| </ | </ | ||
| Ligne 74: | Ligne 85: | ||
| - | === Supprimer un utilisateur | + | === Vider une base de données |
| - | [[https:// | + | <code sql> |
| + | DROP DATABASE db; | ||
| + | CREATE DATABASE db; | ||
| + | </code> | ||
| + | |||
| + | === Connaître l' | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | En Mo : | ||
| <code sql> | <code sql> | ||
| - | DROP USER 'jeffrey' | + | SELECT table_name, ROUND((data_length+index_length)/ |
| </ | </ | ||
| + | === Afficher les paramètres de configuration === | ||
| + | |||
| + | [[https:// | ||
| + | <code sql> | ||
| + | SHOW VARIABLES LIKE ' | ||
| + | </ | ||
| + | |||
| + | |||
| + | === Connaître le moteur de stockage utilisé pour les tables === | ||
| + | |||
| + | [[https:// | ||
| + | <code sql> | ||
| + | SHOW TABLE STATUS WHERE Name = ' | ||
| + | </ | ||
| + | |||
| + | |||
| + | ==== Dupliquer une base de données | ||
| + | |||
| + | Créer la base de données de destination, | ||
| + | <code bash> | ||
| + | mysqldump db_src | mysql db_dest | ||
| + | </ | ||
| - | ---------------------- | ||
| ==== Configurer SSL avec Let's Encrypt ==== | ==== Configurer SSL avec Let's Encrypt ==== | ||
| Ligne 124: | Ligne 165: | ||
| - | |||
| - | ---------------------- | ||
| ==== PhpMyAdmin ==== | ==== PhpMyAdmin ==== | ||
| Ligne 150: | Ligne 189: | ||
| - | |||
| - | ------------ | ||
| ==== Installer MySQL 5.7 sur Debian 8 Jessie ==== | ==== Installer MySQL 5.7 sur Debian 8 Jessie ==== | ||
| Ligne 157: | Ligne 194: | ||
| [[https:// | [[https:// | ||
| - | Télécharger le paquet de MySQL pour l' | + | Télécharger le paquet de MySQL pour l' |
| Installer le paquet avec '' | Installer le paquet avec '' | ||
| Ligne 170: | Ligne 207: | ||
| mysql_upgrade -p | mysql_upgrade -p | ||
| </ | </ | ||
| + | |||
| + | |||
| + | ==== Utilisateurs ==== | ||
| + | |||
| + | === Problème d' | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | Si '' | ||
| + | - le mot de passe est dans ''/ | ||
| + | - dans une console MySQL root: '' | ||
| + | ALTER USER ' | ||
| + | </ | ||
| + | |||
| + | |||
| + | === Mot de passe root === | ||
| + | |||
| + | * https:// | ||
| + | * https:// | ||
| + | * https:// | ||
| + | * https:// | ||
| + | * https:// | ||
| + | |||
| + | === Supprimer un utilisateur === | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | <code sql> | ||
| + | DROP USER ' | ||
| + | </ | ||
| + | |||
| + | === Créer un utilisateur === | ||
| + | |||
| + | Avec tous les droits sur toutes les bases de données ([[https:// | ||
| + | <code sql> | ||
| + | CREATE USER ' | ||
| + | GRANT ALL PRIVILEGES ON *.* TO ' | ||
| + | FLUSH PRIVILEGES; | ||
| + | </ | ||
| + | |||
| + | Pour qu'il n'y ait pas de mot de passe ([[https:// | ||
| + | <code sql> | ||
| + | CREATE USER ' | ||
| + | </ | ||
| + | |||
| + | Sans doute que cet utilisateur ne peut se connecter qu'en TCP et pas via la socket (à tester...). | ||
| + | |||
| + | === Voir comment un utilisateur a été créé === | ||
| + | |||
| + | <code sql> | ||
| + | SHOW CREATE USER user@localhost; | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | ==== Sauvegardes ==== | ||
| + | |||
| + | '' | ||
| + | |||
| + | |||
| + | === Mariabackup === | ||
| + | |||
| + | * [[https:// | ||
| + | |||
| + | Installer le paquet '' | ||
| + | |||
| + | Sauvegardes incrémentales et compressées : | ||
| + | <code bash> | ||
| + | # Sauvegardes : | ||
| + | mkdir 20220306-1230-full # il faut créer le dossier avant | ||
| + | mariabackup --backup --stream=xbstream --extra-lsndir=$(pwd)/ | ||
| + | mkdir 20220306-1408 | ||
| + | mariabackup --backup --stream=xbstream --extra-lsndir=$(pwd)/ | ||
| + | |||
| + | # Restauration : | ||
| + | cd 20220306-1230-full | ||
| + | mkdir backup | ||
| + | gunzip -c backup.stream.gz | mbstream -x -C backup/ | ||
| + | cd ../ | ||
| + | mkdir backup | ||
| + | gunzip -c backup.stream.gz | mbstream -x -C backup/ | ||
| + | cd .. | ||
| + | mariabackup --prepare --target-dir 20220306-1230-full/ | ||
| + | mariabackup --prepare --target-dir 20220306-1230-full/ | ||
| + | service mysql stop | ||
| + | mv / | ||
| + | mariabackup --copy-back --target-dir 20220306-1230-full/ | ||
| + | chown -R mysql:mysql / | ||
| + | service mysql start | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | ==== Table de verrous trop petite ==== | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | Dans '' | ||
| + | |||
| + | |||
| + | |||
| + | ==== Optimisation des tables ==== | ||
| + | |||
| + | Les '' | ||
| + | <code sql> | ||
| + | OPTIMIZE TABLE table; | ||
| + | </ | ||
| + | |||
| + | * [[https:// | ||