En essayant de faire fonctionner MySQL à distance, j'ai réussi à me verrouiller avec le compte root.
Normalement, j'arrêterais le service MySQL et le redémarrerais en utilisant /etc/init.d/mysql --init-file
, mais quand j'essaye de le faire, il dit que le script a été converti en un travail parvenu et d'utiliser la commande "service mysql". Malheureusement, pour autant que je sache, la service
commande ne prend pas en charge l' --init-file
option.
Existe-t-il un autre moyen de réinitialiser l'hôte pour l'utilisateur root?
Réponses:
Arrêtez MySQL:
puis lancez MySQL comme ceci
À ce stade, vous devriez pouvoir vous connecter à mysql (à partir de la machine locale) en tant que root.
la source
service mysqld restart --skip-grant-tables --skip-networking
. Puis, après la fixation racine,service mysql restart
. Néanmoins, +1 !!!En fin de compte, cette option sera transmise
mysqld_safe
; la documentation décrit cela en détail. Vous pourrez peut-être découvrir comment upstart appelle MySQL, puis le démarrer manuellement de la même manière avec votre--init-file
option ajoutée . Assurez-vous cependant de le démarrer en tant que bon utilisateur!Si vous utilisez Debian ou Ubuntu, vous constaterez probablement qu'il existe un
debian-sys-maint
utilisateur équivalent à root que vous pourrez peut-être utiliser temporairement; vous trouverez le mot de passe généré automatiquement pour cela dans/etc/mysql/debian.cnf
. Il peut également y avoir des alternatives sur d'autres systèmes? Cette option serait probablement plus simple,la source