paolo@bimodesign.com | +34 608 61 64 10

DB Relational

        

MySQL - Lista comandi utili

In questo articolo illustro una lista di comandi MySql utili, da eseguire da linea di comando di Unix, che avro' cura di aggiornare, quando avro' esigenza di usarne di nuovi
Per una lista piu' completa, potete fare riferimento anche a questo link oltre che chiaramente al sito web di MySQL.

- Collegarsi a MySql

mysql -u root -p -h localhost

(localhost puo' essere sostituito un indirizzo IP)

- Accedere rapidamente a MySQL senza che legga tutti i dati

mysql -A -u club2020 -p -h localhost club2020; (opzione A)


- Creare un Database in MySQL

CREATE DATABASE mydb


- Export di una base dati

mysqldump --opt -u nomeUtente -p baseDati tabella1 > archivodebackup

nomeUtente: Il nome dell'utente con i permessi per accedere alla base dati.
baseDati: Il nome della base dati su cui vogliamo effettuare il backup
tabella1: Parametro opzionale da usare nel caso in cui vogliamo effettuare il backup solo di una tabella e non di tutta la base dati (nessun parametro). E' possibile indicare piu' di una tabella, separando i nomi da uno spazio
archivodebackup: Il nome dell'archivio che conterra' l'export

- Export di una base dati InnoDB di notevoli dimensioni

mysqldump --opt -q --single-transaction -u nombredeusuario -p  basededatos tabla1 > archivodebackup.txt


- Export della sola struttura di una base dati

mysqldump -d -h localhost -u root -p  DBname > archivo_a_guardar.sql


Export con l'opzione di non indicare il "create database"

mysql -u db_user -p'db_passwd' mydb


- Export compresso (.zip) di una base dati

mysqldump -u root -p utente tabella1 | gzip -v > 24052012_tabla1.gz


tabella1: Parametro opzionale da usare nel caso in cui vogliamo effettuare il backup solo di una tabella e non di tutta la base dati (nessun parametro). E' possibile indicare piu' di una tabella, separando i nomi da uno spazio

- Import

mysql -u root -p -h localhost utente < 24052012_tabla1.sql


- Assegnare GRANT ad un utente

GRANT USAGE ON mydb.* to db_user@localhost IDENTIFIED BY 'passwd';

- Show GRANT

show grants for utente@localhost;


- Kill di un processo attivo

a) show processlist \G; (\G: per una migliore visualizzazione)
b) kill 2345;


- Kill di tutti i processi attivi

function kill_sleep() { 
       define ( 'MAX_SLEEP_TIME', 5 ); 
        $result = mysql_query ( "SHOW PROCESSLIST", $this->connection); 
        while ( $proc = mysql_fetch_assoc ( $result ) ) { 
            if ($proc ["Command"] == "Sleep" && $proc ["Time"] > MAX_SLEEP_TIME) { 
                @mysql_query ( "KILL " . $proc ["Id"], $connect ); 
                $display = "KILL " . $proc ["Id"] . "
"; } } }


- Load data from .csv
1. Salvare il file excel come .cvs
2. Togliere la prima riga (l'intestazione) del file .cvs
3. Eseguire questo comando

load data local infile '$PATH_FILE/asd.csv' into table asd
fields terminated by ','
enclosed by '"'
lines terminated by '\n'
(campo1, campo2, campo3, ....);

Nota: Per poter caricare le lettere accentate (spagnole), la ñ, etc...salvare il file .cvs (con un notepad o texteditor) con la codifica iso-8859-15

(to be continued...)