3oct/110

ERROR 1577 (HY000) at line 1: Cannot proceed because system tables used by Event Scheduler were found damaged at server start

mysql

Nous continuons dans la série des erreurs MySQL consécutive à une migration de serveur.

Cette erreur m’est apparue lors de la même migration que l’article précédent, sous debian squeeze la version 5.1 de MySQL s’installe par défaut même si vous demandez la version 5.0, donc sur le coup je n’avais pas fait attention. Cette erreur n’est en fait simplement causé par la migration de la version 5.0 vers la 5.1 même si l’import a été fait via un import masse de fichiers sql en shell.

Voilà comment résoudre le problème :

mysql_upgrade -u root -h localhost -p –verbose –force

ou tout autre utilisateur qui a tous les privilèges (remplacer root par l’utilisateur)

Il ne reste plus qu’à redémarrer MySQL

/etc/init.d/mysql restart

Et l’erreur […]

Lire la suite ...     Commentaire (0)

30sept/112

ERROR 1045 (28000): Access denied for user ‘debian-sys-maint’@’localhost’ (using password: YES)

mysql

Lors d’un changement de serveur de base de données MySQL et l’import brut de la table ‘mysql’ pour avoir les mêmes privilèges. Le problème qui survient est que l’utilisateur ‘debian-sys-maint’ n’as pas le bon mot de passe.

Voilà comment résoudre le problème :
– récupérer le mot de passe du serveur :

vim /etc/mysql/debian.cnf

(ou tout autre éditeur) et copier le password dans la section [client]

- se connecter sur MySQL en shell :

mysql

UPDATE `mysql`.`user` SET password=PASSWORD(‘lemotdepasse’) WHERE `user`="debian-sys-maint";

- Il ne reste plus qu’à redémarrer MySQL

/etc/init.d/mysql restart

Lire la suite ...     Commentaire (2)

24mar/110

Vider la swap

terminal-icon-512x512

Il m’arrive fréquemment de mettre mes PC en hibernation le soir, afin de reprendre ma session là où j’en étais tout en consommant moins d’électricité inutilement et puis il faut être un peu écolo aussi. Le problème est que la swap est fortement sollicitée à ce moment-là, et on peut constater un ralentissement. Dans d’autre situation la swap peut être sollicitée si trop de programmes gourmand sont lancés, ou sur un serveur lors de gros pics étant donné qu’Apache est très gourmand (il y a d’autre solution j’y reviendrais un peu plus tard).

L’idée est de remettre toutes ces données en RAM sans redémarrer la machine. Il existe une commande très simple :

sudo swapoff -a && sudo swapon -a

Le principe est de désactiver toues les partitions swap (en général une seule), toutes ces données sont […]

Lire la suite ...     Commentaire (0)

21mar/110

Les bases de MySQL

mysql

Lors de la création d’une base de données il est toujours bon d’avoir en mémoire les différents types de colonnes MySQL. (M décrit la taille maximale d’affichage du champ, D est mis pour décimal, UNSIGNED permet d’optimiser le stockage de chiffres positifs, ZEROFILL remplit les chiffres de zéros).

Type
Nb Octets
Commentaires

TINYINT[(M)] [UNSIGNED] [ZEROFILL]
1
Très petit entier. Va de -128 à 127, de 0 à 255 si non signé

SMALLINT[(M)] [UNSIGNED] [ZEROFILL]
2
Petit entier. Va de -32 768 à 32 767, de 0 à 65 535 si non signé

MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]
3
Entier moyen. Va de -8 388 608 à 8 388 607, de 0 à 16 777 215 si non signé

INT[(M)] [UNSIGNED] [ZEROFILL]
4
Va de -2 147 483 648 à 2 147 483 647, de 0 à 4 294 967 295 si non signé

INTEGER[(M)] [UNSIGNED] [ZEROFILL]
4
Synonyme de INT

BIGINT[(M)] [UNSIGNED] [ZEROFILL]
8
Grand entier. Va de -9 223 372 036 854 775 808 à 9 223 372 036 854 775 […]

Lire la suite ...     Commentaire (0)

16mar/110

[Optimisation] Configurer l’en-tête Expires

apache1

Afin de ne pas surcharger inutilement Apache avec des contenus statiques (images, JavaScript, feuilles de style, …) à chaque chargement de page d’un visiteur, il est intéressant d’envoyer une durée de validité au navigateur client afin de solliciter son cache interne, ce qui nous donne un gain en nombre de hits et en bande passante. Par définition un contenu statique n’est pas fait pour être changé régulièrement, donc nous pouvons mettre une durée de validité très importante. Pour le visiteur l’accélération de la page peut être notable.

L’activation du module se fait en une seule ligne de commande pour de bons résultats, il faut bien sûr recharger Apache pour la prise en compte :

a2enmod expires
/etc/init.d/apache2 reload

Il ne reste plus qu’à configurer les durées, soit en l’appliquant à tous les sites du serveur dans un fichier de configuration de type […]

Lire la suite ...     Commentaire (0)