Bonjour tout le monde,

Depuis hier, je n'arrive plus à me connecter en root à MySQL (access denied).
Je n'ai aucun problème pour me connecter avec les autres utilisateurs.

J'ai donc essayer de suivre la procédure de cette page pour réinitialiser le mot de passe. Afin d'utiliser mysqld_safe, il me faut arrêter MySQL et c'est là que cela bloque.

Pour info :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
# sudo /etc/init.d/mysql status
/usr/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)'
(NB : j'ai trouvé une solution à ce problème, mais cela nécessite de se connecter en root donc retour au point de départ !)

Pour arrêter MySQL :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# sudo /etc/init.d/mysql stop
Stopping MySQL database server: mysqld failed!

# mysqld stop
InnoDB: Unable to lock ./ibdata1, error: 11
InnoDB: Check that you do not already have another mysqld process
InnoDB: using the same InnoDB data or log files.
130107 13:48:34  InnoDB: Unable to open the first data file
[...]
InnoDB: Error in opening ./ibdata1
130107 13:48:34  InnoDB: Operating system error number 11 in a file operation.
InnoDB: Error number 11 means 'Resource temporarily unavailable'.
InnoDB: Some operating system error numbers are described at
InnoDB: http://dev.mysql.com/doc/refman/5.1/...ror-codes.html
InnoDB: Could not open or create data files.
InnoDB: If you tried to add new data files, and it failed here,
InnoDB: you should now edit innodb_data_file_path in my.cnf back
InnoDB: to what it was, and remove the new ibdata files InnoDB created
InnoDB: in this failed attempt. InnoDB only wrote those files full of
InnoDB: zeros, but did not yet use them in any way. But be careful: do not
InnoDB: remove old data files which contain your precious data!
130107 13:48:34 [ERROR] Plugin 'InnoDB' init function returned error.
130107 13:48:34 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
mysqld: Too many arguments (first extra is 'stop').
Mysql n'arrive pas à lire le fichier ibdata1.
Je suis donc allé vérifier ses permissions :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
# ls -l /var/lib/mysql/
-rw-rw---- 1 mysql mysql 18874368 Jan  7 12:39 ibdata1
-rw-rw---- 1 mysql mysql  5242880 Jan  7 13:05 ib_logfile0
-rw-rw---- 1 mysql mysql  5242880 Jan  7 13:05 ib_logfile1
[...]
J'ai essayé de faire une copie du fichier comme indiqué dans cette page, mais sans succès :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
# mv /var/lib/mysql/ibdata1 /var/lib/mysql/ibdata1.bak
# cp -a /var/lib/mysql/ibdata1.bak /var/lib/mysql/ibdata1
Au cas où, voici un extrait de my.cnf (je ne sais pas comment copier tout le texte du fichier, qui fait plusieurs écrans de long) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
language        = /usr/share/mysql/english
skip-external-locking
Le datadir pointe bien vers le bon répertoire et les permissions me semblent correctes (user et chmod).

Est-ce que quelqu'un sait ce qu'il faut faire pour régler cela ?

Je vous remercie d'avoir pris le temps de lire ce message et peut-être d'y répondre.

Bonne journée à tous,
Korbn