RaphAstronome

samedi, 2 juillet 2011

Changer son mot de passe MySQL lorsque l'on est pas admin

Il suffit de ce logger sur le serveur (par exemple avec "mysql -p" dans une invite de commande) et d'utiliser la commande suivante :

SET PASSWORD = PASSWORD('votre nouveau pass ici !');

Attention la commande "mysql" garde un historique des commandes passées et notamment votre nouveau mot de passe. Modifier le fichier .mysql_history de façon à ce qu'il n'apparaisse pas.

jeudi, 20 août 2009

Lien entre PHP et MySQL en UTF8

Super mon dernier site est en UTF-8 ! Donc :

  • J'ai mes pages en UTF-8
  • J'ai déclaré le charset en UTF-8 dans les entêtes HTTP
  • Ma base de données est aussi en UTF-8

Je vais sur la page : super le site s'affiche bien par contre les données provenant de MySQL sont encore en ISO et forcement "ça fait tache".

En fait ce problème est assez bête : PHP et MySQL sont tout deux en UTF-8 mais par défaut le lien entre les deux est encore en latin1 et la chaine de caractères est donc traduit de l'UTF-8 en latin1 par MySQL.

Le problème est très facile à régler il suffit d'utiliser mysql_set_charset peu après s'être connecté à MySQL :

mysql_connect('host', 'user', 'pass');
mysql_select_db('database');
mysql_set_charset('utf8');

Cette instruction demande à MySQL d'utiliser UTF-8 et pas autre chose.

Bien sûr il est possible de l'adapter à un autre codage dont vous pouvez voir la liste avec "SHOW CHARACTER SET;".

jeudi, 19 février 2009

sql : MàJ un champ BLOB en hexadécimal

Il est souvent utile d'intégrer des données binaires à une base de données. Pour le faire on utilise les champs de type BLOB et souvent on insère les données avec leur représentation hexadécimale. Pour modifier ce champ on aurait tendance a faire :

UPDATE t SET champ=0x0123456789abcdef WHERE id=1;

En bah ça marche pas ! Du moins pas avec MySQL. Le problème est qu'il interprète 0x0123456789abcdef comme un nom de champ (erreur #1064) il faut donc passer par une autre méthode.

Lire la suite...

lundi, 5 janvier 2009

mysqldump | bzip | gpg > mail

Cette fois on va faire un backup de la base de données (avec mysqldump), la compresser (bzip), la chiffrer (gpg) et enfin l'envoyer dans un mail avec une pièce jointe avec ruby.

Lire la suite...