Nous avons installé PHPMyAdmin sur une machine Windows exécutant IIS 7.0.
Nous pouvons nous connecter à MySQL en ligne de commande, mais nous ne pouvons pas nous connecter en utilisant PHPMyAdmin.
L’erreur affichée est: Error #1045 Cannot log in to the MySQL server.
Quelqu'un peut-il aider s'il vous plaît?
PHP Version 5.4.0
mysqlnd 5.0.10 - 20111026 - $Revision: 323634 $
phpMyAdmin-3.5.4-rc1-all-languages.7z
MODIFIER :
J'ai suivi le lien ci-dessous sans succès, cela signifie que j'ai changé ce mot de passe mais phpmyadmin a toujours cette erreur.
C.5.4.1.1. Réinitialisation du mot de passe racine: Systèmes Windows
De plus, il y a un fil comme ci-dessous dans la pile sans aide:
Erreur aléatoire: # 1045 Impossible de se connecter au serveur MySQL
mais cette erreur n’est pas aléatoire -> j’ai toujours cette erreur ...
Et ceci est un fichier config.inc.php dans le dossier phpmyadmin:
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* Config file view and save screen
*
* @package PhpMyAdmin-setup
*/
if (!defined('PHPMYADMIN')) {
exit;
}
/**
* Core libraries.
*/
require_once './libraries/config/FormDisplay.class.php';
require_once './setup/lib/index.lib.php';
require_once './setup/lib/ConfigGenerator.class.php';
$config_readable = false;
$config_writable = false;
$config_exists = false;
check_config_rw($config_readable, $config_writable, $config_exists);
?>
<h2><?php echo __('Configuration file') ?></h2>
<?php display_form_top('config.php'); ?>
<input type="hidden" name="eol" value="<?php echo htmlspecialchars(PMA_ifSetOr($_GET['eol'], 'unix')) ?>" />
<?php display_fieldset_top('', '', null, array('class' => 'simple')); ?>
<tr>
<td>
<textarea cols="50" rows="20" name="textconfig" id="textconfig" spellcheck="false"><?php
echo htmlspecialchars(ConfigGenerator::getConfigFile())
?></textarea>
</td>
</tr>
<tr>
<td class="lastrow" style="text-align: left">
<input type="submit" name="submit_download" value="<?php echo __('Download') ?>" class="green" />
<input type="submit" name="submit_save" value="<?php echo __('Save') ?>"<?php if (!$config_writable) echo ' disabled="disabled"' ?> />
</td>
</tr>
<?php
display_fieldset_bottom_simple();
display_form_bottom();
?>
où une partie de ces codes devrais-je changer?
Merci.
Vous devez faire deux choses supplémentaires après avoir suivi le lien que vous avez mentionné dans votre message:
Il faut mapper les identifiants de connexion modifiés dans phpmyadmin's config.inc.php
et deuxièmement, vous devez redémarrer vos serveurs web et mysql.
la version php n'est pas le problème ici .. vous devez aller dans phpmyadmin répertoire d'installation et trouver le fichier config.inc.php
et dans ce fichier, mettez votre mot de passe mysql actuel à la ligne
$cfg['Servers'][$i]['user'] = 'root'; //mysql username here
$cfg['Servers'][$i]['password'] = 'password'; //mysql password here
Sous Linux, je résous ce problème en accédant à la commande racine Type d'invite:
# mysqladmin -u root password 'Secret Phrase Here'
Puis retournez et connectez-vous. Fonctionne à chaque fois!
Si vous installez pour la première fois, veuillez essayer de vous connecter avec un nom d’utilisateur et un mot de passe en tant que root.
autre chose qui a fonctionné pour moi après que tout ne se soit pas passé - changez "localhost" dans config.inc.php en 127.0.0.1
Dans mysql 5.7, le mécanisme d'authentification a changé, la documentation se trouve dans le manuel officiel ici .
En utilisant l'utilisateur racine du système (ou Sudo
), vous pouvez vous connecter à la base de données mysql avec l'utilisateur mysql 'root' via l'interface de ligne de commande. Tous les autres utilisateurs fonctionneront aussi.
Dans phpmyadmin cependant, tous les utilisateurs de mysql fonctionneront, mais pas l’utilisateur 'root' de mysql.
Cela vient d'ici:
$ mysql -Ne "select Host,User,plugin from mysql.user where user='root';"
+-----------+------+-----------------------+
| localhost | root | auth_socket |
| hostname | root | mysql_native_password |
+-----------+------+-----------------------+
Pour "réparer" cette fonctionnalité de sécurité, procédez comme suit:
mysql -Ne "update mysql.user set plugin='mysql_native_password' where User='root' and Host='localhost'; flush privileges;"
Vous trouverez plus d’informations à ce sujet ici dans le manuel.
Lorsque vous modifiez vos mots de passe dans l’onglet Sécurité, il existe deux sections, une au-dessus et une au-dessous. Je pense que l'erreur commune ici est que d'autres essayent de se connecter avec le compte qu'ils ont défini "en dessous" de celui utilisé pour htaccess, alors qu'ils devraient se connecter avec le mot de passe défini dans la section ci-dessus. C'est comme ça que j'ai réparé le mien.
Pour les utilisateurs d'ubuntu, votre fichier config.inc.php devrait ressembler à ceci
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = 'username';
$cfg['Servers'][$i]['password'] = 'password';
/* Server parameters */
$cfg['Servers'][$i]['Host'] = '127.0.0.1';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = false;
/**
* phpMyAdmin configuration storage settings.
*/
/* User used to manipulate with storage */
// $cfg['Servers'][$i]['controlhost'] = '';
// $cfg['Servers'][$i]['controlport'] = '';
// $cfg['Servers'][$i]['controluser'] = 'pma';
// $cfg['Servers'][$i]['controlpass'] = '';
Si vous vous êtes connecté à "phpmyadmin", puis déconnecté, vous pourriez avoir de la difficulté à vous reconnecter dans la même fenêtre de navigateur. La déconnexion envoie le navigateur à une URL ressemblant à ceci:
http://localhost/phpmyadmin/index.php?db=&token=354a350abed02588e4b59f44217826fd&old_usr=tester
Mais pour moi, sous Mac OS X dans le navigateur Safari, cette URL ne veut tout simplement pas fonctionner. Par conséquent, je dois mettre dans l'URL propre:
http://localhost/phpmyadmin
Je ne sais pas pourquoi, mais à compter d'aujourd'hui, le 20 octobre 2015, c'est ce que je vis.
Sudo service mysql stop
Sudo mysqld --skip-grant-tables &
mysql -u root mysql
Change MYSECRET with your new root password
UPDATE user SET Password=PASSWORD('MYSECRET') WHERE User='root'; FLUSH PRIVILEGES; exit;