Mysql workbench unable to connect to localhost

Oracle website seems to imply it only works on 15 and 14. http://dev.mysql.com/downloads/workbench/

Also two of my Ubuntu 16.04 machines don't seem to be able to connect (Access is Denied errors for root)

Mysql workbench unable to connect to localhost

It installs okay. It opens okay. But it won't connect to localhost.

Anyone have any luck?

asked May 16, 2016 at 23:34

JonathanJonathan

3,5944 gold badges27 silver badges48 bronze badges

5

The issue is likely due to socket authentication being enabled for the root user by default when no password is set, during the upgrade to 16.04. This important caveat is documented in the 16.04 release notes:

Password behaviour when the MySQL root password is empty has changed. Packaging now enables socket authentication when the MySQL root password is empty. This means that a non-root user can't log in as the MySQL root user with an empty password.

For whatever reason, the MySQL Workbench that came with 16.04 doesn't work out of the box with MySQL server, at least for me. I tried using "Local Socket/Pipe" to connect in a number of different ways but to no avail.

The solution is to revert back to native password authentication. You can do this by logging in to MySQL using socket authentication by doing:

sudo mysql -u root

Once logged in:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

which will revert back to the native (old default) password authentication. If you've attempted some other method to fix the issue, you'll want to make sure the "plugin" field in mysql.user is set to "auth_token", which may require using mysqld_safe to log in to MySQL in the event you've been tinketing with things, like I did.

Credit to Miguel Nieto's blog post for this solution.

answered Jun 3, 2016 at 1:46

Mike MMike M

6114 silver badges2 bronze badges

7

MySQL 5.7 and up don't support connecting as "root" in mysql-workbench so you must create a normal user and connect via that.

sudo mysql -u root -p

Create a user named "admin" and use that to connect in mysql-workbench.

CREATE USER 'admin'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;

answered Jul 1, 2016 at 21:55

JonathanJonathan

3,5944 gold badges27 silver badges48 bronze badges

7

This question might be two years old but my work with mysql-workbench tonight seems to have given me the answer to it.

root user now users auth_socket authentication by default. The only way root can gain access is by being logged in as root.

I found this out by running mysql -u root both as root user and standard user.

It would not work under standard user.

So my next question was - what user does mysql-workbench run as. Turns out it runs as standard user by default. To get it to run as root user it has to be run from root. So I went into root user CLI and type 'mysql-workbench'.

I then had to go into the settings for the root user as shown here. The file location is valid for an ubuntu 18.04 installation.

Mysql workbench unable to connect to localhost

If that socket location is invalid then you'll need to go into the mysql CLI from root or sudo and run the following command.

Mysql workbench unable to connect to localhost

After you have the correct settings test the connection. It should be successful and you're ready to go.

Mysql workbench unable to connect to localhost

abu_bua

9,79510 gold badges37 silver badges59 bronze badges

answered Sep 26, 2018 at 14:36

2

Create an user account with appropriate administrative privileges that can connect via mysql workbench using the auth_socket plugin. Note that this does not work for root connections to the mysql server.

Logon to mysql from a terminal session:

$sudo mysql

If you are able to do this then the auth_socket plugin is enabled and the root account is authenticating using this plugin. Note that this is the default setup when installing mysql on ubuntu after having run the secure installation script.

First create a mysql user for your account 'valerie':

mysql> CREATE USER 'valerie'@'localhost' IDENTIFIED WITH auth_socket;

Enable administrative privileges for the account:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'valerie'@'localhost' WITH GRANT OPTION;

Exit the shell:

mysql> exit

Then in mysql workbench:

  1. Create a new connection
  2. Select the connection method as Local Socket/Pipe
  3. Set the Socket/Pipe Path to: /var/run/mysqld/mysqld.sock (note that this is the path for a Debian / Ubuntu system and changes for other flavors of Linux)
  4. Set the username ('valerie' in this example)

You should be able to then connect to the mysql server with this connection.

answered Aug 19, 2018 at 4:31

DavidDavid

