PhpStorm "No appropriate protocol" Database Error
We recently started migrating from MySQL Workbench to use PhpStorm's internal database integration. In doing so we came across a rather cryptic error:
The last packet successfully received from the server was 200 milliseconds ago. The last packet sent successfully to the server was 184 milliseconds ago.
No appropriate protocol (protocol is disabled or cipher suites are inappropriate).
Googling this gives a couple of results but nothing specific. PhpStorm is written in Java however and the same fix applies The solution is simply to add ?enabledTLSProtocols=TLSv1.2
to the end of the URL connection string:
It should be noted that the real solution here is to upgrade the database to MySQL 8. Easier said than done of course.
Why The Migration?
In short we got bored Workbench's semi-frequent and seemingly random crashes. Especially when it happened part way through doing some important database manipulation. Its UI/UX leaves a lot to be desired too. Trying to select but not edit a field (so you can right-click it for example) requires a whole sequence of clicks and keystrokes...
The biggest benefit comes from PhpStorm's introspection. It can read the database's structure and autocomplete field names, correct typos etc.
We can also commit the .idea/dataSources.xml
file. This means the database configuration will be shared with everyone who clones the repo. It should be noted this doesn't contain any passwords. Those are stored elsewhere.