Visualizzazione post con etichetta mysql. Mostra tutti i post
Visualizzazione post con etichetta mysql. Mostra tutti i post

venerdì 20 settembre 2013

Generare un nome file con data e ora da riga di comando dos windows


Il seguente comando genera la data
echo %date:~-4%-%date:~3,2%-%date:~0,2%

Il seguente comando genera l'orario
echo %time:~-0,2%_%time:~3,2%_%time:~6,2%

se li mettiamo assieme li possiamo utilizzare per esempio per creare dei file di backup di un database sql con il seguente comando da mettere in un file batch magari:
SET NomeFile1=CopiaDb_%date:~-4%-%date:~3,2%-%date:~0,2%__%time:~-0,2%_%time:~3,2%_%time:~6,2%.sql
mysqldump.exe -h localhost -u root -pPASSWORD test_db -r C:\%NomeFile1%
7z a -tzip C:\%NomeFile1%.zip %NomeFile1%


generando in questo modo un file di backup con il nome del tipo: CopiaDB_2013-09-20__17_04_19.sql
e anche la versione zippata con 7zip CopiaDB_2013-09-20__17_04_19.zip

;-)

giovedì 12 settembre 2013

Errore mysql can't connect to mysql server on 'localhost' (10061)

Provando a connettermi in locale a MySql sia con ODBC che mediante Workbench ottenevo questo errore
mysql can't connect to mysql server on 'localhost' (10061)

E' probabile che la causa sia da attribuire ad un malfunzionamento della rete locale che influenza anche le connessioni su localhost.

Provando a connettermi da riga di comando con mysql -h localhost tutto funzionava bene.

Il problema sta che MySql non accettava connessioni sulla porta 3306 su 127.0.0.1 come si poteva vedere lanciando il comando netstat -na

La soluzione è modificare il file di configurazione my.ini ed inserire nella sezione [mysqld] la riga seguente:
bind-address = 127.0.0.1

In questo modo MySql accetta connessioni da 127.0.0.1. Se invece al posto di 127.0.0.1 mettiamo 0.0.0.0 MySql accetta connessioni da qualsiasi indirizzo ip.


;-)

giovedì 7 ottobre 2010

Query ricorrenti in MySQL

La query giusta da dare in pasto a MySQL per risolvere velocemente problemi di elaborazione dati.

http://www.artfulsoftware.com/infotree/queries.php?&bw=1280


;-)

mercoledì 29 settembre 2010

martedì 31 marzo 2009

mercoledì 14 gennaio 2009

Turning MySQL data in latin1 to utf-8

Ottimo articolo sulla soluzione ad un problema molto complicato riguardante la migrazione in Mysql.
http://www.oreillynet.com/onlamp/blog/2006/01/turning_mysql_data_in_latin1_t.html

venerdì 21 novembre 2008

Selezione Distinct in Mysql ma ottenendo tutti i campi

Se si vuole selezionare le righe di una tabella ottenendo solo i records che hanno un campo con valore diverso allora il comando è semplicemente
Select Distinct nomecampo From nometabella
Ma se invece vogliamo che Mysql ci restituisca tutti i campi anzichè solo quello del distinct, c'è bisogno di una query un pò più elaborata, eccola:
Select *, Count(nomecampo) From nometabella Group By nomecampo Having Count(nomecampo)>=1;

giovedì 25 settembre 2008

Importare un file con estensione csv in una tabella MYSQL con campi definiti DATETIME o DATE

A volte abbiamo necessita' di importare un file csv in una tabella MYSQL

il comando sql per ottenere cio e': LOAD DATA LOCAL INFILE

riporto sotto un esempio di sintassi:

LOAD DATA LOCAL INFILE 'file.csv' INTO TABLE `tabella`
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\n'


Spesso possiamo incorrere nel problema delle date che potrebbero essere digitate DD-MM-YYYY. MYSQL adotta i valori dei campi DATE nel formato YYYY-MM-DD. Se eseguiamo l'istruzione percedente potrebbe memorizzare la data nel formato errato e allora che ci viene incontro il comando SET seguito da funzioni di MYSQL.

sotto un esempio:


set
campodata = date_format(campodata, '%d/%m/%y')


questo comando va ad integrare il precedente ottenendo cosi' la conversione della data nel corso dell'importazione.

sotto riportato il comando integrale:
LOAD DATA LOCAL INFILE 'file.csv' INTO TABLE `tabella`
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\n'
set
campodata = date_format(campodata, '%d/%m/%y')



La stringa di formattazione supporta una serie di caratteri speciali (sempre preceduti dal carattere %). Vediamo di seguito i più utilizzati:

%d: giorno del mese (numero)
%M: nome del mese
%m: mese (numero)
%H: ora (numero da 0 a 23)
%i: minuti (numero)
%s: secondi (numero)
%Y: anno (4 cifre)
%y: anno (2 cifre)

Per tutti le altre opzioni di formattazione rinviamo alla documentazione ufficiale di MySQL.

Se nel caso il file csv contiene le informazioni dei campi nella prima riga con il comando:

ignore 1 lines

specificheremo che nell'importazione bisogna ignorare la prima riga.

esempio:

LOAD DATA LOCAL INFILE 'file.csv' INTO TABLE `tabella`
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\n'
ignore 1 lines
set
campodata = date_format(campodata, '%d/%m/%y')

giovedì 28 febbraio 2008

Apache, MySql, PHP, PhpMyAdmin installiamo un web-server locale

Installando Apache, MySql, PHP su Linux, avrete a disposizione il L.A.M.P. (che deriva appunto dalle loro iniziali).
Il L.A.M.P. è un web-server locale, che serve per eseguire pagine in PHP.
Se siete sviluppatori per il web, questo è molto utile, infatti le pagine PHP non possono essere eseguite su un "normale" computer, ma vengono eseguite solo lato server, oppure grazie ad un web-server che gira sulla vostra macchina.


Per installare tutto il necessario, apriamo una shell e diamo il seguente comando:
sudo apt-get install apache2.2-common apache2-utils libapache2-mod-php5 libapache2-mod-auth-mysql mysql-client-5.0 mysql-server-5.0 php5 php5-cli php5-mysql phpmyadmin apache2

Premete Invio sulla seguente schermata:


Scegliamo Sito Internet:


Diamo il nome localhost:


Ora il web-server locale è pronto!

Tutti i file html/php che metterete nella cartella
/var/www

saranno raggiungibili dall'indirizzo: http://localhost
aprite un browser (ad esempio FireFox), e andate al seguente indirizzo internet:
http://localhost
per vedere l'elenco dei file e delle cartelle (consiglio vivamente di organizzare il proprio lavoro in cartelle!):



Però il mio consiglio è quello di utilizzare la public_html nella vostra home (vedi guida Abilitare la public_html nella nostra home).



Per accedere a PhpMyAdmin, andate al seguente indirizzo:
http://localhost/phpmyadmin

ed inserite root come nome utente, e lasciate vuoto il campo password:

Note Finali:
Se andando all'indirizzo http://localhost non succede niente, o esce un avviso, assicuratevi che la scheda di loopback sia attiva:
aprite un terminale e date il seguente comando per attivare la scheda di loopback:
sudo ifconfig lo up

Potrete verificare se la scheda è stata attivata eseguendo questo comando:
ifconfig