Bug #98742 MySQL Workbench 8.x fails to connect
Submitted: 25 Feb 2020 21:51 Modified: 20 Mar 2021 21:38
Reporter: Steve Emmett Email Updates:
Status: Can't repeat Impact on me:
None 
Category:MySQL Workbench Severity:S3 (Non-critical)
Version:8.x OS:MacOS (11.2.3)
Assigned to: CPU Architecture:Any
Tags: WBBugReporter

[25 Feb 2020 21:51] Steve Emmett
Description:
----[For better reports, please attach the log file after submitting. You can find it in /Users/semmett/Library/Application Support/MySQL/Workbench/log/wb.log]
MySqlWorkbench 6.x connects fine to a MySql database.  I installed MySqlWorkbench 8.x (all of them through 8.0.19!) and none of them will connect to the MySql database that MySqlWorkbench 6.x will.  

The error received for the attempt to connect to the database using MySqlWorkbench 8.x is 

"Failed to Connect to MySQL using local socket/pipe at "Applications/MAMP/tmp/muysql/mysql.sock" with user steve.  wrong or unknown protocol.

Connect is successful using MySqlWorkbench 6.x.

How to repeat:
I am using MacOS 10.15.3 (but also failed using 10.14.x).

Install 8.x version of MySqlWorkbench.  Accept update/upgrade notices during upgrade.  Launch MySqlWorkbench 8.x.  Select "Manage Server Connections".  Select named connection that is also in the MySqlWorkbench 6.x version.  Select "Test Connection."  Fails with message shown above
[3 Mar 2020 17:56] Nate Kliphan
I'm having the same problem on Manjaro Linux when attempting to connect to a database created by the tool "Local by Flywheel". I can connect through the terminal with the command "mysql -u root -p -h localhost -S /home/omod/.config/Local/run/ouZPi5aP1/mysql/mysqld.sock" but when I try to setup a "Local Socket/Pipe" connection in MySQL Workbench (v8.0.19) I have similar errors. The following is the contents of wb.log:
"12:50:11 [ERR][SQL Editor Form]: SqlEditorForm: exception in do_connect method: Exception: Wrong or unknown protocol
12:50:11 [ERR][  GRTDispatcher]: exception in grt execute_task, continuing: Exception: Wrong or unknown protocol
12:50:11 [ERR][  GRTDispatcher]: worker: task 'execute sql queries' has failed with error:.Wrong or unknown protocol
12:50:11 [ERR][    WQE backend]: Got an exception during connection: Wrong or unknown protocol
12:50:11 [ERR][SQL Editor Form]: SQL editor could not be connected: Wrong or unknown protocol
12:50:11 [ERR][SQL Editor Form]: Your connection attempt failed for user 'root' to the MySQL server at 127.0.0.1:NULL:
  Wrong or unknown protocol

Please:
1 Check that MySQL is running on address 127.0.0.1
2 Check that MySQL is reachable on port NULL (note: 3306 is the default, but this can be changed)
3 Check the user root has rights to connect to 127.0.0.1 from your address (MySQL rights define what clients can connect to the server and from which machines) 
4 Make sure you are both providing a password if needed and using the correct password for 127.0.0.1 connecting from the host address you're connecting from"

Based on those errors it appears that MySQL Workbench is ignoring the socket connection and is trying to use TCP/IP instead.
[17 Mar 2020 12:28] MySQL Verification Team
WorkBench connected

Attachment: 98742.png (image/png, text), 830.83 KiB.

[17 Mar 2020 12:30] MySQL Verification Team
Thank you for the bug report. I couldn't repeat the behavior reported, see prior attached screen-shot.
[19 Apr 2020 21:47] Gary McPherson
I am able to reproduce this bug, running a fresh install of Workbench 8.0.19 on macOS 10.14.6. I am unable to connect to databases via socket connection strings that work fine in Sequel Pro.

