WampServer

Apache, PHP, MySQL on Windows 

 
  • Accueil forum
  • Retour à WampServer
  • presentation
  • Download
  • Addons
  • Formations
  • Alter Way

 
Messages d'avertissement récalcitrants
Envoyé par: bagu (---.bagu.biz)
Date: 23 August 2010 à 13:29

Bonjour,

J'épluche les forum et les bases de connaissances MySQL depuis quelques mois déjà, et je ne parviens pas à solutionner un message d'avertissement.
En fait, il est apparu à la suite (je suppose) d'une MAJ MySQL.

Le voici :
100822 20:06:40 [Warning] Invalid (old?) table or database name '#sql-1e0_2af7'
100822 20:06:40 [Warning] Invalid (old?) table or database name '#sql-1e0_2af7'
100822 20:55:38 [Warning] Invalid (old?) table or database name '#sql-1e0_3013'
100822 20:55:38 [Warning] Invalid (old?) table or database name '#sql-1e0_3013'
100823  6:41:30 [Warning] Invalid (old?) table or database name '#sql-1e0_4a9c'
100823  6:41:30 [Warning] Invalid (old?) table or database name '#sql-1e0_4a9c'
100823 11:48:54 [Warning] Invalid (old?) table or database name '#sql-1e0_53b8'
100823 11:48:54 [Warning] Invalid (old?) table or database name '#sql-1e0_53b8'

Problème, j'ai dû tester quasiment toutes les solutions trouvées sur le net.

