Before I get into details, there are at least a couple of questions that seem to address the same problematic behavior, but the answers given to the questions don't apply in my situation, which I will explain. Here are the questions whose answers don't apply:
- Mysql, Sequel Pro: access denied, but connecting with terminal is OK
- MySQL access denied error when connecting via SSH tunnel
I'm using Sequel Pro (1.1.2) from a new computer, Mac OS 10.14 (Mojave). I've tried to set up a MySQL connection via ssh to a server I work with regularly, and I'm getting the following error:
Unable to connect to host HOSTNAME because access was denied. Double-check your username and password and ensure that access from your current location is permitted. MySQL said: Access denied for user 'USERNAME'@'localhost' (using password: YES)
As an added detail, I'm using SSL publickey authentication, rather than password authentication.
What isn't the problem
The answers provided to the questions I mentioned at the beginning aren't applicable because I still have the exact same Sequel Pro configuration running successfully on my older Mac (El Capitan, 10.11.4). In other words, it has nothing to do with the MySQL configuration on the remote server, or the permissions granted to the user, or the specific configuration details I'm giving to Sequel Pro, because I'm successfully connecting to the same server with the same user on the old computer.
The only difference between the two configurations is that I'm using a new SSL key on the Mojave computer, one without a passphrase, because Keychain doesn't store passphrases the same way anymore. I initially tried using the original SSL key (with passphrase), which didn't work... but for different reasons.
And yes, the new SSL key works fine... I can SSH to the destination server just fine from the Mojave command line using the new key.
What's more, I've confirmed that the SSH connection to the remote server isn't itself the problem -- I changed the "SSH User" field in Sequel Pro to a dummy user that doesn't exist, and I got a different error:
The SSH Tunnel could not authenticate with the remote host. Please check your password and ensure you still have access.
That suggests that the problem is with the MySQL connection once the tunnel is established... but with the same configuration producing different results from different computers, it doesn't make sense that it would be a problem on the server.
So the problem must be in how the operating system is allowing Sequel Pro to create and use an SSH tunnel... right?
Why I'm stuck
I don't know how to find a solution to this problem, nor do I know (with certainty) where to look to identify the problem.
- I can't figure out how to get a console log from Sequel Pro before the connection is established, in order to compare exactly what's happening behind the scenes on the respective computers. But since it's the same version of the software in both cases... it doesn't seem probable to me that this would be where the discrepancy is appearing
- I don't know my way around SSH tunneling confidently enough to be able to manually recreate the situation without Sequel Pro in the way
- I'm about 3 days new to Mojave, and I don't yet know/understand what might have changed between El Capitan and Mojave that would introduce new variables
Actual error log from Sequel Pro on the new computer
... Sequel Pro is driving me crazy because it only rarely provides a "Details" button on the failed-connection dialog box. If I manage to get that option again, I will update this question with the log. Of course, if anyone knows how to force Sequel Pro to show the details of the attempted connection and subsequent error, please let me know and I will do so.
Any insight/help on this problem will be greatly appreciated.
I successfully opened an SSH tunnel to the remote server, and was able to connect to the MySQL server using the
mysql-shell client on the Mojave computer. So the problem seems to be Sequel Pro simply refusing to work on the latest OS X. I was afraid this would be the problem.
I've now also tried MySQL Workbench, and it's behaving the same as Sequel Pro: same errors, whether using the built-in SSH tunnelling, or simply using the tunnel created at the command line. Is there maybe something in Mojave that's causing these MySQL gui clients to fail?
If anyone has any other free Mac-based MySQL client suggestions, I'll happily check them out...