Mot de passe par défaut de mysql sous ubuntu server 16.04
J'ai installé ubuntu 16.04 serveur. Le serveur Mysql est installé par défaut en elle. Lorsque j'essaie d'accéder à la base de données mysql avec mysql -u root -p
, je ne peux pas me connecter à mysql car je n'ai pas le mot de passe. Est-il un mot de passe par défaut?
J'ai aussi essayé avec --skip-grant-tables
, même si cela ne fonctionne pas. Même en essayant de se connecter avec juste mysql -u root
est un échec.
- De bien vouloir approuver la réponse qui résout votre requête, de sorte qu'il aide la communauté.
- Je viens de poster un nouveau TRAVAIL réponse à ce problème. Aucun des autres conseils a été de travailler avec moi sur 18.04. stackoverflow.com/questions/33991228/...
- Double Possible de qu'est-Ce que la racine par défaut mot de passe pour MySQL 5.7
- si vous trouvez ma réponse pour être utile, je vais apprécier si vous acceptez ma réponse.. merci!
Vous devez vous connecter pour publier un commentaire.
C'est ce que vous êtes à la recherche pour:
sudo mysql --defaults-file=/etc/mysql/debian.cnf
MySql sur Debian de base de Linux l'habitude d'utiliser un fichier de configuration contenant les informations d'identification.
Mysql par défaut à la racine de l'utilisateur du plug-in d'authentification comme
auth_socket
, qui exige que le système de nom d'utilisateur de base de données et le nom d'utilisateur est le même.Spécifiquement, connectez-vous en tant que superutilisateur ou
sudo -i
et il suffit de tapermysql
et vous serez connecté en tant que mysqlroot
, vous pouvez créer d'autres utilisateurs.Si vous n'avez pas une racine de l'hôte, je suppose que vous ne devrait pas être autorisé à se connecter à mysql en tant que root?
J'ai eu une nouvelle installation de
mysql-server
sur Ubuntu 18.10 et je ne pouvais pas la connexion avec un mot de passe par défaut. Ensuite seulement, je suis arrivé à savoir que, par défaut, la racine de l'utilisateur est authentifié à l'aide deauth_socket
. Donc, comme dans la réponse lorsque le plugin modifié pourmysql_native_password
, nous pouvons utiliser mysql mot de passe par défautVous pouvez trouver les lignes suivantes dans il
Alors:
tapez le mot de passe à partir de debian.cnf
Soit:
Ou:
//Pour MySQL 5.7+
--Update--
Parfois, vous aurez besoin de redémarrer votre serveur mysql.
ou
sudo service mysql restart
Vous pouvez il suffit de réinitialiser le mot de passe root en exécutant le serveur avec l'option --skip-grant-tables et connexion sans mot de passe en exécutant la commande suivante en tant que root ou avec sudo:
update user set plugin="mysql_native_password";
après laupdate user
ligne).Bien que c'est une vieille question, il y a plusieurs d'entre nous ont encore du mal à trouver une réponse. Au moins je l'ai fait. S'il vous plaît ne pas suivre tout le long des solutions de. Vous pouvez tout simplement vous connecter à votre serveur mysql en tant que root sans fournir de mot de passe (il s'agit d'une nouvelle installation ou que vous n'avez pas changé le mot de passe depuis votre installation) par l'ajout de sudo avant votre commande mysql.
$sudo mysql -uroot -p
mysql>
C'est parce que mysql a changé le modèle de sécurité dans l'une des dernières versions.
Espère que cette aide
sudo mysqld_safe --skip-grant-tables --skip-networking &
mysql -u root
essayez de cette façon,j'ai résolu mon problème avec cette méthode.
Je pense à un autre endroit à regarder est
/var/lib
.Si vous y allez, vous pouvez voir trois mysql dossiers avec 'intéressant' autorisations:
Voici ce que j'ai fait pour résoudre mon problème avec le mot de passe root:
après l'exécution de
J'ai aussi couru le suivant (au lieu de my_username mettre la vôtre):
Et puis:
qui m'a incité à choisir un nouveau mot de passe root.
J'espère que cela aide
Simplement exécuter
sudo dpkg-reconfigure mysql-server-5.7
Vous pouvez trouver la version que vous avez installé en exécutant
dpkg --get-selections | grep mysql-server
comme @BeNiza dit, ils ont changé le modèle de sécurité. Je n'ai étapes suivantes, et il fonctionne pour mysql 5.7.27 sur ubuntu 18.04
sudo apt install mysql-server
La base de données MySQL logiciel est maintenant installé, mais sa configuration n'est pas encore terminée.
Pour sécuriser l'installation, MySQL est livré avec un script qui va nous demander si nous voulons modifier une certaine insécurité par défaut. Lancer le script en tapant:
sudo mysql_secure_installation
vous devez appuyer sur la touche Y et a frappé le ENTRÉE clé à chaque invite.
Vous suffit de vous connecter à votre serveur mysql en tant que root sans fournir de mot de passe en ajoutant sudo avant votre commande mysql.
sudo mysql
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your-password';
Si vous définissez un mot de passe faible, vous les verrez le message d'erreur suivant:
mysql> FLUSH PRIVILEGES;
mysql> exit
Après avoir entré le mot de passe que vous venez de créer, vous verrez l'invite MySQL.