[ resolu] mysql41 Duplicate entry

mysql41 Duplicate entry [ resolu] - Installation - Linux et OS Alternatifs

Marsh Posté le 27-10-2006 à 15:09:40    

Bonjour. Je ne sais pas ce qui s'est passé?
J'ai voulu utilise mysql41
Le serveur à bloqué
 
Après bien des recherches j'ai fini par désinstaller, renommer la table mysql
puis réinstaller
 
voici le message que j'ai eu avec urpmi
 

ERROR: 1062  Duplicate entry 'localhost-root' for key 1
ERROR: 1062  Duplicate entry 'localhost-' for key 1


 
 
donc si je continue.
 

# mysqld
061027 13:18:58 [ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!
 
061027 13:18:58 [ERROR] Aborting
 
061027 13:18:58 [Note] mysqld: Shutdown complete


 
 
Le problème est comment retirer ces entrées?


Message édité par thierryR le 30-10-2006 à 18:14:17

---------------
Penguin online qui ne fait que des conneries, et qui aime ça. Membre du http://www.fonacon.net/
Reply

Marsh Posté le 27-10-2006 à 15:09:40   

Reply

Marsh Posté le 27-10-2006 à 15:20:23    

DELETE from nom-de-ta-table;
 
efface les données de la table concernée

Reply

Marsh Posté le 27-10-2006 à 15:27:56    

Le probleme est que j'ai 12 bases de donnée et une centaine de tables et que tout marchait bien. Peut-on faire une identification ?


---------------
Penguin online qui ne fait que des conneries, et qui aime ça. Membre du http://www.fonacon.net/
Reply

Marsh Posté le 28-10-2006 à 19:19:44    

J'ai crée une directory mysql. J'y ai mis seulement la table mysql
J'ai toujours le même problème ......


---------------
Penguin online qui ne fait que des conneries, et qui aime ça. Membre du http://www.fonacon.net/
Reply

Marsh Posté le 28-10-2006 à 22:19:19    

memaster62 > j'ai retiré toutes les tables.
J'ai supprimé /var/lib/mysql
J'ai désinstallé mysql41
 
J'ai réinstallé
J'ai toujours le problème. :cry:  je suis vert

# mysqld
061028 22:05:21 [ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!
 
061028 22:05:21 [ERROR] Aborting
 
061028 22:05:21 [Note] mysqld: Shutdown complete


Message édité par thierryR le 28-10-2006 à 22:20:29

---------------
Penguin online qui ne fait que des conneries, et qui aime ça. Membre du http://www.fonacon.net/
Reply

Marsh Posté le 29-10-2006 à 09:21:32    

Donnes des infos sur ta conf ça pourrait aider !
Et ton mysql, tu l'installes comment ? C'est un paquetage de ta distrib ?

 

Personnellement je pense qu'il suffit de lire le message d'erreur pour comprendre ce qui se passe.

 

Edit: je pensais bien avoir vu un pb lié pas loin, c'est toi qui posait la question pour désinstaller Mysql dans un autre topic!

 

Si tu es sous Mandriva 2007, tu devrais démarrer mysql par le script approprié plutot que de le lancer "à la gorêt":
/etc/init.d/mysqld start


Message édité par [Albator] le 29-10-2006 à 09:26:54
Reply

Marsh Posté le 29-10-2006 à 17:10:37    

Oui j'ai un autre fil ouvert pour en principe examiner un problème avec java, mais tout de suite après, j'ai eu ce nouveau problème avec mysql. Ca fait un peu double emploi mais c'est provisoire.
Je reviens à mysql.  
C'est le package installé avec urpmi mysql41 ( version 4 )  
Voici les messages:

$ mysqld
061029 17:07:51 [Warning] Can't create test file /var/lib/mysql/localhost.lower-test
061029 17:07:51 [ERROR] Can't start server : Bind on unix socket: Address already in use
061029 17:07:51 [ERROR] Do you already have another mysqld server running on socket: /var/lib/mysql/mysql.sock ?
061029 17:07:51 [ERROR] Aborting
 
061029 17:07:51 [Note] mysqld: Shutdown complete


 
En root:

# /etc/init.d/mysqld start
Timeout error occurred trying to start MySQL Daemon.
Lancement de MySQL :                                            [ÉCHEC ]


 
Je peux ajouter
 
Je n'ai pas d'autre mysqld qui tourne. Voici les fichiers qu'il y a dans /var/lib/mysql/
 
/var/lib/mysql/mysql.sock = 0octet
ib_logfile0 = 5Mo
ib_logfile1 = 0octets
ibdata1 = 10 Mo
 

# mysqld
061029 17:09:34 [ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!
 
061029 17:09:34 [ERROR] Aborting
 
061029 17:09:34 [Note] mysqld: Shutdown complete


 
mysqld n'est pas une methode goret mais plutot un mode debug.  
 
Voila ou j'en suis pour l'instant.

Message cité 1 fois
Message édité par thierryR le 29-10-2006 à 17:11:51

---------------
Penguin online qui ne fait que des conneries, et qui aime ça. Membre du http://www.fonacon.net/
Reply

Marsh Posté le 30-10-2006 à 09:12:18    

A tout hasard. J'ai essayé d'installer bind puisque mysqld en parle .
# rpm -qa | grep bind

ypbind-1.19.1-4mdv2007.0
bind-9.3.2-8mdv2007.0
bind-utils-9.3.2-8mdv2007.0


Mais ça ne change rien.


---------------
Penguin online qui ne fait que des conneries, et qui aime ça. Membre du http://www.fonacon.net/
Reply

Marsh Posté le 30-10-2006 à 09:22:42    

thierryR a écrit :

Oui j'ai un autre fil ouvert pour en principe examiner un problème avec java, mais tout de suite après, j'ai eu ce nouveau problème avec mysql. Ca fait un peu double emploi mais c'est provisoire.
Je reviens à mysql.  
C'est le package installé avec urpmi mysql41 ( version 4 )  
Voici les messages:

$ mysqld
061029 17:07:51 [Warning] Can't create test file /var/lib/mysql/localhost.lower-test
061029 17:07:51 [ERROR] Can't start server : Bind on unix socket: Address already in use
061029 17:07:51 [ERROR] Do you already have another mysqld server running on socket: /var/lib/mysql/mysql.sock ?
061029 17:07:51 [ERROR] Aborting
 
061029 17:07:51 [Note] mysqld: Shutdown complete


 
En root:

# /etc/init.d/mysqld start
Timeout error occurred trying to start MySQL Daemon.
Lancement de MySQL :                                            [ÉCHEC ]


 
Je peux ajouter
 
Je n'ai pas d'autre mysqld qui tourne. Voici les fichiers qu'il y a dans /var/lib/mysql/
 
/var/lib/mysql/mysql.sock = 0octet
ib_logfile0 = 5Mo
ib_logfile1 = 0octets
ibdata1 = 10 Mo
 

# mysqld
061029 17:09:34 [ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!
 
061029 17:09:34 [ERROR] Aborting
 
061029 17:09:34 [Note] mysqld: Shutdown complete


 
mysqld n'est pas une methode goret mais plutot un mode debug.  
 
Voila ou j'en suis pour l'instant.


 
installer bind ça sert à rien, "binder" c'est se lier à un port. En l'occurence un autre programme l'utilise déjà.. probablement un mysql
 
et mysql il faut le lancer avec les droits de l'utilisateur mysql (ou mysqld_safe en root et il passera le reste en utilisateur mysql tout seul)


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Marsh Posté le 30-10-2006 à 09:36:48    

Effectivement ça change de message. Mais peut-être pourrais-tu comprendre ce qui ce passe.
 
# mysqld_safe

Starting mysqld daemon with databases from /var/lib/mysql
STOPPING server from pid file /var/run/mysqld/mysqld.pid
061030 09:33:53  mysqld ended


 
C'est quoi les "pid"


---------------
Penguin online qui ne fait que des conneries, et qui aime ça. Membre du http://www.fonacon.net/
Reply

Marsh Posté le 30-10-2006 à 09:36:48   

Reply

Marsh Posté le 30-10-2006 à 09:43:03    

thierryR a écrit :

Effectivement ça change de message. Mais peut-être pourrais-tu comprendre ce qui ce passe.
 
# mysqld_safe

Starting mysqld daemon with databases from /var/lib/mysql
STOPPING server from pid file /var/run/mysqld/mysqld.pid
061030 09:33:53  mysqld ended


 
C'est quoi les "pid"


process identification,

Reply

Marsh Posté le 30-10-2006 à 09:49:26    

Je crois qu'on arrive.
# cd /var/run/mysqld/
 
# ls
#
 
Le fichier n'existe pas.


---------------
Penguin online qui ne fait que des conneries, et qui aime ça. Membre du http://www.fonacon.net/
Reply

Marsh Posté le 30-10-2006 à 09:56:11    

thierryR a écrit :

Je crois qu'on arrive.
# cd /var/run/mysqld/
 
# ls
#
 
Le fichier n'existe pas.


c'est normal qu'il n'existe pas si mysql server n'est pas lancé.
c'est un fichier temporaire dans lequel le init inscrit le numero d'identification du processus (le pid) de mysqld.
tout ce qui est dans /var/run sers à identifier les processus lancés quelsqu'ils soient.
 
il faut que tu touches un peu au system pour comprendre...

Reply

Marsh Posté le 30-10-2006 à 10:01:17    

Ca explique pourquoi la derniere experience m'a surpris
J'ai créé un mysqld.pid artificiel.
J'ai tenté de démarré mysqld
Mon fichier à disparu.
 
Donc tout est correct sauf que ça ne démarre pas.  
 
Il y aurait une autre instance mysql déja démarrée mais si je fais un "ctrl+esc" sur kde je ne trouve rien dans tout ce qui est lancé qui ressemble à mysql


---------------
Penguin online qui ne fait que des conneries, et qui aime ça. Membre du http://www.fonacon.net/
Reply

Marsh Posté le 30-10-2006 à 10:04:56    

thierryR a écrit :

Ca explique pourquoi la derniere experience m'a surpris
J'ai créé un mysqld.pid artificiel.
J'ai tenté de démarré mysqld
Mon fichier à disparu.
 
Donc tout est correct sauf que ça ne démarre pas.  
 
Il y aurait une autre instance mysql déja démarrée mais si je fais un "ctrl+esc" sur kde je ne trouve rien dans tout ce qui est lancé qui ressemble à mysql


c'est possible que tu ai deja un mysql server qui demarre au boot de ta machine.
pour le savoir essaye :
#service mysqld status
ou
#service mysql status
ou
regarde un netstat si le port 3306 est en ecoute via cette commande
#netstat -laputen
qui te donnera toutes les liaisons entre les ports en ecoute et les demons qui s'en servent.

Reply

Marsh Posté le 30-10-2006 à 10:16:56    

Un truc que je découvre.
 
# service mysqld status

mysqld est mort, mais le sous-système reste verrouillé


 
# netstat -laputen | grep 3306
#  
Personne sur ce port


---------------
Penguin online qui ne fait que des conneries, et qui aime ça. Membre du http://www.fonacon.net/
Reply

Marsh Posté le 30-10-2006 à 10:24:48    

le pb peut provenir de mysql.sock (le fichier de verrouillage), il se trouve dans /var/lib/mysql
autrement dit ton nouveau processus de mysqld ne parvient pas à faire ce qu'il veut avec ce fichier,
peut être n'a t'il pas le droit d'ecrire dedans ou quelquechose comme ça. c'est pour ça également
que le systeme croit qu'il y a deja un mysql de demarré sur le systeme, c'est à cause
de ce fichier de sock (p'tain de chaussettes :lol: )
 
tu peux essayer d'editer le fichier /etc/my.cnf (deja essaye de comprendre
à quoi sers ce fichier la, il est très bien documenter un peu partout) pour donner un autre nom à ce fichier mysql.sock afin
que ton instance soit complètement nouvelle.


Message édité par memaster le 30-10-2006 à 10:25:56
Reply

Marsh Posté le 30-10-2006 à 10:41:40    

my.cnf me renvoie vers un fichier de logs.
J'ai donc visité le fichier en question
/var/log/mysqld/mysqld.log
 
 

061030 10:35:12  mysqld started
/usr/sbin/mysqld: Can't read dir of '/root/tmp/' (Errcode: 13)
/usr/sbin/mysqld: Can't create/write to file '/root/tmp/ibar4oce' (Errcode: 13)
061030 10:35:13  InnoDB: Error: unable to create temporary file; errno: 13
061030 10:35:13 [ERROR] Can't init databases
061030 10:35:13 [ERROR] Aborting
 
061030 10:35:13 [Note] /usr/sbin/mysqld: Shutdown complete
 
061030 10:35:13  mysqld ended


 
J'ai donc vérifié la directory.
# ls -lF /root
total 8
drwx------ 2 root root 4096 oct  9 19:46 drakx/
drwxrwxrwx 2 root root 4096 oct 30 10:35 tmp/
 
Connais-tu l'erreur 13


---------------
Penguin online qui ne fait que des conneries, et qui aime ça. Membre du http://www.fonacon.net/
Reply

Marsh Posté le 30-10-2006 à 10:45:37    

et on voit clairement que mysqld ne peut pas créer de répertoire tmp dans /root,
ce qui me semble une erreur "normale".
il faut que tu te "debrouilles" pour demander au script de mysqld (via le fichier /etc/my.cnf)
d'aller créer mysql.sock quelquepart où il aura les droits de faire ce qu'il veut.
 
edit : ton mysqld ne demarre pas avec les droits root mais avec les droits d'un utilisateur nommé mysql.
surtout ne donne pas les droits à mysql d'aller ecrire quelquechose dans /root (attention à la faille de secu :non: ).


Message édité par memaster le 30-10-2006 à 10:48:10
Reply

Marsh Posté le 30-10-2006 à 13:30:13    

Se pourrait-il que mysqld ne se serve pas de my.cnf.  ?
Je m'explique.
La directory /root/tmp/  n'existe pas dans my.cnf

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
 
# Default to using old password format for compatibility with old and
# shorter password hash.
# Reference: http://dev.mysql.com/doc/mysql/en/Password_hashing.html
old_passwords=1
     
[mysql.server]
user=mysql
basedir=/var/lib
 
[mysqld_safe]
err-log=/var/log/mysqld/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid


 


---------------
Penguin online qui ne fait que des conneries, et qui aime ça. Membre du http://www.fonacon.net/
Reply

Marsh Posté le 30-10-2006 à 14:03:22    

thierryR a écrit :

Se pourrait-il que mysqld ne se serve pas de my.cnf.  ?
Je m'explique.
La directory /root/tmp/  n'existe pas dans my.cnf

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
 
# Default to using old password format for compatibility with old and
# shorter password hash.
# Reference: http://dev.mysql.com/doc/mysql/en/Password_hashing.html
old_passwords=1
     
[mysql.server]
user=mysql
basedir=/var/lib
 
[mysqld_safe]
err-log=/var/log/mysqld/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid



bah, c'est possible, il faut regarder le script de demarrage du deamon
dans /etc/rc.d/init.d
mais je dirais normalement, il doit l'utiliser ;)  
 
et effectivement, on se demande bien ce qu'il fait comme acces dans /root/tmp
 
essaye alors d'activer le demarrage de mysqld au boot de linux (dans les options de service)
et regarde à nouveau le mysql.log

Reply

Marsh Posté le 30-10-2006 à 17:05:12    

c'est énervant lorsque l'on dit à quelqu'un de ne pas lancer mysql directement avec mysqld, et que dans un autre topic il le fait ...
 
tu jeterais un oeil au script de démarrage et tu verrais que pas mal de choses et paramètres sont fournient à mysqld, et que lancer sans ces paramètres ne peut que créer la confusion ...
 
tu essayes d'aller trop vite thierryR et tu fais pleins de bétises ...


---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
Reply

Marsh Posté le 30-10-2006 à 17:10:04    

le deamon dans /etc/rc.d/init.d  fait bien appel à my.cnf et en aucun cas on ne parle de /root/tmp/
 
voici ce qui se passe au démarrage
 

061030 16:59:52  mysqld started
InnoDB: Error: log file ./ib_logfile1 is of different size 0 0 bytes
InnoDB: than specified in the .cnf file 0 5242880 bytes!
061030 16:59:52 [ERROR] Can't init databases
061030 16:59:52 [ERROR] Aborting
 
061030 16:59:52 [Note] /usr/sbin/mysqld: Shutdown complete
 
061030 16:59:52  mysqld ended


 
dans /var/lib/mysql/  j'ai ib_logfile0 de 5Mo
et                                    ib_logfile1 de 0 octet


Message édité par thierryR le 30-10-2006 à 17:12:41

---------------
Penguin online qui ne fait que des conneries, et qui aime ça. Membre du http://www.fonacon.net/
Reply

Marsh Posté le 30-10-2006 à 18:13:50    

:love:  :love:  :love:  Ca y est ça marche
 
J'ai viré ibdata1, ib_logfile0 et ib_logfile1
J'ai redémaré et tout fonctionne.
Ce sont 3 fichiers binaire qui sont générés automatiquement.
 
Merci a tous les contributeurs de ce fil.


---------------
Penguin online qui ne fait que des conneries, et qui aime ça. Membre du http://www.fonacon.net/
Reply

Marsh Posté le 30-10-2006 à 20:26:24    

Tu devrais peut être modifier my.cnf et virer log-bin=mysql-bin
 


---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
Reply

Marsh Posté le 30-10-2006 à 21:08:05    

Ben.... Je ne le trouve pas dans le fichier

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
 
# Default to using old password format for compatibility with old and
# shorter password hash.
# Reference: http://dev.mysql.com/doc/mysql/en/Password_hashing.html
old_passwords=1
     
[mysql.server]
user=mysql
basedir=/var/lib
 
[mysqld_safe]
err-log=/var/log/mysqld/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid


 
 
 


---------------
Penguin online qui ne fait que des conneries, et qui aime ça. Membre du http://www.fonacon.net/
Reply

Marsh Posté le 31-10-2006 à 16:28:20    

c'est pour mysql 5 alors, c'est vrai que tu utilises mysql4


---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
Reply

Marsh Posté le 31-10-2006 à 16:45:18    

Bizarre. Suite à la suppression ils se sont recréés !  Je ne sais pas à quoi ils servent si ce n'est faire un beau blocage...


---------------
Penguin online qui ne fait que des conneries, et qui aime ça. Membre du http://www.fonacon.net/
Reply

Marsh Posté le 31-10-2006 à 17:11:50    

c'est bien mysql4 que tu utilises ?
 
tu éteins correctement mysql avec la commande "service", et tu lances mysql avec al commande "service" ? ou avec /etc/initd.d/mysql ?
 
http://mysql.org/doc/refman/4.1/en/binary-log.html


---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
Reply

Marsh Posté le 31-10-2006 à 17:32:16    

C'est pas le 4 mais pas le 5  
$ rpm -qa | grep -i mysql

MySQL41-4.1.19-1mdv2007.0
MySQL41-common-4.1.19-1mdv2007.0
perl-DBD-mysql-3.0006-2mdv2007.0
mysql-administrator-1.1.10-3mdv2007.0
MySQL41-client-4.1.19-1mdv2007.0
php4-mysql-4.4.4-2mdv2007.0
libmysql14-4.1.19-1mdv2007.0
libmysql15-5.0.24a-2mdv2007.0



---------------
Penguin online qui ne fait que des conneries, et qui aime ça. Membre du http://www.fonacon.net/
Reply

Marsh Posté le 31-10-2006 à 18:49:40    

excuse mais tu utilises mysql 4 ...
à part libmysql15, tout le reste concerne mysql 4.1


---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
Reply

Marsh Posté le 31-10-2006 à 21:49:25    

C'est la 4.1 qui doit être abandonnée officiellement, parait-il.
On a donc un service mysqld  que la 4 n'a pas.
Vu mes nombreux déboires, je ne pense pas me tromper entre les versions.
 
Et pour libmysql15 regarde ....
# urpme libmysql15-5.0.24a-2mdv2007.0

Pour satisfaire les dépendances, les 6 paquetages suivants vont être désinstallés (48 Mo):
MySQL41-4.1.19-1mdv2007.0.i586
 (car MySQL41-common == 4.1.19-1mdv2007.0 est non satisfait,
  car MySQL41-common == 4.1.19-1mdv2007.0 est non satisfait)
MySQL41-common-4.1.19-1mdv2007.0.i586
 (en raison du manque de perl-DBD-mysql)
libmysql15-5.0.24a-2mdv2007.0.i586
mysql-administrator-1.1.10-3mdv2007.0.i586
 (en raison du manque de libmysqlclient_r.so.15)
perl-DBD-mysql-3.0006-2mdv2007.0.i586
 (en raison du manque de libmysqlclient.so.15)
php4-mysql-4.4.4-2mdv2007.0.i586
 (en raison du manque de libmysqlclient.so.15)
Supprimer 6 paquetages ? (o/N) n



Message édité par thierryR le 31-10-2006 à 21:51:16

---------------
Penguin online qui ne fait que des conneries, et qui aime ça. Membre du http://www.fonacon.net/
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed