web-dev-qa-db-fra.com

Impossible de définir le mot de passe pour l'utilisateur mysql "root"

Je suis nouveau sur Ubuntu. Je suis sous Ubuntu 12.10. J'essaye d'installer Apache, php, mysql. Cependant, j'ai installé Apache et il fonctionne parfaitement.

Sudo apt-get install Apache2

Mais quand j'ai essayé d'installer mysql en utilisant la commande suivante

Sudo apt-get install mysql-server 

Après le téléchargement, il a demandé le mot de passe mais après avoir entré et confirmé le mot de passe. Je reçois le message d'erreur suivant.

 Impossible de définir un mot de passe pour l'utilisateur Mysql "root" 
 
 Une erreur s'est produite lors de la définition du mot de passe pour l'utilisateur administratif mysql 
. Cela peut être dû au compte a déjà un mot de passe, ou à cause d'un problème de communication avec le serveur Mysql. 
 Vous devriez vérifier le mot de passe du compte après l'installation du paquet. 
 Veuillez lire le répertoire/usr/share/doc/mysql-server. -5.5/README.Debian pour plus d'informations. 

après avoir cliqué sur le bouton ok de l'invite, le message suivant s'affiche sur le terminal

Setting up mysql-server-5.5 (5.5.29-0ubuntu0.12.10.1) ...
start: Job failed to start
invoke-rc.d: initscript mysql, action "start" failed.
dpkg: error processing mysql-server-5.5 (--configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
mysql-server-5.5
E: Sub-process /usr/bin/dpkg returned an error code (1)

Le journal des erreurs Mysql dit

130209 14:26:37 [Note] Plugin 'FEDERATED' is disabled.
130209 14:26:37 InnoDB: The InnoDB memory heap is disabled
130209 14:26:37 InnoDB: Mutexes and rw_locks use GCC atomic builtins
130209 14:26:37 InnoDB: Compressed tables use zlib 1.2.7
130209 14:26:37 InnoDB: Using Linux native AIO
mysqld: Can't create/write to file '/tmp/ibNuz7q0' (Errcode: 13)
130209 14:26:37  InnoDB: Error: unable to create temporary file; errno: 13
130209 14:26:37 [ERROR] Plugin 'InnoDB' init function returned error.
130209 14:26:37 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
130209 14:26:37 [ERROR] Unknown/unsupported storage engine: InnoDB
130209 14:26:37 [ERROR] Aborting

J'ai cherché ce problème, mais rien n'a fonctionné pour moi. S'il vous plaît aider.

16
Devendra Verma

Même problème de paramétrage du mot de passe root ici, probablement dû à une installation manuelle infructueuse de mysql server 5.6 précédemment. Une désinstallation complète de MySQL n’est pas une tâche facile. J'ai purgé/réinstallé pendant des heures puis finalement résolu avec

Sudo dpkg --purge mysql-client-core-5.5 # or alternative version
Sudo dpkg --purge mysql-client
Sudo dpkg --purge mysql-server-core-5.5 # or alternative version
Sudo dpkg --purge mysql-common

Fondamentalement, je tape juste

Sudo dpkg --purge mysql # followed by two tabs

Ensuite, --purge l’un des packages que le terminal met à exécution automatiquement. Purgez mysql-common enfin à cause de problèmes de dépendance.

Utilisez les commandes dpkg ci-dessus en plus de

Sudo apt-get --purge remove mysql-server
Sudo apt-get --purge remove mysql-client
Sudo apt-get --purge remove mysql-common
Sudo apt-get autoremove
Sudo apt-get autoclean

J'ai aussi essayé la méthode de Greq

Sudo rm -rf /etc/mysql

Supprimez le dossier mysql de/var/lib

Sudo rm -rf /var/lib/mysql/

À ce stade, pour vous assurer que mysql est complètement supprimé, vérifiez auprès de

which mysql
mysql --version

Le premier ne doit renvoyer aucune sortie à la place d'un dossier. La seconde devrait retourner que mysql n'est pas installé à la place d'un numéro de version. Sinon, la suppression est toujours incomplète.

La signification de dpkg --purge est que, lorsque vous utilisez apt-get seul, which mysql et mysql --version se comportent comme si mysql était toujours là.

Avant la réinstallation, reconfigurez dpkg et mettez à jour

Sudo dpkg --configure -a
Sudo apt-get update

Problème résolu finalement. J'espère que cela sera utile pour d'autres personnes.

25
Sophia Feng

Vous devez supprimer complètement mysql. Croyez-moi, j'ai essayé. dpkg ne le fera pas seul.

Voir

https://stackoverflow.com/questions/10853004/removing-mysql-5-5-completely

Si vous êtes pressé

Sudo service mysql stop  #or mysqld
Sudo killall -9 mysql
Sudo killall -9 mysqld
Sudo apt-get remove --purge mysql-server mysql-client mysql-common
Sudo apt-get autoremove
Sudo apt-get autoclean
Sudo deluser mysql
Sudo rm -rf /var/lib/mysql
Sudo apt-get purge mysql-server-core-5.5
Sudo apt-get purge mysql-client-core-5.5
5
Pedro Braconnot

Je pense que la raison en est que mysqln'est pas en mesure d'accéder à votre répertoire /tmp/, comme il est indiqué dans la ligne

 mysqld: Impossible de créer/écrire dans le fichier '/ tmp/ibNuz7q0' (Code d'erreur: 13) 

Exécutez les commandes suivantes dans un terminal:

 Sudo su 
 Chown root: racine /tmp
chmod 1777 /tmp
/usr/sbin/mysqld & 

Explication :

  • Sudo su: pour exécuter les commandes suivantes en tant que rootname__.
  • chown root:root /tmp: permet à l'utilisateur rootof rootde grouper le propriétaire de /tmp.
  • chmod 1777 /tmp: modifiez les autorisations de /tmp afin qu'il soit accessible à tous les utilisateurs et que seul le propriétaire ou le rootpuisse supprimer les fichiers de ce répertoire. (Plus d'informations sur les autorisations de fichiers ici )
  • /usr/sbin/mysqld &: démarrez le démon mysqldname__.
3
green

Hier soir, j'ai lutté pendant plusieurs heures avec cela, et j'ai lu tout ce que Google a dans son index sur le problème.

J'ai réinstallé mysql 20 fois. C'est probablement un chiffre littéral.

Enfin, l’un d’eux, ou les deux, corrige le problème (après la désinstallation/la purge/la gravure de mysql):

  1. Sudo rm -rf /etc/mysql(ceci n'a pas été supprimé après la purge)
  2. J'ai ensuite arrêté le serveur et redimensionné mon instance VM de 512 Mo à 1 Go (RAM).

Ensuite, j'ai exécuté Sudo aptitude install mysql-server et le logiciel a finalement été installé avec succès:

$ Sudo aptitude install mysql-server
[Sudo] password for [REDACTED]: 
The following NEW packages will be installed:
  libdbd-mysql-Perl{a} libmysqlclient18{a} mysql-client-5.5{a} mysql-common{a} mysql-server mysql-server-5.5{a} mysql-server-core-5.5{a} 
0 packages upgraded, 7 newly installed, 0 to remove and 0 not upgraded.
Need to get 8,589 kB of archives. After unpacking 94.6 MB will be used.
Do you want to continue? [Y/n/?] Y
Get: 1 http://ftp.us.debian.org/debian/ wheezy/main mysql-common all 5.5.31+dfsg-0+wheezy1 [85.3 kB]
Get: 2 http://ftp.us.debian.org/debian/ wheezy/main libmysqlclient18 AMD64 5.5.31+dfsg-0+wheezy1 [687 kB]
Get: 3 http://ftp.us.debian.org/debian/ wheezy/main libdbd-mysql-Perl AMD64 4.021-1+b1 [126 kB]
Get: 4 http://ftp.us.debian.org/debian/ wheezy/main mysql-client-5.5 AMD64 5.5.31+dfsg-0+wheezy1 [1,923 kB]
Get: 5 http://ftp.us.debian.org/debian/ wheezy/main mysql-server-core-5.5 AMD64 5.5.31+dfsg-0+wheezy1 [3,784 kB]
Get: 6 http://ftp.us.debian.org/debian/ wheezy/main mysql-server-5.5 AMD64 5.5.31+dfsg-0+wheezy1 [1,900 kB]
Get: 7 http://ftp.us.debian.org/debian/ wheezy/main mysql-server all 5.5.31+dfsg-0+wheezy1 [83.6 kB]
Fetched 8,589 kB in 2s (3,068 kB/s)
Preconfiguring packages ...
Selecting previously unselected package mysql-common.
(Reading database ... 52430 files and directories currently installed.)
Unpacking mysql-common (from .../mysql-common_5.5.31+dfsg-0+wheezy1_all.deb) ...
Selecting previously unselected package libmysqlclient18:AMD64.
Unpacking libmysqlclient18:AMD64 (from .../libmysqlclient18_5.5.31+dfsg-0+wheezy1_AMD64.deb) ...
Selecting previously unselected package libdbd-mysql-Perl.
Unpacking libdbd-mysql-Perl (from .../libdbd-mysql-Perl_4.021-1+b1_AMD64.deb) ...
Selecting previously unselected package mysql-client-5.5.
Unpacking mysql-client-5.5 (from .../mysql-client-5.5_5.5.31+dfsg-0+wheezy1_AMD64.deb) ...
Selecting previously unselected package mysql-server-core-5.5.
Unpacking mysql-server-core-5.5 (from .../mysql-server-core-5.5_5.5.31+dfsg-0+wheezy1_AMD64.deb) ...
Processing triggers for man-db ...
Setting up mysql-common (5.5.31+dfsg-0+wheezy1) ...
Selecting previously unselected package mysql-server-5.5.
(Reading database ... 52616 files and directories currently installed.)
Unpacking mysql-server-5.5 (from .../mysql-server-5.5_5.5.31+dfsg-0+wheezy1_AMD64.deb) ...
Selecting previously unselected package mysql-server.
Unpacking mysql-server (from .../mysql-server_5.5.31+dfsg-0+wheezy1_all.deb) ...
Processing triggers for man-db ...
Setting up libmysqlclient18:AMD64 (5.5.31+dfsg-0+wheezy1) ...
Setting up libdbd-mysql-Perl (4.021-1+b1) ...
Setting up mysql-client-5.5 (5.5.31+dfsg-0+wheezy1) ...
Setting up mysql-server-core-5.5 (5.5.31+dfsg-0+wheezy1) ...
Setting up mysql-server-5.5 (5.5.31+dfsg-0+wheezy1) ...
Stopping MySQL database server: mysqld.
131124 15:39:56 [Note] Plugin 'FEDERATED' is disabled.
131124 15:39:56 InnoDB: The InnoDB memory heap is disabled
131124 15:39:56 InnoDB: Mutexes and rw_locks use GCC atomic builtins
131124 15:39:56 InnoDB: Compressed tables use zlib 1.2.7
131124 15:39:56 InnoDB: Using Linux native AIO
131124 15:39:56 InnoDB: Initializing buffer pool, size = 128.0M
131124 15:39:56 InnoDB: Completed initialization of buffer pool
131124 15:39:56 InnoDB: highest supported file format is Barracuda.
131124 15:39:56  InnoDB: Waiting for the background threads to start
131124 15:39:57 InnoDB: 5.5.31 started; log sequence number 1595675
131124 15:39:57  InnoDB: Starting shutdown...
131124 15:39:58  InnoDB: Shutdown completed; log sequence number 1595675
Starting MySQL database server: mysqld ..
Checking for tables which need an upgrade, are corrupt or were 
not closed cleanly..
Setting up mysql-server (5.5.31+dfsg-0+wheezy1) ...
2
Greg

Tapez Sudo apt-get purge mysql-server && Sudo apt-get install mysql-server si cela ne fonctionne pas, laissez un commentaire sur ma réponse et je travaillerai avec vous pour résoudre ce problème.

1
Nathan Suchy

Solution différente pour ceux qui ont encore des problèmes. J'espère pouvoir aider ceux qui essaient de réinstaller Mysql. Remarque: il s’agit d’une mission de recherche et de destruction. Alors soyez fatigué. En supposant que votre racine:

apt-get purge mysql*
apt-get purge dbconfig-common #the screen used for mysql password
find / -name *mysql*          #delete any traces of mysql
#insert apt-get cleanups, autoremove,updates etc.

À l'origine, quelque chose qui restait interférait avec le démarrage de mysqlserver-5.5. Ces commandes ont fini par résoudre le problème pour moi-même.

0
mastash3ff

Les scripts d'installation pour toutes les versions d'Ubuntu après 12.04 ne suivent pas le même processus d'installation que 12.04. Dans 12.04, il vous est explicitement demandé de définir le mot de passe mysql lors de l'installation. Pour 12.10 et après, il demande simplement le mot de passe root mysql, mais quel est ce mot de passe? Le script d'installation est un pas en arrière. Je recommande d'installer 12.04 sur une machine virtuelle et d'y installer mysql. Si vous êtes comme moi et que vous l'utilisez en conjonction avec Drupal respectez-vous définitivement à 12.04.

0
Gary