5 votes

Impossible de définir le mot de passe de l'utilisateur MySQL "root" sur un serveur virtuel Openvz.

J'essaie d'installer un serveur mysql sur mon VPS basé sur Openvz et fonctionnant sous Ubuntu 13.04 64bit et je continue à obtenir cette erreur lors de l'installation. J'ai essayé plusieurs fois et j'ai également réinstallé le système d'exploitation sans aucun changement. Si j'essaie de définir l'utilisateur root après j'obtiens l'erreur 2002 comme vous pouvez le voir ci-dessous

J'ai essayé de chercher le problème sur Google mais je n'ai rien trouvé de tel, pouvez-vous m'aider ?

Merci d'avance

root@server1:~# apt-get install mysql-server mysql-common mysql-client          Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
  libdbd-mysql-perl libmysqlclient18 mysql-client-5.5 mysql-server-5.5
Suggested packages:
  tinyca mailx
The following NEW packages will be installed:
  libdbd-mysql-perl libmysqlclient18 mysql-client mysql-client-5.5
  mysql-common mysql-server mysql-server-5.5
0 upgraded, 7 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/18.0 MB of archives.
After this operation, 66.9 MB of additional disk space will be used.
Do you want to continue [Y/n]? y
Preconfiguring packages ...
 Package configuration

Configuring mysql-server-5.5
 While not mandatory, it is highly recommended that you set a password     
 for the MySQL administrative "root" user.                                 

 If this field is left blank, the password will not be changed.            

 New password for the MySQL "root" user:                                   

                                 <  OK  >                                  

 Package configuration

              Configuring mysql-server-5.5

               Repeat password for the MySQL "root" user:    

                                 <  OK  >                    

Selecting previously unselected package mysql-common.
(Reading database ... 41054 files and directories currently installed.)
Unpacking mysql-common (from .../mysql-common_5.5.32-0ubuntu0.13.04.1_all.deb) ...
Selecting previously unselected package libmysqlclient18:amd64.
Unpacking libmysqlclient18:amd64 (from .../libmysqlclient18_5.5.32-0ubuntu0.13.04.1_amd64.deb) ...
Selecting previously unselected package libdbd-mysql-perl.
Unpacking libdbd-mysql-perl (from .../libdbd-mysql-perl_4.021-1_amd64.deb) ...
Selecting previously unselected package mysql-client-5.5.
Unpacking mysql-client-5.5 (from .../mysql-client-5.5_5.5.32-0ubuntu0.13.04.1_amd64.deb) ...
Processing triggers for man-db ...
Setting up mysql-common (5.5.32-0ubuntu0.13.04.1) ...
Selecting previously unselected package mysql-server-5.5.
(Reading database ... 41140 files and directories currently installed.)
Unpacking mysql-server-5.5 (from .../mysql-server-5.5_5.5.32-0ubuntu0.13.04.1_amd64.deb) ...
Selecting previously unselected package mysql-client.
Unpacking mysql-client (from .../mysql-client_5.5.32-0ubuntu0.13.04.1_all.deb) ...
Selecting previously unselected package mysql-server.
Unpacking mysql-server (from .../mysql-server_5.5.32-0ubuntu0.13.04.1_all.deb) ...
Processing triggers for man-db ...
Setting up libmysqlclient18:amd64 (5.5.32-0ubuntu0.13.04.1) ...
Setting up libdbd-mysql-perl (4.021-1) ...
Setting up mysql-client-5.5 (5.5.32-0ubuntu0.13.04.1) ...
Setting up mysql-server-5.5 (5.5.32-0ubuntu0.13.04.1) ...
invoke-rc.d: policy-rc.d denied execution of stop.
 Package configuration

