Differences

This shows you the differences between two versions of the page.

Link to this comparison view

unix:mysql_et_probleme_d_authenfication [2010/01/12 13:29] (current)
Line 1: Line 1:
 +Par un bon jour, vous ne vous souvenez plus de votre mot de passe root de\\ 
 +votre DB MySQL ou bien, plus dramatique, mysqld ne trouve pas la table\\ ​
 +"​host.frm"​ (cas fréquent).
  
 +Mais voila, pour recréer host.frm, il faut démarrer mysqld.\\
 +Comment faire alors ?
 +
 +Et bien tout simplement en demandant à MySQL de ne pas lire la table\\ ​
 +d'​authentification.
 +<​code>​
 +# /​usr/​local/​libexec/​mysqld -u mysql --skip-grant
 +   ​040927 23:​31:​32 ​ InnoDB: Started
 +   /​usr/​local/​libexec/​mysqld:​ ready for connections.
 +   ​Version:​ '​4.0.20' ​ socket: '/​tmp/​mysql.sock' ​ port: 3306
 +</​code>​
 +Ouvrez un autre shell, vous pouvez accéder à la DB sans mot de passe.
 +<​code>​
 +# mysql
 +  Welcome to the MySQL monitor. ​ Commands end with ; or \g.
 +  Your MySQL connection id is 62 to server version: 4.0.20
 +
 +  Type '​help;'​ or '​\h'​ for help. Type '​\c'​ to clear the buffer.
 +
 +mysql> DELETE FROM mysql.user WHERE User='​root';​
 +mysql> GRANT ALL PRIVILEGES ON *.* TO '​root'​@'​localhost'​ IDENTIFIED BY '​m0n_JoL1_MoT_d3_p4ss3'​ WITH GRANT OPTION;
 +mysql> FLUSH PRIVILEGES;
 +</​code>​
 + ​Déconnectez vous, arrétez le daemon sur votre autre terminal.\\ ​
 + Vous pouvez relancer mysql normalement (vérifiez que l'​option **-skip-grant** n'est plus actif) :
 +<​code>​
 + # /​usr/​local/​etc/​rc.d/​mysql-server.sh start
 +</​code>​
 +Et voila !
 +Soumission d'un MySQL relou en 2 minutes.
unix/mysql_et_probleme_d_authenfication.txt · Last modified: 2010/01/12 13:29 (external edit)