HeidiSQL 9.0 released

ansgar posted 4 years ago in Anouncements
I'm proud to announce a new release with quite a few new things and tons of bugfixes.
Most important thing this time is the experimental support for connecting to PostgreSQL servers.

Get it from the download page.



Also noticable:
* Completely rewritten interface to plink.exe for SSH tunnel connections. Now supports dialogs which ask for trusting unknown host keys.
* Bind parameters in SQL queries. When your SQL query contains one or more ":myparam:" occurences, the right hand box offers to set a value for these parameters. Adrien, a former contributor from France, has developed this new feature.
* The "Find text on server" dialog now also works on MSSQL and PostgreSQL tables.
* The table editor now supports partitions, in a new read-only tab. That way, partitions a) can be seen by the user and b) get included in the CREATE TABLE code tab.
* Filter in data grid column selection
* Disable SQL hints on result tabs: Some users complained about the potentially huge tooltips on the tabs of a SQL query result. These quickly hide important parts of the result rows. If you're one of those annoyed users, you can now disable these tooltips with a new checkbox option in Tools > Preferences > Data appearance > "Popup SQL text over result tabs".
* Database selector: In a session configuration, you can restrict the databases to display. That was just a normal drop down menu previously. Now, you can check databases and uncheck them in a pulldown menu. Also, the connection used to get the names of all databases is recycled for each click, so only the first pull down click establishes a new (potentially slow) connection.
* The installer for HeidiSQL now uses localized messages in 23 different languages. Language is auto-selected by checking your Windows locale.
* The user manager now supports granting privileges for VIEWs. This was not allowed until now, because I misunderstood the MySQL documentation here. See the forum thread with alfiqmiq for details.
* Ask user to confirm unsafe UPDATEs/DELETEs in query tab before executing.
* Switch character set from utf8 to the fixed one called utf8mb4 in MySQL.
* Turn readme.txt into a more comprehensive online help document

... and even more:
* Support semicolons in MS SQL passwords
* Clone hostname for a cloned user
* Ask to close HeidiSQL processes while installing
* Check if all indexes have at least one column when creating or altering table to prevent creation of empty index
* Support primary keys with KEY_BLOCK_SIZE=xyz
* Allow disabling the creation of start menu icons in the installer
* Auto-uppercase data types of routine parameters
* Display filename with path in query tab hint
* Support changing active result tab per shortcut, Alt+Left and Alt+Right.
* Disable UNSIGNED and ZEROFILL checkboxes for BIT type columns
* Fix missing table alias on MSSQL2K
* Support query timeout on MSSQL and PostgreSQL. Make customizable per up/down scroller in "Advanced" tab of session manager.
* Add "Save as textfile" action, and include that in routine editor > "CREATE code" tab > context menu.
* Activate "Select all" action when it appears in a valid popup menu.
* Increase maximum port number from 2^16-1 (65535) to 2^31-1 (2147483647).
* Add a 32bit-only installer, for users who want the 32bit version on a 64bit Windows.
* Support searching for unformatted integers and floats in filter panel.
* Fix truncation of MSSQL routine body to 4000 characters, as a limitation of nvarchar(4000).
* Fix SynEdit's double minus comment bug
* Use prettier "Consolas" as default font for TSynMemo editors, when available, as an alternative to the old-stylish "Courier New".
* Fix SQL error when using "Quick filter" > "More values" in MSSQL and PostgreSQL.
* MSSQL: Return date/time string value as expected by server.
* Enable foreign keys editor on NDB cluster >= 7.3.x.
* Add support for geometry data types in PostgreSQL.
* Support renaming tables and views on PostgreSQL.
* Fix EStackOverflow in TSynHashEntry.AddEntry when adding too many table names.
* Include SQL_TABLE_VALUED_FUNCTION's in MSSQL object browsing
* Support DEFAULT clause in PostgreSQL table structure
* Keep compatibility with older MySQL servers when getting a trigger's CREATE CODE
* MSSQL: Return float values as expected by server.
* Introduce handling of stored functions in PostgreSQL: Displays functions in database browser, enables function editor and "run routine" button with argument handling.
* Add support for MSSQL datetime2 column type.
* Allow applying CURRENT_TIMESTAMP to DATETIME columns.
* Add "check/uncheck all" button to column selector in textfile import dialog.
* Add 64px, 128px and 256px versions to main icon.

