MySQL

Loris Tissino

14 maggio 2011

Introduzione

Quelle che seguono sono solo brevi note su cose che si possono fare e potrebbero non essere del tutto ovvie.

Ripristino password di root

Per ripristinare la password di root è necessario fermare il demone, riavviarlo con l'opzione --skip-grant-tables, effettuare la query di update della password, fermarlo e riavviarlo.

sudo service mysql stop
sudo mysqld --skip-grant-tables &
sleep 5
echo "UPDATE mysql.user SET Password=PASSWORD('SeKRetPwd') WHERE User='root';" | mysql -u root
echo "FLUSH PRIVILEGES;" | mysql -u root
sudo killall mysqld
sudo service mysql start

Visualizzazione riferimenti esterni con phpMyAdmin

Se si usa phpMyAdmin, può essere utile definire per le tabelle un "campo da mostrare" (in Struttura / Vedi relazioni), in modo da facilitare l'inserimento dei dati.

Riferimenti con phpMyAdmin

Riferimenti con phpMyAdmin

Questa informazione è interna a phpMyAdmin e viene memorizzata nella tabella pma_table_info.

Stored procedures - Funzioni (creazione)

È possibile creare una funzione con un codice simile al seguente:

delimiter $$

create function quality(n INT)
returns varchar(30)
begin
  if isnull(n) then
    return "not set";
  elseif n<6 then
    return "bad quality";
  elseif n<8 then
    return "good quality";
  else
    return "best quality";
  end if;
end$$

delimiter ;

Stored procedures - Funzioni (uso)

L'uso di una funzione personalizzata è equivalente a quello che si farebbe di una funzione predefinita:

select quality(mark) as markdescription from marks where ... ;