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 | ||
|
utilisateurs:bcag2:sql [Le 26/06/2018, 11:38] bcag2 |
utilisateurs:bcag2:sql [Le 11/09/2022, 13:12] (Version actuelle) moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892) |
||
|---|---|---|---|
| Ligne 65: | Ligne 65: | ||
| | Variable_name | Value | | | Variable_name | Value | | ||
| +--------------------------+----------------------------+ | +--------------------------+----------------------------+ | ||
| - | | character_set_client | utf8 | | + | | character_set_client | utf8 | |
| - | | character_set_connection | utf8 | | + | | character_set_connection | utf8 | |
| - | | character_set_database | utf8 | | + | | character_set_database | utf8 | |
| - | | character_set_filesystem | binary | | + | | character_set_filesystem | binary | |
| - | | character_set_results | utf8 | | + | | character_set_results | utf8 | |
| - | | character_set_server | utf8 | | + | | character_set_server | utf8 | |
| - | | character_set_system | utf8 | | + | | character_set_system | utf8 | |
| - | | character_sets_dir | /usr/share/mysqld/charsets/ | | + | | character_sets_dir | /usr/share/mysqld/charsets/ | |
| +--------------------------+----------------------------+ | +--------------------------+----------------------------+ | ||
| 8 rows in set (0.00 sec) | 8 rows in set (0.00 sec) | ||
| Ligne 118: | Ligne 118: | ||
| === Liste des tables de la base de données active === | === Liste des tables de la base de données active === | ||
| - | |||
| <code SQL> | <code SQL> | ||
| - | show tables; | + | SHOW tables; |
| </code> | </code> | ||
| === Structure d'une table === | === Structure d'une table === | ||
| - | |||
| <code SQL> | <code SQL> | ||
| - | describe nom_table; | + | DESCRIBE nom_table; |
| </code> | </code> | ||
| === Renommer une table === | === Renommer une table === | ||
| + | <code SQL> | ||
| + | ALTER TABLE nom_table RENAME AS nouveau_nom; | ||
| + | </code> | ||
| + | === Vider une table === | ||
| <code SQL> | <code SQL> | ||
| - | alter table nom_table rename as nouveau_nom; | + | TRUNCATE nom_table; |
| </code> | </code> | ||
| Ligne 146: | Ligne 148: | ||
| <code SQL> | <code SQL> | ||
| - | create user "nom_utilisateur"@"localhost"; | + | CREATE USER 'nom_utilisateur'@'localhost'; |
| + | # ou directement avec le mot de passe avec : | ||
| + | CREATE USER 'nom_utilisateur'@'localhost' IDENTIFIED BY 'mon-mot-de-passe'; | ||
| </code> | </code> | ||
| Ligne 152: | Ligne 156: | ||
| <code SQL> | <code SQL> | ||
| - | set password for "nom_utilisateur"@"localhost" = password('mot_de_passe'); | + | set password for 'nom_utilisateur'@'localhost' = password('mot_de_passe'); |
| </code> | </code> | ||
| Ligne 158: | Ligne 162: | ||
| <code SQL> | <code SQL> | ||
| - | drop user "nom_utilisateur"@"localhost"; | + | drop user 'nom_utilisateur'@'localhost'; |
| </code> | </code> | ||
| - | |||
| - | === Lister les utilisateurs === | ||
| - | |||
| - | <code SQL> | ||
| - | select user from mysql.user; | ||
| - | </code> | ||
| - | |||
| ==== Privilèges ==== | ==== Privilèges ==== | ||
| Ligne 173: | Ligne 170: | ||
| <code SQL> | <code SQL> | ||
| - | grant all on nom_base.* to "nom_utilisateur"@"localhost"; | + | grant all on nom_base.* to 'nom_utilisateur'@localhost; |
| </code> | </code> | ||
| Ligne 179: | Ligne 176: | ||
| <code SQL> | <code SQL> | ||
| - | revoke all privileges on nom_base.* from "nom_utilisateur"@"localhost"; | + | revoke all privileges on nom_base.* from 'nom_utilisateur'@localhost; |
| </code> | </code> | ||
| Ligne 185: | Ligne 182: | ||
| ===== Autres opérations ===== | ===== Autres opérations ===== | ||
| - | Qt4 avec Mysql: | + | Qt avec Mysql: |
| + | |||
| + | Consulter la page [[https://doc.qt.io/qt-5/sql-driver.html|drivers SQL pour Qt5]] | ||
| Installer la librairie pour mysql afin de l'utiliser sous QT : | Installer la librairie pour mysql afin de l'utiliser sous QT : | ||
| Ligne 195: | Ligne 194: | ||
| Pour **exporter** la base de donnée « maBase », utilisez la commande : | Pour **exporter** la base de donnée « maBase », utilisez la commande : | ||
| - | mysqldump -u root -p maBase > maBase_backup.sql | + | <code bash>mysqldump -u root -p maBase > maBase_backup.sql</code> |
| Ceci fera l'export dans un fichier « maBase_backup.sql ». | Ceci fera l'export dans un fichier « maBase_backup.sql ». | ||
| Ligne 201: | Ligne 200: | ||
| Pour exporter une table (par exemple //ma_table// )appartenant à une base des données (par exemple //maBase//) : | Pour exporter une table (par exemple //ma_table// )appartenant à une base des données (par exemple //maBase//) : | ||
| | | ||
| - | mysqldump -u root -p maBase ma_table > ma_table.sql | + | <code bash>mysqldump -u root -p maBase ma_table > ma_table.sql</code> |
| Ainsi nous aurons une exportation seulement de la table //ma_table// sans toucher à d'autres tables de la base des données | Ainsi nous aurons une exportation seulement de la table //ma_table// sans toucher à d'autres tables de la base des données | ||
| Ligne 207: | Ligne 206: | ||
| Pour **importer** une base de données ou une sauvegarde sur « maBase », utilisez la commande : | Pour **importer** une base de données ou une sauvegarde sur « maBase », utilisez la commande : | ||
| - | mysql -u root -p maBase < maBase_backup.sql | + | <code bash>mysql -u root -p maBase < maBase_backup.sql</code> |
| + | |||
| Puis tapez votre mot de passe. | Puis tapez votre mot de passe. | ||
| - | <note tip> | + | ou si le dump est compressé :\\ |
| - | Si vous souhaitez mettre en place une solution de sauvegarde automatique de bases de données à intervalle régulier, rendez-vous sur le tutoriel traitant de la [[:tutoriel:sauvegarder_automatiquement_ses_bases_de_donnees|sauvegarde automatique de bases de données via cron]]. | + | <code bash>gunzip < mabase2donnees.sql.gz | mysql -u [uname] -p[pass] [dbname]</code> |
| - | </note> | + | |
| - | D'autres commandes telles que la suppression des tables, de la base, l'ajout des données dans la base des données, etc. peuvent être trouvées sur le [[http://dev.mysql.com/doc/refman/5.0/fr/sql-syntax.html|site de documentation de MySQL]]. | ||
| + | <note tip> | ||
| + | Si vous souhaitez mettre en place une solution de sauvegarde automatique de bases de données à intervalle régulier (quotidien/hebdomadaire/mensuel), rendez-vous sur la page [[:automysqlbackup]]. | ||
| + | </note> | ||
| ==== Restauration à partir du dump du datadir ==== | ==== Restauration à partir du dump du datadir ==== | ||
| Ligne 246: | Ligne 246: | ||
| Mysql stocke ses fichiers dans le dossier /var/lib/mysql. Il arrive avec le temps et l'utilisation que le fichier ibdata1 occupe un espace disque très important qui ne sera pas récupéré même en supprimant toutes les bases. | Mysql stocke ses fichiers dans le dossier /var/lib/mysql. Il arrive avec le temps et l'utilisation que le fichier ibdata1 occupe un espace disque très important qui ne sera pas récupéré même en supprimant toutes les bases. | ||
| - | Pistes pour comprendre et corriger ce problème : | + | Pistes pour comprendre et corriger ce problème : |
| * [[http://bytes.com/groups/mysql/495219-mysql-ibdata1-compact-space|Supprimer les tables InnoDB pour récupérer l'espace]] | * [[http://bytes.com/groups/mysql/495219-mysql-ibdata1-compact-space|Supprimer les tables InnoDB pour récupérer l'espace]] | ||
| * [[http://bugs.mysql.com/bug.php?id=1287|"Bogue" associé]] | * [[http://bugs.mysql.com/bug.php?id=1287|"Bogue" associé]] | ||