Le site Web Oracle semble impliquer que cela ne fonctionne que sur les versions 15 et 14. http://dev.mysql.com/downloads/workbench/
De plus, deux de mes machines Ubuntu 16.04 ne semblent pas pouvoir se connecter (erreurs d'accès est refusée pour root)
Il s'installe bien. Il ouvre bien. Mais il ne se connectera pas à localhost.
Quelqu'un a de la chance?
MySQL 5.7 et supérieur ne supporte pas la connexion en tant que "racine" dans mysql-workbench
, vous devez donc créer un utilisateur normal et vous connecter via cela.
Sudo mysql -u root -p
Créez un utilisateur nommé "admin" et utilisez-le pour vous connecter dans mysql-workbench
.
CREATE USER 'admin'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;
Le problème est probablement dû au fait que l'authentification de socket est activée pour l'utilisateur root par défaut lorsqu'aucun mot de passe n'est défini, lors de la mise à niveau vers 16.04. Cette mise en garde importante est documentée dans la 16.04 notes de version :
Le comportement du mot de passe lorsque le mot de passe root MySQL est vide a changé. Le packaging permet désormais l’authentification de socket lorsque le mot de passe root MySQL est vide. Cela signifie qu'un utilisateur non root ne peut pas se connecter en tant qu'utilisateur root MySQL avec un mot de passe vide.
Pour une raison quelconque, MySQL Workbench fourni avec 16.04 ne fonctionne pas immédiatement avec le serveur MySQL, du moins pour moi. J'ai essayé d'utiliser "Local Socket/Pipe" pour vous connecter de différentes manières, mais en vain.
La solution consiste à revenir à l'authentification par mot de passe natif. Pour ce faire, connectez-vous à MySQL à l'aide de l'authentification de socket en effectuant:
Sudo mysql -u root
Une fois connecté:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
qui reviendra à l'authentification par mot de passe native (ancien paramètre par défaut). Si vous avez essayé une autre méthode pour résoudre le problème, assurez-vous que le champ "plug-in" de mysql.user est défini sur "auth_token", ce qui peut nécessiter l'utilisation de mysqld_safe pour vous connecter à MySQL si vous le souhaitez. J'ai bricolé avec des choses, comme je l'ai fait.
Merci à publication du blog de Miguel Nieto pour cette solution.
Cette question a peut-être deux ans, mais mon travail avec mysql-workbench ce soir semble m'avoir apporté la réponse.
l'utilisateur root utilise maintenant l'authentification auth_socket par défaut. La seule manière dont root peut accéder est d’être connectée en tant que root.
J'ai découvert ceci en exécutant mysql -u root
à la fois en tant qu'utilisateur root et utilisateur standard.
Cela ne fonctionnerait pas sous un utilisateur standard.
Donc, ma question suivante était la suivante: sous quel utilisateur mysql-workbench est-il exécuté? Il s'avère qu'il fonctionne par défaut en tant qu'utilisateur standard. Pour l'exécuter en tant qu'utilisateur root, il doit être exécuté à partir de la racine. Je suis donc allé dans la CLI de l'utilisateur racine et tapez 'mysql-workbench'.
Je devais ensuite entrer dans les paramètres de l'utilisateur root, comme indiqué ici. L'emplacement du fichier est valide pour une installation d'ubuntu 18.04.
Si cet emplacement de socket n'est pas valide, vous devez accéder à la CLI mysql à partir de root ou de Sudo et exécuter la commande suivante.
Une fois les paramètres corrects définis, testez la connexion. Cela devrait être réussi et vous êtes prêt à partir.
Cela fonctionne bien pour moi et je n'ai rien fait de spécial. Installez mysql-server-5.7
et workbench à partir de la ligne de commande et configurez un utilisateur avec un mot de passe et définissez les autorisations de base de données normales (également avec la méthode normale).
Et avec une base de données et une table:
Créez un compte utilisateur doté des privilèges d'administrateur appropriés, pouvant se connecter via mysql workbench à l'aide du plugin auth_socket. Notez que cela ne marche pas pour les connexions root au serveur mysql .
Connectez-vous à mysql à partir d'une session de terminal:
$Sudo mysql
Si vous pouvez le faire, le plug-in auth_socket est activé et le compte root s'authentifie à l'aide de ce plug-in. Notez qu'il s'agit de la configuration par défaut lors de l'installation de mysql sur ubuntu après avoir exécuté le script d'installation sécurisée.
Commencez par créer un utilisateur mysql pour votre compte 'valerie':
mysql> CREATE USER 'valerie'@'localhost' IDENTIFIED WITH auth_socket;
Activer les privilèges administratifs pour le compte:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'valerie'@'localhost' WITH GRANT OPTION;
Sortez du shell:
mysql> exit
Puis dans mysql workbench:
Vous devriez pouvoir ensuite vous connecter au serveur mysql avec cette connexion.
Serveur MySQL sur l'hôte AWS exécutant Ubuntu 16.04; mysql-workbench sur un ordinateur portable Ubuntu 16.04; utilise la connexion KeyPair.
Après avoir configuré la connexion à la base de données Test, la connexion fonctionnait. Mais la connexion réelle a toujours échoué avec un message comme celui posté par Jonathan Leaders. A vérifié le journal à ~/.mysql/workbench/log
et a trouvé quelques "permission refusée".
Maintenant, je peux utiliser mysql-workbench avec: Sudo mysql-workbench
Et plus tard, je peux utiliser chmod
les répertoires nécessitant une autorisation.