Cerca nel blog

venerdì 11 novembre 2016

Mysql: Out of resources when opening file

Su centos 7 con mysql 5.6 avevo necessità di effettuare il backup di tutte le tabelle e di tutti i database della mia macchina di sviluppo ma ricevevo l'errore in oggetto.

Ho trovato delle indicazioni che dicevano di variare il valore del parametro

open_files_limit in my.cnf

nonostante il vaore fosse stato modificato e riavviato il servizio la variabile continuava ad avere il valore 1024. (verificato tramite SHOW VARIABLES LIKE 'open%';)

La soluzione è la seguente

editare il file
nano /usr/lib/systemd/system/mysqld.service








Inserendo le seguenti righe in calce e salvare
LimitNOFILE=infinity
LimitMEMLOCK=infinity


Riavviare i servizi
systemctl daemon-reload
service mysqld restart


venerdì 28 ottobre 2016

Bloccare l'accesso ad un file da parte di un utente su linux

Per bloccare l'accesso ad un file ad un utente è necessario utilizzare il comando setfacl.

ES: setfacl -m u:UTENTE:000 /dir1/dir2/nomefile.txt

000 sono i permessi nel solito formato

giovedì 21 luglio 2016

argument list too long - lista argomento troppo lunga linux

Mi è capitato di dover copiare più di 70.000 files da un server ad un altro.
Facendo un semplice SCP tutto è andato liscio come l'olio, peccato che si è reso necessario preservare alcune proprietà dei files (Data).
Il semplice SCP con l'opzione -p (preserve) restituiva il fastidioso messaggio "argument list too long".

Chiameremo i due sistemi sourceServer (dove sono presenti i files da copiare) e destinationServer (nuovo server in cui copiare i files)

Innanzi tutto è necessario permettere l'accesso del server sourceServer al server destinationServer senza password (sarebbe necessario inserire 70000 volte la password :-D)



Premete invio se volete specificate una password altrimenti premete invio e andate avanti.

Nella cartella /root/.ssh/ verrà creato un file chiamato id_rsa.pub.
Se non presente sul server  destinationServer è necessario creare il file /root/.ssh/authorized_keys.

A questo punto sul sourceServer eseguire il comando:
L'utente root del sourceServer potrà collegarsi senza password al destinationServer senza password!

Ora copiamo i 70.000 files (nel mio caso interessano solo i files pdf):

  • L'opzione -r fa si che vengano copiate anche le directory (recoursive)
  • L'opzione -p preserva gli attributi dei files
  • L'opzione -P indica la porta su cui è attivo il servizio SSH

venerdì 15 luglio 2016

Consentire ad un utente l'accesso e la sola visualizzazione del contenuto di una tabella

  1. Creare l'utente:
    CREATE USER 'nome_utente'@'%' IDENTIFIED BY 'password_personale';
    Il simbolo % indica che l'utente può accedere puntando qualunque ip o nome host
  2. Consentire l'accesso all'utente:
    GRANT SELECT ON nome_database.nome_tabella TO utente@'%';
  3. Refresh Permessi:
    FLUSH PRIVILEGES;

mercoledì 6 aprile 2016

Comandi Iptables

iptables -A INPUT -s x.x.x.x/32 -j DROP




#BLOCCA L'IP x.x.x.x
iptables -A INPUT -s x.x.x.x/32 -j DROP

#ELENCA LE REGOLE
iptables -L INPUT -n --line-numbers

#CANCELLA LA RIGA 7 RECUPERATA CON IL COMANDO QUI SOPRA
iptables -D INPUT 7

#SALVA LA CONFIGURAZIONE IN CASO DI REBOOT
service iptables save

martedì 15 marzo 2016

Abilitare il log delle query MYSQL

ACCEDERE AL DB mysql ESEGUIRE LE SEGUENTI DIRETTIVE PER ATTIVARE

SET global log_output = 'FILE';
SET global general_log_file='/tmp/mysql_general.log';
SET global general_log = 1;

PER DISATTIVARE
SET global general_log = 0;