Mysql
Ré-initialiser le mot de passe root
Oui oui, ça n’arrive pas qu’aux autres de ne plus retrouver son mot de passe “root” sous MySQL. Saisi sur le coup lors de l’installation pour ne pas le laisser vide, impossible de s’en rappeler plusieurs mois après…Bref, voici la manip’ pour remédier à mes trous de mémoire (Ubuntu Feisty et MySQL 5.x) :
On coupe le serveur par défaut :
# invoke-rc.d mysql stop
On relance manuellement le serveur en ignorant la table des droits des utilisateurs :
# mysqld --skip-grant-tables
Dans un nouveau terminal/console, on peut se connecter sans mot de passe à la base mysql :
$ mysql -u root mysql
On remplace l’ancien mot de passe par le nouveau, puis on recharge les droits et on ferme la connexion (le tout sur une même ligne ou les 3 commandes successives) :
UPDATE user SET password=password('VOTRE_MOT_DE_PASSE_ICI') WHERE user='root';
flush PRIVILEGES;
exit;
flush PRIVILEGES;
exit;
On peut fermer le terminal/console et revenir sur la première pour arrêter notre serveur lancé manuellement. Relancer MySQL avec la commande :
# invoke-rc.d mysql start
La connexion doit maintenant se faire sans soucis avec le compte root :
$ mysql -u root -p
Charset
Aaaahh les charsets... Suite au transfert d’un de mes domaines vers un nouvel hébergeur, j’ai récupéré la base de données MySQL existante via phpMyAdmin pour la réinjecter sur le nouveau serveur. Or à l’arrivée, je me retrouve avec tous mes caractères spéciaux (accents, cédilles, etc) qui ne sont plus pris en compte:
Calendrier prévisionnel pour 2006 à télécharger
En fait, la base mysql originale était sur un serveur dont le charset était défini en UTF8 alors que le nouveau serveur fonctionne avec le charset latin1. Pour importer la base proprement, il a donc suffit de spécifier à mysql le charset par défaut avec “default-character-set” :
mysql ma_base < mon_fichier.sql --default-character-set=utf8 -u mon_login -p
CategoryLinux, CategorySecurite