Due to summer vacations – yes, even we take some time off – our release-cycle has slowed down quite a bit so it has already been more than 4 weeks since we aired an update of Workbench. Right in the middle of testing and preparing the next build, our build-server has raised the white flag. Looks like the cooling system above the unit decided, that its too hot, and put a cold shower right down on our machine. Our engineers are quickly gathering some new iron and we are meanwhile preparing the build manually this time. There are a few bugs remaining but next package will be ready soon and we put it on our download servers – so stay tuned for the next Workbench 5.0 release.
Quite a few Blog postings pop up recently, let me outline two of them.
Gerry Narvaja talks about multi-page printing by using the MySQL Workbench community edition utilizing the PDF output. Find his posting here.
Weizh posted a nice step-by-step tutorial on how to use Workbench to show differences between two databases. Find it here.
Both workflows get you what you want by using the Community Edition. For those of you who want everything on a silver plate there is the Standard Edition of course, which simplifies these tasks even more.
On a side note: To get more information about the printing topic Gerry joined us on our IRC #workbench channel on irc.freenode.net. Somebody from the team usually hangs out there from 10:00 am European time till 18:00 EST. Don’t be shy and join us there if you have a WB-related question. We might also be able to answer general MySQL questions but the better channel for that is #mysql. For more information see this page.
A common misunderstanding seems to be that the only way to increase the available “paper space” for a diagram is by increasing the size of the paper. But there is another way to do that, which is in the Model -> Diagram Size dialog, where you can set the number of pages your diagram has, vertically and horizontally (perhaps it’s not very obvious to first time users, so we’ll be working on making it more easily accessible).
Another recurring issue is that of printing in the community version. Direct printing is currently only available in Workbench SE, but that doesn’t mean you cannot print using the OSS version. You can still export the model to a variety of formats, like PDF, PNG and SVG. And once you export as an image you can print it with any tool that can handle such files, like Acrobat Reader or something similar.
We introduced a new library to use with our update-feature inside Workbench. With the new lib (yassl) it’s possible to use SSL encryption for the authentication/download of new SE releases. This was not possible with libcurl because we’re not allowed to use/bundle openSSL. As this update is included staring with 5.0.22 all SE users will have to download version 5.0.22 manually from the enterprise pages one more time. Please logon to https://enterprise.mysql.com/software/gui_tools.php with your mysql username and password, download the latest release and launch the installer manually. Sorry for the inconvenience.
The new MySQL Workbench version 6.2 has its usual share of new features but also brings some big improvements that will be very welcome even to long time users that only need the bread and butter basic functionality. Here’s the list:
Spatial Data Viewer
MySQL 5.7 will include much awaited GIS support for InnoDB tables. To make it easier to quickly visualize spatial/geometry data in geographic context, Workbench 6.2 includes a viewer for resultsets containing that type of data. The viewer will render data from each row as a separate clickable element. When clicked, you can view the rest of the data from that row in the textbox. If you have multiple queries with geometry data, you can overlay them in the same map.
Geometry Data Viewer
Both the Field and Form Editors were updated to support the GEOMETRY datatype. You can view geometry data like polygons from a single row as an image or as text, in any of the common WKT, GeoJSON, GML or KML formats.
MS Access Migration
MS Access support was added to the Migration Wizard in MySQL Workbench 6.2, joining MS SQL Server, Sybase ASE, Sybase SQL Anywhere, PostgreSQL, SQLite and “Generic ODBC” as migration sources. You can read more about it in How-To: Guide to Database Migration from MS Access using MySQL Workbench.
Metadata Lock Browser
MySQL uses metadata locking to manage access to objects (tables, triggers, and so forth). Sometimes that can be puzzling, as your query may block waiting on an object being manipulated by another connection from maybe another user. The Client Connections list was updated to take advantage of the metadata lock information provided in the performance_schema starting in MySQL 5.7.3, to show information about what locks a connection is waiting for and what it holds.
Updated Client Connection Browser
Speaking of the Client Connection browser, a neat feature added in MySQL 5.6 is the connection attribute dictionary, which includes handy things like the name of the clients that are connected (as long as the client supports it). You can access that by clicking the Show Details button in the Client Connection screen.
Improved Visual Explain
In MySQL 5.7, the Optimizer Team has been doing great work in refactoring as well as innovation with the new Cost Model. The improved Visual Explain enables the DBA to now get deeper insights into Optimizer decision making, for improved performance tuning of queries. The UI was also improved to allow easier navigation in large query plans.
Streamlined Query Results Panel
The query results panel was updated to centralize the many features related to result sets into a single location. Result Grid, Form Editor, Field Types, Query Stats, Execution Plan (including the traditional and Visual Explain) and the new Spatial Viewer are all easily accessible from a single interface.
SQL Snippets are useful to store queries and commands that are used often, but until now they could only be stored locally. In 6.2, you can now store snippets in the MySQL server you’re connected to and anyone anywhere who can access the .mysqlworkbench schema can also use these snippets.
MySQL Fabric Support
MySQL Fabric servers can now be added to the Workbench home screen. When clicked, these connections will dynamically query the Fabric server and individual connections for all the managed MySQL servers will be created. You can then connect to each instance as usual.
Run SQL Script
It often happens that people try to load gigantic SQL script files into the Workbench SQL editor just to execute them. That will rarely work, as loading files for editing uses a lot of memory and Workbench does a lot of processing in the editor (syntax highlighting, syntax checking, code folding etc). To execute arbitrarily large scripts easily, you can now use the dialog at File -> Run SQL Script: The dialog lets you preview a part of the script, specify a default schema (in case it’s not already defined) and a default character set to use when importing it. The output window shows warnings, messages and a nice progress bar.
Include Model Scripts in Forward Engineering and Synchronization
Workbench modeling has always supported attaching SQL script files to the model, usually for documentation/organization purposes. You can now include these attachments to the output script when performing forward engineering or synchronization.
Direct Schema Tree Action Buttons
- Table or Schema Inspector
- Object structure editor
- Table data browser/editor
- Call Stored Procedure or Function
Format Note Objects in Diagrams
Other improvements and bug fixes that make a difference
Resultset grid columns are now automatically resized to fit – and if you manually resize a column, the customized size is remembered, so next time you run that query again, the columns will be back to the size you left them.
Customize font for resultset grid – some people want to cram more text in the resultset grid, some people prefer bigger, easier to read text. Now you can pick what you like in Preferences.
Improved state saving for the SQL Editor – Opened, closed and reordered tabs are now properly saved and restored. The scroll position and cursor location is also remembered.
MySQL password is remembered for the session, even if not stored in the keychain, so you don’t need to re-enter it when a new connection is needed.
Keyboard shortcuts now work in the Scripting Shell.
Resume data copy in Migration Wizard. If a data copy fails during database migration (because of a timeout or network failure, for example), you can now click Resume to retry the data copy. Workbench will find the last row that was copied successfully and try to restart the copy from that row.
MySQL Workbench 6.2 also finally adds native 64bit support for Windows. This should allow working with larger data sets and script files. Oracle Linux/RHEL 7 support was added. To improve quality and user experience, we will be providing 64-bit binaries for Linux. Linux users who want 32-bit binaries, can compile from source.