Sample log output (log level debug3) is as follows:
22:25:29 [DB1][ mforms backend]: Looking up password for 'root'@'Mysql@local:/Users/gary/Library/Application Support/Local/run/lZkcvmunE/mysql/mysqld.sock' has failed
22:25:29 [DB3][    WQE backend]: Connecting SQL editor...
22:25:29 [DB3][       GRT task]: Sending task "execute sql queries" to dispatcher (wait)...
22:25:29 [DB1][  GRTDispatcher]: starting worker thread
22:25:29 [DB1][  GRTDispatcher]: worker thread running
22:25:29 [DB3][  GRTDispatcher]: Running task "execute sql queries"
22:25:29 [DB2][SQL Editor Form]: Notifying server state change of Mysql@local:/Users/gary/Library/Application Support/Local/run/lZkcvmunE/mysql/mysqld.sock to running
22:25:29 [ERR][SQL Editor Form]: SqlEditorForm: exception in do_connect method: Exception: Wrong or unknown protocol
22:25:29 [ERR][  GRTDispatcher]: exception in grt execute_task, continuing: Exception: Wrong or unknown protocol
22:25:29 [DB3][  GRTDispatcher]: Task "execute sql queries" finished
22:25:29 [ERR][  GRTDispatcher]: worker: task 'execute sql queries' has failed with error:.Wrong or unknown protocol
22:25:29 [ERR][    WQE backend]: Got an exception during connection: Wrong or unknown protocol
22:25:29 [DB2][ mforms backend]: Forgetting cached password for 'root'@'Mysql@local:/Users/gary/Library/Application Support/Local/run/lZkcvmunE/mysql/mysqld.sock'
22:25:29 [DB2][  GRTDispatcher]: Main thread waiting for background thread to finish
22:25:29 [DB3][  GRTDispatcher]: Running task "Terminate Worker Thread"
22:25:29 [DB3][  GRTDispatcher]: Null task found. Terminating worker thread...
22:25:29 [DB1][  GRTDispatcher]: worker thread exiting...
22:25:29 [DB2][  GRTDispatcher]: Background thread finished
22:25:29 [ERR][SQL Editor Form]: SQL editor could not be connected: Wrong or unknown protocol
22:25:29 [ERR][SQL Editor Form]: Your connection attempt failed for user 'root' to the MySQL server at :NULL:
  Wrong or unknown protocol

Please:
1 Check that MySQL is running on address 
2 Check that MySQL is reachable on port NULL (note: 3306 is the default, but this can be changed)
3 Check the user root has rights to connect to  from your address (MySQL rights define what clients can connect to the server and from which machines) 
4 Make sure you are both providing a password if needed and using the correct password for  connecting from the host address you're connecting from
[19 Apr 2020 22:26] Gary McPherson
Additionally, after seeing the original report, I uninstalled Workbench 8.0.19 and installed 6.3.10. All my previously failing connections were recognised and worked immediately without any further modifications.

Please unmark as "Can't repeat", this is a bug.
[12 May 2020 6:18] Wendong Li
I'm experiencing the same issue.

The same connection works fine on v6.3.10 but failed on v8.0.20.

Error message popped up in "Test Connection":
--
Failed to Connect to MySQL at xx.xx.xx.xx:3306 with user xxx
Access denied for user 'xxx'@'xx.xx.xx.xx:56011' (using password: YES)
--

The issue seems to be specific to certain kind of connections. It doesn't happen on all my connections.

Really hope someone can look into this. It blocks us from applying the new versions.
[21 May 2020 8:43] Juan Martin Diaz
I have the same problem on Ubuntu 20.04.

05:32:56 [ERR][SQL Editor Form]: SqlEditorForm: exception in do_connect method: Exception: Wrong or unknown protocol
05:32:56 [ERR][  GRTDispatcher]: exception in grt execute_task, continuing: Exception: Wrong or unknown protocol
05:32:56 [ERR][  GRTDispatcher]: worker: task 'execute sql queries' has failed with error:.Wrong or unknown protocol
05:32:56 [ERR][    WQE backend]: Got an exception during connection: Wrong or unknown protocol
05:32:56 [ERR][SQL Editor Form]: SQL editor could not be connected: Wrong or unknown protocol
05:32:56 [ERR][SQL Editor Form]: Your connection attempt failed for user 'ME' to the MySQL server at localhost:NULL:
  Wrong or unknown protocol

