Il server MySQL, che ospitera' i nostri database, ed il server Apache che ospita i nostri script PHP sono due software indipendenti. Dopo aver verificato che PHP funzioni correttamente, sara' bene fare un accertamento riguardante lo stato di salute di MySQL. Nei pacchetti installati, oltre al server MySQL, è presente un client testuale, da utilizzare tramite riga di comano ed una serie di strumenti utili per l'amministrazione del database. Tra tutti, è da ricordare sicuramente mysqladmin Per prima cosa, verifichiamo che MySQL sia in esecuzione. Se non lo è, saa' necessario naturalmente avviarlo Poichè il database si trova sulla nostra macchina locale, è sufficiente dare uno sguardo alla lista dei processi in esecuzione: #ps aux | grep mysql Dove ps e' il comando che mostra lo stato dei processi (Process Status), seguito da alcuni parametri che mostrano informazioni utili mentre grep e' un comando utilizzato come "filtro", nel nostro caso per la parola "mysql" (a dire il vero, sarebbe più corretto cercare "mysqld", visto che il server MySQL si chiama proprio in questo modo). Il simbolo pipe "|" è spesso presente nelle righe di comand Unix ed ha la funzione di concatenare due o piu' comandi, trasformando l'output del primo comando nell'input per il secondo. Dopo questa operazione, dovremmo ottenere alcune righe di risposta sullo schermo, che ci mostrano quali (e quanti) processi che contengono la parola "mysql" sono al momento in esecuzione. Uno schermo vuoto sta ad indicare che nessun processo in esecuzione si chiama MySQL. Un metodo alternativo consiste nell'utilizzo di mysqladmin. Questo metodo si puo' utilizzare anche per un server MySQL che non si trova sulla macchina locale, ma che sia accessibile tramite la rete. L'idea e' semplicemente quella di effettuare una sorta di "ping": #mysqladmin ping Le risposte possibili a questo punto sono due. Se il database server è in esecuzione, verremo informati del fatto che mysqld is alive Altrimenti otterremo un messaggio d'errore simile a questo: mysqladmin: connect to server at 'localhost' failed error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)' Check that mysqld is running and that the socket: '/tmp/mysql.sock' exists! Come il messaggio suggerisce, dobbiamo verificare che mysqld sia in esecuzione. Quando si usano gli strumenti mysql* da riga di comando, va tenuto presente che inizialmente il server MySQL ha password vuota per l'utente root, e che, qualora non fosse specificato diversamente, tali strumenti tentano di accedere al server usando il proprio nome di login come username. In sostanza, se lanciamo mysqladmin, o il client mysql, con un utente diverso da root, o se la password e' stata modificata, sara' necessario modificare la riga di comando proposta sopra con: #mysqladmin -u root -p ping dove "-u root" indica con quale utente tentiamo di loggarci su MySQL, mentre il flag -p mostra il prompt per la richiesta della relativa password (basta premere "Invio" se la password e' vuota, o omettere direttamente questo flag).