Sélection de tous les assets et des groupes auxquels ils appartiennent
SELECT host.hostname, host_group.name FROM host, host_group, host_group_reference WHERE host.id=host_group_reference.host_id AND host_group.id=host_group_reference.host_group_id ORDER BY host.hostname DESC;
Sélection des groupes d’assets
SELECT name FROM host_group;
Affichage du type de données dans une colonne d’une table donnés
SELECT DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'tbl_name' AND COLUMN_NAME = 'col_name';
Insérer un nouveau groupe
Génération de l’ID :
public static function uuid($format = 'int'){ $chars = md5(uniqid(mt_rand(),TRUE)); if ($format == "dashes") { $uuid = substr($chars,0,8).'-'.substr($chars,8,4).'-'.substr($chars,12,4).'-'.substr($chars,16,4).'-'.substr($chars,20,12); }else{ $uuid = strtoupper($chars); } return $uuid; }
Mettre le sql en mode debug pour voir les requêtes exécutées lors de la création d’un groupe.
INSERT INTO host_group (id, ctx, same_host, name, threshold_c, threshold_a, rrd_profile, descr, permissions, owner) VALUES (unhex(''), unhex('048CBAC03F8D11E6B140005056A88E78'), '0', 'test', '0', '0', NULL, 'groupe de test', '', '');
Afficher tous les plugins et les exporter dans un fichier
SELECT plugin_id, sid, name FROM plugin_sid WHERE name LIKE'%palo%' LIMIT 10 INTO OUTFILE '/var/lib/mysql-files/plugins.csv' FIELDS TERMINATED BY ';' ENCLOSED BY '"' LINES TERMINATED BY '\n';
Attention, avant de pouvoir exporter les résultats dans un fichier, il faut ajouter la ligne secure_file_priv=”” au fichier /etc/mysql/my.cf puis redémarrer le serveur MySQL.
Afficher uniquement le nom des colonnes
SHOW columns FROM table_name;
Convertir une adresse IP initialement en varbinary(16) en texte
SELECT INET6_NTOA(host_ip); -- output: 127.0.0.1 (string);
Lister les colonnes d’une table
SHOW columns FROM <table_name>;
Compter le nombre d’évènements pour un plugin donné
SELECT count(*) FROM plugin_sid WHERE plugin_id=****;
Exporter le résultat d’une commande dans un fichier
$> mysql -u root -p -e"" > /tmp/