Mon fichier my.ini est le suivant (et n'a pas changé entre le moment ou le message n'existait pas et maintenant (d'ailleurs, si vous avez des conseils afin de régler cela un poil mieux, je suis preneur) :

# MySQL Server Instance Configuration File

[client]
port                            = 3306
socket                          = mysql.sock

[wampmysqld]
# The TCP/IP Port the MySQL Server will listen on
port                            = 3306
bind-address                    = 127.0.0.1

#Path to installation directory. All paths are usually resolved relative to this.
basedir                         = d:/wamp/bin/mysql/mysql5.1.50

#log file
log-error                       = d:/wamp/logs/mysql.log

#Path to the database root
datadir                         = d:/wamp/databases

# The default storage engine that will be used when create new tables when
default-storage-engine          = innodb
key_buffer_size                 = 128M
query_cache_size                = 128M
#max_allowed_packet              = 1M
max_heap_table_size             = 256M
#myisam_max_sort_file_size       = 400k
myisam_sort_buffer_size         = 128M
#read_buffer_size                = 2M
#read_rnd_buffer_size            = 8M
#sort_buffer_size                = 768k
#table_cache                     = 943
#table_cache                     = 891
#table_open_cache                = 1024
#thread_cache_size               = 24
tmp_table_size                  = 128M
# Try number of CPU's*2 for thread_concurrency
thread_concurrency              = 4

#*** INNODB Specific options ***
innodb_additional_mem_pool_size = 4M
innodb_log_buffer_size          = 1M
innodb_buffer_pool_size         = 15M
innodb_log_file_size            = 10M
innodb_thread_concurrency       = 4
innodb_flush_log_at_trx_commit  = 0

#Name of the socket file (Unix) or named pipe (Windows) to use.
socket                          = mysql.sock

#Path to the temporary directory.
tmpdir                          = D:/wamp/tmp

#Don't allow new user creation by the user who has no write privileges to the mysql.user table.
safe-user-create

#Allow big result sets by saving all temporary sets on file (Solves most 'table full' errors).
big-tables

#Le support des liens symboliques, permet de faciliter le stockage de tables sur plusieurs disques durs.
#skip-symbolic-links

#Don't resolve hostnames. All hostnames are IP's or 'localhost'.
skip-name-resolve

#empêche les verrous externes
#skip-external-locking

skip-federated

#Lock mysqld in memory.(=Don't swap.)
memlock

[mysqld]
# The TCP/IP Port the MySQL Server will listen on
port                            = 3306
bind-address                    = 127.0.0.1



Modifie 1 fois. Derniere modification le 23/08/2010 à 13:30 par bagu.

Re: Messages d'avertissement récalcitrants
Envoyé par: Otomatic (---.fbx.proxad.net)
Date: 23 August 2010 à 14:12

Bonjour,

Lors des évolutions de version de MySQL, as-tu effectué, à chaque fois, mysql_upgrade.exe ?

Comme pour toute nouvelle version MySQL, il faut vérifier et mettre à niveau les bases par une procédure mysql_update.exe que je redonne ici.

- B - mysql_upgrade.exe
- 1 - Dans le dossier contenant vos bases de données, par défaut "wamp\bin\mysql\mysql5.1.xy\data" avez-vous un fichier mysql_upgrade_info ?
Nota : Le dossier contenant vos bases de données correspont au contenu de "datadir=...." du fichier "wamp\bin\mysql\mysql5.1.xy\my.ini"
- 2 - Contient-il "5.1.xy" ? (Numéro de la version MySQL utilisée)

Si vous répondez NON à 1 ou NON à 2, vous avez de grands risques de voir survenir l'erreur : "Table 'mysql.servers' doesn't exist" et, éventuellement d'autres erreurs car il n'y a pas eu de vérification de la concordances de vos bases de données avec la nouvelle version de MySQL.

Remarque : La table mysql.servers n'est utilisée que par les moteurs de base de données de type FEDERATED, mais, avec certaines instructions SQL, elle est vérifiée et l'erreur survient si elle n'existe pas. Cette table n'est pas installée lors de mises à jour parce que l'installateur ne peut pas faire tout ce qui est requis car il n'est pas « client » et il ne peut pas accéder aux bases de données mais uniquement aux fichiers du système.

C'est pourquoi il est fourni le programme mysql_upgrade.exe qui permet de modifier les tables qui nécessitent des modifications après une mise à jour ou une évolution de MySQL.

Ce progamme DOIT être exécuté après chaque mise à jour ou évolution de version de MySQL.

--- Effectuer mysql_upgrade.exe ---
Pour les utilisateurs de Windows, non aficionado de la ligne de commande, voici la procédure à effectuer.
Sauvegarder les bases de données existantes (mieux vaut prévenir que guérir !). Le dossier contenant vos bases de données correspont au contenu de "datadir=...." du fichier "wamp\bin\mysql\mysql5.1.3x\my.ini", sauf le dossier mysql qui contient les tables propres à MySQL.

Tout d'abord, il faut lancer le serveur MySql, donc lancer Wampserver
Ensuite, lancer une fenêtre de commande par démarrer, exécuter et taper
%SystemRoot%\system32\cmd.exe

Se placer dans le dossier bin de mysql 5.1.xy soit, pour wamp :
wamp\bin\mysql\mysql5.1.xy\bin

Arrivé la il faut savoir si vous avez ou non mis un mot de passe à
root@localhost

si mot de passe, taper
mysql_upgrade.exe --user=root --host=localhost --password=mot_de_passe

si pas de mot de passe, taper
mysql_upgrade.exe --user=root --host=localhost --password=

et attendre la fin de la procédure

---------------------------------------------------------------
Documentation Apache - Documentation PHP - Documentation MySQL - Wampserver install files & addons

Re: Messages d'avertissement récalcitrants
Envoyé par: bagu (---.bagu.biz)
Date: 23 August 2010 à 20:26

Bonsoir,

Je fais toujours un mysql_upgrade après chaque mise à jour de mysql.
D'ailleurs, mon fichier mysql_upgrade_info contient 5.1.50 ce qui indique que tout semble être nickel de ce coté.
Pour information, j'ai désactivé le module FEDERATED sachant qu'il ne m'est d'aucune utilité.

Vous connaissant, j'ai pris soin de tout tester, y compris une réinstallation de wamp sur une machine virtuelle afin d'être sûr d'avoir écarté les problèmes courants. (bien qu'un oubli soit toujours possible)

Je suis donc, comme vous le constatez, dans une impasse.
Cependant, cet avertissement ne semble avoir aucune conséquence, mais je n'aime pas avoir des avertissement non voulu ou dont l'origine m'échappe.

Merci.

Re: Messages d'avertissement récalcitrants
Envoyé par: Otomatic (---.fbx.proxad.net)
Date: 24 August 2010 à 10:43

Bonjour,

Je n'utilise pas le moteur InnoDB, uniquement MyISAM. mais je subodorerais comme un nom de base de données ou de table qui pourrait être mal interprété dans certains cas...

Pour mes noms de base de données, de tables et de colonnes, je n'utilise que les lettres a à z, les chiffres 0 à 9 et le tiret bas _ jamais un chiffre en premier caractère et jamais de tiret (-)

Moi aussi, je n'aime pas les avertissements que je ne peux pas maitriser.

---------------------------------------------------------------
Documentation Apache - Documentation PHP - Documentation MySQL - Wampserver install files & addons

Re: Messages d'avertissement récalcitrants
Envoyé par: bagu (---.bagu.biz)
Date: 24 August 2010 à 14:07

Hé bien, c'est la première chose que j'ai vérifié.
Toutes mes bases/tables ont leurs noms :
-en minuscule
-en un seul mot (pas d'espace)
-sans aucun caractère accentué
-sans aucun caractère spécial

Le seul séparateur utilisé est le _ et l'avertissement est apparu alors que j'utilisais cela depuis très longtemps.

Du coup, je ne comprends pas l'origine de l'erreur.

Re: Messages d'avertissement récalcitrants
Envoyé par: bagu (---.bagu.biz)
Date: 26 March 2011 à 12:44

Je me permets de remonter ce topic afin de préciser un peu.
La mise à jour vers mysql 5.5.10 a fait disparaitre purement et simplement le message d'erreur.

Je pense donc qu'il s'agissait d'un bug apparu avec mysql 5.1.36 et corrigé depuis. (pures spéculations suite à une bonne semaine et demi sans message d'erreur....Mais ça va peut être revenir...sait-on jamais...)



Modifie 1 fois. Derniere modification le 26/03/2011 à 16:10 par bagu.

Aller à : Liste des Forums•Liste des messages•Recherche•Connexion
Désolé, seuls les utilisateurs connectés peuvent envoyer des messages dans ce forum.
Cliquer ici pour se connecter

design by jidePowered by Alter Way get firefoxget PHP