J'ai installé mysql depuis la mise à niveau du système d'exploitation. Mais il semble y avoir un problème avec le mot de passe root. J'ai essayé de résoudre ce problème de nombreuses manières sur le Web, mais jusqu'à présent, cela n'a pas abouti.
systemctl status mysql.service donne:
● mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Wed 2018-05-02 16:57:24 +07; 13s ago
Process: 6172 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=217/USER)
Thg 5 02 16:57:24 thiennguyen systemd[1]: mysql.service: Service hold-off time over, scheduling restart.
Thg 5 02 16:57:24 thiennguyen systemd[1]: mysql.service: Scheduled restart job, restart counter is at 5.
Thg 5 02 16:57:24 thiennguyen systemd[1]: Stopped MySQL Community Server.
Thg 5 02 16:57:24 thiennguyen systemd[1]: mysql.service: Start request repeated too quickly
Thg 5 02 16:57:24 thiennguyen systemd[1]: mysql.service: Failed with result 'exit-code'.
Thg 5 02 16:57:24 thiennguyen systemd[1]: Failed to start MySQL Community Server
journalctl -xe donner: http://codepad.org/6EbGVu2Q
mysql_secure_installation donne:
Securing the MySQL server deployment.
Enter password for user root:
Error: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
mysql -u racine -p donne:
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Surtout quand je l’installe, mysql n’exige pas de mot de passe pour root et j’ai réinstallé plusieurs fois . Peut-être que le problème est ancien, mais j’ai trouvé de nombreuses manières sur le réseau mais je ne peux pas le résoudre.
Vous devez changer l'ancien mot de passe de MySQL au moment de l'installation sécurisée. Si vous ne vous souvenez plus de l'ancien mot de passe, essayez de suivre le chemin via le privilège root: -
Arrêtez le service MySQL.
service mysql stop
Démarrez MySQL sans mot de passe ni vérification des permissions.
mysqld_safe --skip-grant-tables &
Se connecter à MySQL
mysql -u root mysql
Exécutez les commandes suivantes pour définir un nouveau mot de passe pour l'utilisateur root.
UPDATE user SET password=PASSWORD('NEW_PASSWORD') WHERE user='root';
FLUSH PRIVILEGES;
service mysql restart
La réponse marquée comme correcte est techniquement non correcte. Ubuntu 18.04 utilise des sockets pour les autorisations et non des mots de passe !!
Pour moi, la connexion était aussi simple que:
Sudo mysql -u root
Je pense que la personne responsable de cette "fonctionnalité" a vraiment laissé tomber la balle. Il aurait dû y avoir un message indiquant qu'Ubuntu n'utilisait plus les mots de passe pour tenter d'exécuter mysql. C'était un changement radical dans les fonctionnalités.
Je suis au courant de ce problème et lorsqu’il a été utilisé le 16.04, il n’est jamais arrivé ..__ Et en 18.04, j’ai simplement essayé de l’utiliser pour le résoudre.
Sudo mysql_secure_installation
Dans ce cas, je peux définir mon mot de passe, mais cela ne fonctionne pas
Et ce code ne résout pas le problème.
UPDATE user SET password=PASSWORD('NEW_PASSWORD') WHERE user='root';
J'ai aussi eu beaucoup de problèmes avec MySQL et MariaDB (Ubuntu 18.04). Je ne pouvais pas faire travailler MariaDB. J'ai tous les deux utilisé les instructions sur Comment supprimer de force MySQL et MariaDB d'Ubuntu 16.04, sans `apt-get` et` dpkg`?
$ dpkg --list|grep -i mysql
et
$ dpkg --list|grep -i mariadb
$ dpkg -remove --force-remove-reinstreq <package-list>
Ensuite, installez MySQL comme décrit dans https://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/
Fonctionne bien maintenant, même après un redémarrage. Je ne sais pas pourquoi cette solution n'est pas plus répandue!