... and for the nerds: the entire changelog
webbdev posted 4 years ago
I have a littel problem with version 9. I couldn't connect to mysql server because I take this error message: Connection using old (pre-4.1.1) authentication protocol refused (client option 'secure_auth' enabled)
ofoglada posted 4 years ago
I have the same problem. Worked fine before upgrade.
pamkil posted 4 years ago
I dont connect to MySql Server because error: Connection using old (pre-4.1.1) authentication protocol refused (client option 'secure_auth' enabled. HeidiSQL version: 9.0.0.4865 (64 Bit)
ansgar posted 4 years ago
This is most obviously due to the utf8mb4 charset which HeidiSQL uses from now on, and the newer libmysql which is shipped with the 9.0 release.

You can download an older libmysql in order to fix that:
32bit: https://heidisql.googlecode.com/svn-history/r4625/trunk/out/libmysql32.dll
64bit: https://heidisql.googlecode.com/svn-history/r4625/trunk/out/libmysql64.dll

You will need to overwrite the libmysql.dll in your HeidiSQL directory with one of the above files.
clmcavaney posted 4 years ago
Similar issues for me too.

Connection using old (pre-4.1.1) authentication protocol refused (client option 'secure_auth' enabled).
Version 9.0.0.4865 (64 Bit)
webbdev posted 4 years ago
Thank you! Working now!
clmcavaney posted 4 years ago
Yep - that works for me too. How will this be fixed in future releases?
ansgar posted 4 years ago
I'm afraid that cannot be fixed in the official releases, as I need to update libmysql from time to time, to get a new feature or to fix other things. In the case of v9.0, I did that update for getting support for the newer utf8mb4 charset.

Do you still work on a 3.x server ? The statistics on the heidisql.com start page show that's a really rare case.
mikey posted 4 years ago
I have the same issue on a 5.0.5a-server with an old db. Your libmysql.dll workaround fixes this problem.

Perhaps it would be possible to integrate an additional option in the future releases to use the older authentication protocol, according to the login-option "--secure-auth" (http://dev.mysql.com/doc/refman/5.6/en/server-options.html#option_mysqld_secure-auth) and other tools (http://www.joellipman.com/images/screenshots/mysql/manageserverconnections_uselegacyauth_2.png).

Thank you for your support and best regards.

ansgar posted 4 years ago
Ah, the problem is the new default value for the mysql option "secure_auth". The default is "true" in newer libmysql's. So I guess I just need to activate it again with such a line of code:
mysql_options(FHandle, MYSQL_SECURE_AUTH, False);

Will check that.
UltraDev posted 4 years ago
Thank you!
gastonnina posted 4 years ago
Thanks so much the Postgres integration works splendid this tool is better than pgadmin3
jsnull posted 4 years ago
The below resolved my problem .. thank you!

This is most obviously due to the utf8mb4 charset which HeidiSQL uses from now on, and the newer libmysql which is shipped with the 9.0 release.

You can download an older libmysql in order to fix that:
32bit: https://heidisql.googlecode.com/svn-history/r4625/trunk/out/libmysql32.dll
64bit: https://heidisql.googlecode.com/svn-history/r4625/trunk/out/libmysql64.dll

You will need to overwrite the libmysql.dll in your HeidiSQL directory with one of the above files.

ansgar posted 4 years ago
Hm. Seems I'm having no luck with either of these lines:
SecureAuth := False;
mysql_options(FHandle, MYSQL_SECURE_AUTH, 0);
mysql_options(FHandle, MYSQL_SECURE_AUTH, 1);
mysql_options(FHandle, MYSQL_SECURE_AUTH, PAnsiChar(SecureAuth));
mysql_options(FHandle, MYSQL_SECURE_AUTH, PAnsiChar(@SecureAuth));
mysql_options(FHandle, MYSQL_SECURE_AUTH, PAnsiChar('0'));

None of these seem to disable the secure_auth client option effectively.

Btw:
MYSQL_SECURE_AUTH = 18
ansgar posted 4 years ago
So, I have just downgraded the shipped libmysql.dll to the one from MySQL 5.6.6, which was the last version to have the secure_auth option disabled by default. See the v9.1 release.

Please login to leave a reply, or register at first.