Può capitare che un database sqlite venga in qualche modo danneggiato, per cercare di ripristinare il suo corretto funzionamento abbiamo due alternative.
Dopo aver fatto una copia di backup, la prima possibilità è quella di utilizzare l’apposita utility fornitaci da Sqli, quindi accedere al database con:
sqlite3 nomedeldatabase
una volta sul prompt di sqlite digitare:
pragma integrity check
Il sistema potrebbe non riuscire a riparare il database quindi a questo punto abbiamo solo la possibilità di esportare il database e reimportarlo.
sqlite3 nomedatabase .dump .quit >> nomedatabase.dump
sqlite3 nomenuovodb < nomedatabase.dump
Questo script puo’ essere eseguito tramite il cron di sistema per fare un backup incrementale di un database. Nel nostro esempio verra fatto un dump del databse chiamato DATABASE_UNO e una copia di una sola tabella del database DATABASE_DUE. Tutti i backup piu’ vecchi di 3 mesi verranno cancellati:
#!/bin/bash
DATA=`/bin/date +”Giorno_%d-%m-%y_Ora_%H-%M”`
/usr/bin/mysqldump -uUTENTE -pPASSWORD DATABASE_UNO > /var/backupdb/DATABASE_UNO_$DATA.sql
/usr/bin/mysqldump -uUTENTE -pPASSWORD DATABASE_DUE TABELLA > /var/backupdb/TABELLA_$DATA.sql
chmod 600 /var/backupdb/ -R
/usr/bin/find /var/backupdb/ -type f -mtime +93 -exec rm -f {} \;
Avete bisogno di connettervi da uno script ASP ad un database di tipo Microsoft Access
utilizzando un DSN? Ecco qui la soluzione:
<%
Dim con
Set con = Server.CreateObject(”ADODB.Connection”)
con.Open “DSN=InserisciQuiIlNomeDelTuoDSN”
strQuery = “select * from tabella”
Set rsEmailData = con.Execute(strQuery)
con.Close
Set con = Nothing
%>
Avete dimenticato la password impostata per l’utente “root” di MySQL?… Nessun problema!
Basta accedere via ssh sul server dove e’ in esecuzione mysqld ed eseguire questa procedura:
1) Fermare il servizio in esecuzione
/etc/init.d/mysql stop
2) Avviare il mysql server con l’opzione –skip-grant-tables
mysqld_safe –skip-grant-tables &
3) Connettersi al database in questo modo
mysql -u root
4) Digitare questi comandi
mysql> use mysql;
mysql> update user set password=PASSWORD(’LaTuaNuovaPassword’) where User=’root’;
mysql> flush privileges;
mysql> quit
Adesso non vi rimane che riavviare il servizio (/etc/init.d/mysql restart)