Mysql

Bon, pas étonnant que tu n’arrives pas à te connecter avec root, vu que… root n’existe plus ! La bonne nouvelle c’est que tu n’utilises pas de droits spécifiques par hôte ou par base, et que tes mots de passe sont au nouveau format.

Petite question : est-ce que tu utilises, par hasard, un panneau de contrôle quelconque (type ISPConfig ou autres) ? Si c’est le cas, il est fort possible que ça soit ça qui t’ait foutu la zone.

Bref, il suffit de recréer les 3 enregistrements root@localhost/127.0.0.1/hostname dans la table user, mais comme je n’ai pas la même version que toi je ne sais pas s’il y a exactement les mêmes privilèges. Quel est le résultat de :

DESCRIBE mysql.user;?

Salut syam, voici ce que cela donne:

[code]mysql> DESCRIBE mysql.user;
±----------------------±----------------------------------±-----±----±--------±------+
| Field | Type | Null | Key | Default | Extra |
±----------------------±----------------------------------±-----±----±--------±------+
| Host | char(60) | NO | PRI | | |
| User | char(16) | NO | PRI | | |
| Password | varchar(41) | NO | | | |
| Select_priv | enum(‘N’,‘Y’) | NO | | N | |
| Insert_priv | enum(‘N’,‘Y’) | NO | | N | |
| Update_priv | enum(‘N’,‘Y’) | NO | | N | |
| Delete_priv | enum(‘N’,‘Y’) | NO | | N | |
| Create_priv | enum(‘N’,‘Y’) | NO | | N | |
| Drop_priv | enum(‘N’,‘Y’) | NO | | N | |
| Reload_priv | enum(‘N’,‘Y’) | NO | | N | |
| Shutdown_priv | enum(‘N’,‘Y’) | NO | | N | |
| Process_priv | enum(‘N’,‘Y’) | NO | | N | |
| File_priv | enum(‘N’,‘Y’) | NO | | N | |
| Grant_priv | enum(‘N’,‘Y’) | NO | | N | |
| References_priv | enum(‘N’,‘Y’) | NO | | N | |
| Index_priv | enum(‘N’,‘Y’) | NO | | N | |
| Alter_priv | enum(‘N’,‘Y’) | NO | | N | |
| Show_db_priv | enum(‘N’,‘Y’) | NO | | N | |
| Super_priv | enum(‘N’,‘Y’) | NO | | N | |
| Create_tmp_table_priv | enum(‘N’,‘Y’) | NO | | N | |
| Lock_tables_priv | enum(‘N’,‘Y’) | NO | | N | |
| Execute_priv | enum(‘N’,‘Y’) | NO | | N | |
| Repl_slave_priv | enum(‘N’,‘Y’) | NO | | N | |
| Repl_client_priv | enum(‘N’,‘Y’) | NO | | N | |
| Create_view_priv | enum(‘N’,‘Y’) | NO | | N | |
| Show_view_priv | enum(‘N’,‘Y’) | NO | | N | |
| Create_routine_priv | enum(‘N’,‘Y’) | NO | | N | |
| Alter_routine_priv | enum(‘N’,‘Y’) | NO | | N | |
| Create_user_priv | enum(‘N’,‘Y’) | NO | | N | |
| ssl_type | enum(’’,‘ANY’,‘X509’,‘SPECIFIED’) | NO | | | |
| ssl_cipher | blob | NO | | NULL | |
| x509_issuer | blob | NO | | NULL | |
| x509_subject | blob | NO | | NULL | |
| max_questions | int(11) unsigned | NO | | 0 | |
| max_updates | int(11) unsigned | NO | | 0 | |
| max_connections | int(11) unsigned | NO | | 0 | |
| max_user_connections | int(11) unsigned | NO | | 0 | |
±----------------------±----------------------------------±-----±----±--------±------+
37 rows in set (0.02 sec)

mysql>
[/code]

GRANT ALL ON . to root@localhost IDENTIFIED by ‘password’;
devrait remédier au problème

fran.b je viens d’essayer mais cela ne veut pas fonctionner:

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

Oui, il te faut faire la commande en ayant désactiver l’authentification:

Tu te met sous root, tu arrêtes mysql (/etc/init.d/mysql stop et tu tapes

Dans une autre console, tu fais

$ mysql -u root et là tu tapes les commandes en faisant un «flush privileges» à la fin

Nom d’une pipe, je savais bien qu’il me manquait quelque chose dans la syntaxe GRANT. :blush:
J’avais essayé avec seulement * au lieu de . et forcément ça donnait un résultat que je ne voulais pas (à savoir : des droits uniquement sur la base active). D’où mes contorsions, j’allais lui conseiller des INSERT user(user,host,password,select_priv,insert_priv,…) VALUES(…,‘Y’,‘Y’…).

La méthode GRANT est clairement meilleure, ça m’apprendra à dépendre de phpMyAdmin (qui, en plus, n’est pas réinstallé sur ma nouvelle machine, ce qui explique que je patauge un peu).

Par contre, les tables MySQL par défaut incluent 3 utilisateurs root : root@localhost, root@127.0.0.1, et root@hostname_de_la_machine.
Si ma mémoire ne me joue pas des tours, PHP se connecte avec root@127.0.0.1 et non pas root@localhost.
Mon conseil (pour mettre tous les atouts de son côté) serait de recréer les 3 entrées root par défaut, ça évitera des soucis.

ok je vai essayer et merci à toutes les personnes de m’aider.