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é]] |