31 Jul

Mysql / MariaDB aggiungere utente con tutti i diritti su tutti i DB

Molto spesso mi trovo a dover aggiungere un utente al server Mysql/MariaDB che abbia accesso remoto (Ricordarsi di cambiare le impostazioni sul bind nel file di configurazione) una volta che si ha accesso al server queste sono le istruzioni Sql:

  • CREATE USER ‘superUtente’@’%’ IDENTIFIED BY ‘superPassword’;

  • GRANT ALL PRIVILEGES ON * . * TO ‘superUtente’@’%’ WITH GRANT OPTION;

Da notare la parte con “with grant option”, senza quell’opzione non sarĂ  possibile dare i vari privilegi ad altri utenti. Di solto io creo questi utenti per accedere con Mysql Bench.

Se avete domande commentate! 🙂

13 Feb

Query per trovare o rimuovere record duplicati in una tabella MySql

Bè, come tutti i webmaster e programmatori quando creo un’applicazione spesso non considero il fatto che in un database (uso sempre MySql), spesso vengoni inseriti dati duplicati che hanno poca utilitĂ . Per questo motivo spesso decidiamo di rimuoverli o analizzarli.

Qui di seguito troverete un paio di query (testate su MySql 5) che vi aiuteranno a risolvere (spero) i vostri problemi:

  1. Query per elencare i duplicati:

    SELECT Termine,count(*) as n FROM mia_tabella group by Termine having  n > 1

    Questa query vi restituira l’elenco dei termini duplicati.

  2. Query per rimuovere i duplicati.
    Bè prima di tutto fate un backup dei dati, una volta che i record sono andati….! 😀

    CREATE TABLE nuova_tabella as SELECT * FROM vecchia_tabella WHERE 1 GROUP BY Termine;

    Questa query creerĂ  una nuova tabella e copierĂ  i dati non duplicati per la chiave “Termine”.
    Quello che vi resta da fare è rimuovere la vecchia tabella e rinominare la nuova senza duplicati.

Se avete qualche domanda potete commentare…