Please:
1 Check that MySQL is running on address localhost
2 Check that MySQL is reachable on port NULL (note: 3306 is the default, but this can be changed)
3 Check the user ME has rights to connect to localhost from your address (MySQL rights define what clients can connect to the server and from which machines)
4 Make sure you are both providing a password if needed and using the correct password for localhost connecting from the host address you're connecting from
[21 Jul 2020 5:39] Gilbert Consellado
Experiencing this same bug on manjaro and pop-os, from version 8.0.19 and up. But I was able to connect on version 8.0.18 in pop-os.

HOW TO REPRODUCE.
1. enable auth_socket if it is not enable.
2. create user using auth_socket.
3. Add new connection using 'Local Socket/Pipe'.
4. Fill up the username, leaving out the password.

Result: 'Failed to Connect to MySQL using local socket/pipe at "/run/mysqld/mysqld.sock" with user gc','Wrong or unknown protocol'.

Please view the attached image below.
[21 Jul 2020 5:41] Gilbert Consellado
Unable to connect using local socket pipe

Attachment: Screenshot_20200721_133613.png (image/png, text), 60.80 KiB.

[20 Mar 2021 21:38] Steve Emmett
This is still obviously a bug since there are multiple instances of other persons not being able to connect with version 8.x but can connect with version 6.x.

Will this be addressed or should we just give up on being able to upgrade to 8.x?
[6 Nov 2021 5:07] Galen WW
From what I've been able to test, this affects MySQL Workbench 8.0.19-8.0.21 on MacOS 10.14. I cannot test later versions of MySQL Workbench, and 8.0.16 and 8.0.18 were able to connect without error on my system. It may be a coincidence (considering others have reported it on other Unixen), but 8.0.19 and later target Catalina.

Comparing the logs from 8.0.18 and .19 & .21, the difference in them can be boiled down to:

< [INF][SQL Editor Form]: Opened connection 'localhost' to Source distribution version 5.6.51-log
< [DB3][    WQE backend]: Connection to SQL editor succeeded
> [ERR][SQL Editor Form]: SqlEditorForm: exception in do_connect method: Exception: Wrong or unknown protocol
> [ERR][  GRTDispatcher]: exception in grt execute_task, continuing: Exception: Wrong or unknown protocol

The above was found by first creating copies of the logs before and after attempting to connect, then extracting the log entries generated during that period, then comparing the portions from the two versions of MySQL workbench (full logs will be attached later). There are following lines that also differ, though contain no helpful information (the .18 logs just proceed with UI setup, and the .19 & .21 repeat the "Wrong or unknown protocol" error from various places). Not much help there.

Entering a nonexistent socket path (e.g. "/nonexistent") in the buggy versions of Workbench produce the same error, while doing so in 8.0.18 produces the error:

> Can't connect to local MySQL server through socket '/nonexistent' (2)

The latter error is what you'd expect; the former is not.

Considering that when originally tested, the bug was reported as applying to version 8.x and MacOS Big Sur, the MySQL Verification Team likely tested a platform that wasn't experiencing the bug. As such, the bug should be re-opened. As it may only be present in older versions of Workbench, the developers may be hesitant to do so, but there are plenty of folks who can only use these older versions, so new fixed releases would be helpful.

System info:
* MacOS 10.14.6
* MySQL 5.6 (installed via MacPorts)
[6 Nov 2021 5:20] Galen WW
Verbose logs copied before & after connecting in Workbench 2.0.18 & 2.0.21.

Attachment: logs.tar.bz2 (application/x-bzip2, text), 6.01 KiB.