Base de donnée
Base de donnée¶
PostgreSQL¶
- Voir les processus postgres en cours :
psql -U posgres
- Annuler une requête postgres :
echo "SELECT pg_cancel_backend(<PID>);" | psql
- Annuler la requête avec une demande de terminaison, attention méthode drastique, qui fait terminer la session backend entière et pas seulement la requête. Il faut s'assurer de connaître les conséquences avant le lancement de cette commande :
echo "SELECT pg_terminate_backend(<PID>);" | psql
- lister les bases de données dans PostgreSQL
\l
\list
MYSQL¶
- Autorisation de connexion à un utilisateur via une IP :
CREATE USER '<USER>'@'<IP>' identified by '<PASSWORD>';
- Autorisation de connexion de l'utilisateur à une base précise avec une IP :
grant all privileges on <DATABASE>.* to <USER>@<IP>;
- Suppression des droits d'un utilisateur MySQL :
REVOKE ALL PRIVILEGES ON <DATABASE>.* FROM '<USER>'@'<IP>';
- Suppression d'un utilisateur MySQL :
DROP USER '<USER>'@'<IP>';
- Voir les droits d'un utilisateur sur l'IP autorisé :
show grants for <USER>@<IP>;
- Voir les bases de données MySQL :
show databases;
- Voir tout les utilisateurs MySQL :
select user,host from mysql.user;
- Voir les processus MySQL bloqués :
mysqladmin processlist | egrep -v 'lock|Sleep'
- Pour tuer les processus par ID :
mysqladmin kill <ID_QUERY>
- Connaître la taille d'une base de données :
SELECT table_schema AS "<DATABASE>",
ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS "Size (MB)"
FROM information_schema.TABLES
GROUP BY table_schema;
-
Exporter des (grosses quantités de) données en CSV
cat fichier.sql | mysql --quick ma-bdd | sed -e 's/ /,/g'> fichier-resultat.csv -
Exporter une table à partir d'un dump :
sed -n -e '/^-- Table structure for table \`<TABLE-A-EXTRAIRE>\`/,/UNLOCK TABLES/p' dumpbase.sql> matable.sql
ou
sed -n -e '/CREATE TABLE.*`<TABLE-A-EXTRAITE>`/,/CREATE TABLE/p' dumpbase.sql> matable.sql