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

16

Je suis nouveau sur Ubuntu. J'utilise Ubuntu 12.10. J'essaie 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é un mot de passe mais après avoir entré et confirmé le mot de passe. J'obtiens le message d'erreur suivant.

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

Une erreur s'est produite lors de la définition du mot de passe pour mysql
utilisateur administratif. Cela peut être dû au fait que le compte dispose déjà d'un mot de passe ou à cause d'un problème de communication avec le serveur Mysql.
Vous devez vérifier le mot de passe du compte après l'installation du package.
Veuillez lire le fichier /usr/share/doc/mysql-server-5.5/README.Debian pour plus d'informations.

après avoir cliqué sur le bouton ok à l'invite, je reçois le message suivant 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 indique

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 recherché ce problème, mais rien n'a fonctionné pour moi. Veuillez aider.

Devendra Verma
la source
1
Vérifiez si vous avez mysql-serverdéjà installé en exécutant ps -e | grep mysqld. Si vous voyez une sortie, cela signifie qu'elle est déjà installée.
vert
Je ne reçois aucune sortie pour cela
Devendra Verma
L'erreur mysql que vous avez publiée peut indiquer un problème avec votre /etc/mysql/my.cnf. Si vous avez modifié ce fichier ou un fichier du répertoire / etc / mysql, restaurez les originaux et réessayez.
Richard Ayotte
Nathan, je suis confronté au même problème dans cet article et j'ai déjà suivi les mêmes instructions que green7 et les vôtres. Je ne comprends même pas pourquoi mysql a cessé de fonctionner. Je serais heureux si vous pouviez m'aider davantage. Edit: Juste pour vous faire savoir que tout cela s'est produit parce que j'ai commencé à recevoir de nulle part le message suivant lorsque j'essaie d'installer mysql: ERREUR: 1146 La table 'mysql.user' n'existe pas Merci d'avance.
ne peut pas répondre en raison d'une mauvaise réputation. Cet essentiel fonctionne pour moi gist.github.com/ervinb/63138a504da11a9c27af
gayavat

Réponses:

25

Même problème de définition du mot de passe root ici, le mien pouvant être causé par une installation manuelle infructueuse du serveur mysql 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 l'ai 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

En gros je tape juste

sudo dpkg --purge mysql # followed by two tabs

Ensuite, --purgetous les packages que le terminal complète automatiquement. Purger mysql-commonenfin à cause de certains problèmes de dépendance.

Utilisez les dpkgcommandes 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 entièrement supprimé, consultez

which mysql
mysql --version

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

La signification de dpkg --purgeest, lorsque vous l'utilisez apt-getseul, which mysqlet mysql --versionse comporte comme mysql est toujours là.

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

sudo dpkg --configure -a
sudo apt-get update

Le problème a finalement été résolu. J'espère que cela sera utile pour d'autres personnes.

Sophia Feng
la source
3
Dans mon cas, quand: sudo dpkg --purge mysql-common Il échoue avec: dpkg: des problèmes de dépendance empêchent la suppression de mysql-common: mysql-client-5.5 dépend de mysql-common (> = 5.5.35-0ubuntu0.12.04. 2). libmysqlclient18 dépend de mysql-common (> = 5.5.35-0ubuntu0.12.04.2). dpkg: erreur de traitement mysql-common (--purge): problèmes de dépendance - pas de suppression Des erreurs ont été rencontrées lors du traitement: mysql-common
ses
Cela a également fonctionné pour moi.
Michael Lindman,
Je cherche depuis un certain temps un ensemble d'instructions qui résoudrait complètement la situation. Cela a fonctionné comme décrit. Merci.
Matt Setter
Travaillé pour moi merci mec! C'est dommage que Linux fasse un travail aussi compliqué avec le placement de fichiers!
Southerton,
finalement travaillé pour moi. Je pense qu'un redémarrage après tout ce qui aurait pu m'aider!
Danimal
5

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

Voir

/programming/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
Pedro Braconnot
la source
Vous monsieur, êtes un héros! J'ai passé des heures à googler et à essayer les différents conseils partout, et seul le vôtre a vraiment fonctionné! Je pense que la différence réside dans la suppression de l'utilisateur mysql, car j'ai déjà essayé la plupart des autres options. PS: J'ai dû kill -9exécuter plusieurs processus avant d'exécuter la deluser mysqlcommande avec succès.
Shautieh
3

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

mysqld: impossible de créer / écrire dans le fichier '/ tmp / ibNuz7q0' (Errcode: 13)

Exécutez les commandes suivantes dans un terminal:

sudo su
racine chown: root / tmp
chmod 1777 / tmp
/ usr / sbin / mysqld &

Explication :

  • sudo su: Pour exécuter les commandes suivantes en tant que root.
  • chown root:root /tmp: Faire de l'utilisateur rootdu rootgroupe le propriétaire de /tmp.
  • chmod 1777 /tmp: Modifiez les autorisations de /tmpsorte qu'il soit accessible à tous les utilisateurs et uniquement au propriétaire ou au, rootpuisse supprimer les fichiers de ce répertoire. (Plus d'informations sur les autorisations de fichiers ici )
  • /usr/sbin/mysqld &: Démarrez le mysqlddémon.
vert
la source
après avoir entré la dernière commande, je reçois ce message # /etc/init.d mysqld start bash: /etc/init.d: ​​est un répertoire
Devendra Verma
modifié la réponse
vert
J'obtiens cette sortie après / usr / sbin / mysqld & / usr / sbin / mysqld & [1] 3497. Comment vérifier si mysql est en cours d'exécution
Devendra Verma
Pour vérifier si votre mysql fonctionne, exécutez-le ps -e | grep mysqldet si vous obtenez une sortie, il fonctionne correctement.
vert
merci @ green7 voici la sortie ps -e | grep mysqld 1075? 00:00:04 mysqld
Devendra Verma
2

J'ai lutté pendant plusieurs heures la nuit dernière 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, a résolu le problème (après la désinstallation / la purge / la gravure de mysql):

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

Ensuite, j'ai couru sudo aptitude install mysql-serveret il s'est finalement 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) ...
Greg
la source
1

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

Nathan Suchy
la source
0

Les scripts d'installation pour toutes les versions d'Ubuntu après 12.04 ne suivent pas le même processus de configuration que 12.04. Dans 12.04, vous êtes explicitement invité à 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 certainement la 12.04.

Gary
la source
0

Solution différente pour ceux qui ont encore des problèmes. J'espère pouvoir aider ceux qui essaient de réinstaller Mysql. Remarque, c'est une mission de recherche et de destruction. Soyez donc las. En supposant 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 mon démarrage de mysqlserver-5.5. Ces commandes ont fini par résoudre le problème pour moi-même.

mastash3ff
la source