Configuring mysql-server-5.5
 Unable to set password for the MySQL "root" user                           

 An error occurred while setting the password for the MySQL                 
 administrative user. This may have happened because the account already    
 has a password, or because of a communication problem with the MySQL       
 server.                                                                    

 You should check the account's password after the package installation.    

 Please read the /usr/share/doc/mysql-server-5.5/README.Debian file for     
 more information.                                                          

                                 <  OK  >                                   

invoke-rc.d: policy-rc.d denied execution of start.
Setting up mysql-client (5.5.32-0ubuntu0.13.04.1) ...
Setting up mysql-server (5.5.32-0ubuntu0.13.04.1) ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
root@server1:~# sudo mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MySQL to secure it, we'll need the current
password for the root user.  If you've just installed MySQL, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Enter current password for root (enter for none):
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Enter current password for root (enter for none):

1voto

Programster Points 5371

J'ai eu exactement le même problème et il s'est avéré être un problème de manque de mémoire. L'exécution de ce script sur l'hôte l'a réglé pour moi :

#!/bin/bash    
cid=104
vzctl set ${cid} --vmguarpages 1024M --save
vzctl set ${cid} --oomguarpages 1024M --save
vzctl set ${cid} --privvmpages 1024M:1024M --save

N'hésitez pas à remplacer 1024 par la quantité de mémoire que vous souhaitez pour votre conteneur. Vous devrez également remplacer 104 par l'ID de votre conteneur.

1voto

PKumar Points 2392

Utilisez la commande suivante pour changer le mot de passe root du serveur mysql

sudo dpkg-reconfigure mysql-server-5.5

0voto

Cubiq Points 1425

Tout d'abord, vérifiez si le serveur mysql fonctionne. En tant que root, exécutez :

service mysql restart

Si aucune erreur ne se produit, continuez à lire sinon réinstallez le serveur mysql avec apt-get install --reinstall mysql-server .

Vérifiez ensuite le fichier de configuration de mysql /etc/mysql/my.cnf et recherchez les paramètres suivants :

user = mysql
...
bind-address = 127.0.0.1

Modifiez-les si nécessaire et redémarrez le serveur, puis essayez de vous connecter avec l'un des éléments suivants :

mysql -u root
mysql -u root -p
mysql -u root -p -h localhost
mysql -u root -p -h 127.0.0.1

Si vous n'arrivez pas à vous connecter, essayez de modifier l'adresse de l'ordinateur. /etc/apparmor.d/usr.sbin.mysqld comme ça :

Recherche de

/var/run/mysqld/mysqld.pid w,
/var/run/mysqld/mysqld.sock w,

Remplacer par

/{,var/}run/mysqld/mysqld.pid w,
/{,var/}run/mysqld/mysqld.sock w,

Redémarrez le service apparmor avec service apparmor restart et réessayer de se connecter à mysql. Si vous n'avez toujours pas de chance, arrêtez le serveur mysql et réexécutez-le sans accorder de tables :

sudo service mysql stop
sudo mysqld --skip-grant-tables &

Maintenant, vous devriez être en mesure de vous connecter à mysql sans mot de passe ( mysql -u root ). Regardez ce qui se passe dans votre table utilisateur :

select Host, User, Password from mysql.user;

Vous devriez avoir 4 utilisateurs root, vérifiez que le nom d'hôte est correct et que tous ont un mot de passe. Essayez de réinitialiser le mot de passe avec un nouveau :

update mysql.user set Password=PASSWORD('YOUR-PASSWORD');
flush privileges;
exit;

Maintenant sudo killall mysqld y sudo service mysql restart et réessayer de se connecter avec les nouvelles informations d'identification.

0voto

ieplugin Points 216

Je ne peux pas expliquer pourquoi cela se produit, mais une solution de contournement consiste à définir le mot de passe root de MySQL après l'échec de la tentative, afin de rendre possible l'utilisation du mot de passe root. sudo mysql_secure_installation run est d'exécuter cette commande :

mysqladmin -u root -p '' password '<new_password>'

*<new_password> = nouveau mot de passe

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X