311 bronze badge

Try this

select mysql database

use mysql;
UPDATE user set plugin='mysql_native_password' where User='root';
flush privileges;
exit;

Then

sudo service mysql restart

Mysql workbench unable to connect to localhost

zx485

2,14311 gold badges23 silver badges31 bronze badges

answered Jul 21, 2019 at 20:25

Works fine for me and I did nothing special. Installed mysql-server-5.7 and workbench both from command line and set up a user with a password and set up the normal database permissions (also with the normal method).

Mysql workbench unable to connect to localhost

And with a database and table:

Mysql workbench unable to connect to localhost

answered May 18, 2016 at 20:01

RinzwindRinzwind

282k39 gold badges546 silver badges685 bronze badges

1

If you are getting this error in Workbench then follow this steps.

First simply log in with your current password:

sudo mysql -u root -p

Then change your password because having low strength password gives error sometimes.

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new-strong-password';

FLUSH PRIVILEGES;

Then simply exit and again login with your new password:

quit

sudo mysql -u root -p

Once you successfully logged in type the command:

use mysql;

It should show a message like 'Database changed' then type:

UPDATE user SET plugin='mysql_native_password' WHERE User='root';

After that type:

UPDATE mysql.user set authentication_string=PASSWORD('new-strong-password') where user='root';

Then type:

FLUSH PRIVILEGES;

Then simply exit:

quit

Now try to log in with your new password in your WORKBENCH. Hope it will work. Thank you.

answered Apr 17, 2020 at 16:52

Mysql workbench unable to connect to localhost

I had the same problem on newly installed 21.04 Ubuntu, after trying all these methods that didn't quite work.

I tried to go into settings and allowed all the permissions and it worked for some reason.

Mysql workbench unable to connect to localhost

Mysql workbench unable to connect to localhost

Greenonline

1,7508 gold badges18 silver badges27 bronze badges

answered Oct 12, 2021 at 10:43

Mysql workbench unable to connect to localhost

2

Open terminal of your ubuntu system and enter below code,

In my ubuntu 20.04 os system it works fine, able to enter password and workbeanch working fine.

sudo snap connect mysql-workbench-community:password-manager-service :password-manager-service

answered Jun 20 at 17:45

Mysql workbench unable to connect to localhost

1

MySQL server on AWS host running Ubuntu 16.04; mysql-workbench on Ubuntu 16.04 laptop; uses KeyPair connection.

After setting up Test db connection was working. But the actual connection always failed with a message like the one posted by Jonathan Leaders. Checked the log at ~/.mysql/workbench/log and found a few "permission denied" messages.

Now I can get mysql-workbench to work with: sudo mysql-workbench

And later I can go and chmod the directories needing permission.

Kevin Bowen

18.9k55 gold badges73 silver badges80 bronze badges

answered Mar 4, 2017 at 7:22

1

I ran this command and it fixed my issue:

sudo snap connect mysql-workbench-community:password-manager-service :password-manager-service

Thanks to Jos for his answer here

answered Nov 16, 2021 at 16:05

Al FahadAl Fahad

2631 gold badge2 silver badges10 bronze badges

How do I connect to a local host in MySQL Workbench?

Launch the MySQL Workbench from the desktop. Click the Local instance MySQL80 button, and click Connect to begin the configuration process. When prompted, enter in the MySQL server root password which was created during the MySQL installation process. Optionally, you may check the Save password in vault check box.

How do you fix MySQL can't connect to localhost?

Note: Stop the XAMPP server before following the steps..
Step 1: Reconfigure MySQL server to port 3306. Click Start and open MySql installer - community. ... .
Step 2: Reconfigure XAMPP to use a different port other than 3306. Open XAMPP and change the port other than 3306 in two files..

Can not connect MySQL Workbench?

Check that MySQL is running on address localhost. Check that MySQL is reachable on port 3306 (note: 3306 is the default, but this can be changed). Check the user root has rights to connect to localhost from your address (MySQL rights define what clients can connect to the server and from which machines).