Su un server con Debian, devo eseguire degli script in Python.

Non c'è la necessità di installare tutto un framework, ma mi basta richiamarli al volo.

Python rientra negli script CGI, e quindi va configurato.

In Oracle è abbastanza semplice controllare le connessioni attive interrogando V$SESSION.

Ad esempio:

SELECT * FROM v$session 
WHERE username IS NOT NULL 
ORDER BY username ASC;

Oggi avevo la necessità di eliminare tutte le sessioni PHP di Apache, senza riavviare il server.

Come fare?

Quando usate le sessioni in PHP, in accoppiata con Apache, PHP salva diversi file in /var/lib/php5/sessions.

Ho scoperto che esiste un client da riga di comando per MariaDB (e MySQL) con l'auto-completion: MyCLI!

Solo che installarlo è stato più complicato del previsto, in quanto non è presente nei repo di Debian 8 (al contrario di quello che dicono tutte le guide che ho letto).

Per monitorare un database MariaDB (e MySQL ovviamente) ci sono diversi strumenti a disposizione.

Il primo in assoluto è ovviamente mysqladmin, che fa parte dei tools di base di MariaDB.

Solo che non è facilissimo da usare, nel senso che bisogna conoscere molto bene dove andare a prelevare i dati, le query, ecc.

Sul mio db Oracle, ho una funzione (non fatta da me) che restituisce i valori in questo modo:

'49;50;30;0;0;0;0;0;'

Di tutto ciò, mi serve prendere solo il terzo valore; quindi dovrei spezzare la stringa in corrispondenza del punto e virgola, e poi prendere il terzo pezzo.

Facendo dei test, mi sono ritrovato con tutti questi utenti di root nella mia installazione di MariaDB (valido anche per MySQL):

root % No USAGE
root 127.0.0.1 Sì  ALL PRIVILEGES  
root ::1 Sì  ALL PRIVILEGES
root localhost Sì  ALL PRIVILEGES

Quando si parla di database e query, per tabelle pivot si intende traslare i dati ed incolonnarli in maniera differente dallo standard della tabella.

In pratica, facendo un esempio reale, ho questa query:

SELECT
IF (mov_tipo = "E", "ENTATE", "USCITE") tipo, YEAR(mov_data) anno, 
SUM(mov_valore) sum_val
FROM movimenti
WHERE mov_utente_fk = 1 
GROUP BY tipo, anno
ORDER BY anno DESC, tipo

Su una macchina Linux ho installato l'Oracle client e tutto il necessario, ed ho provato a connettermi tramite ODBC (unixODBC per la precisione).

Con le credenziali giuste, ottenevo sempre questo errore:

ERROR:
ORA-21561: OID generation failed

Alla fine ho scoperto di dover modificare il file /etc/hosts.

Redis è uno dei database NoSQL più usati.

Nei repo di Debian 8 è già disponibile, ma in versioni precedenti alla 3.

Se invece vogliamo la versione 3, dobbiamo eseguire alcune operazioni.

Prima di tutto aggiungete queste righe al file /etc/apt/sources.list:

# redis 3
deb http://packages.dotdeb.org jessie all
deb-src http://packages.dotdeb.org jessie all