MySQL Workbench 6.0.8 Released

Dear MySQL users,

The MySQL developer tools team at Oracle is excited to announce the availability of MySQL Workbench 6.0.8.

MySQL Workbench 6.0 is the new version the GUI Development and Administration tool for MySQL. This maintenance release contains over 50 bug fixes since version 6.0.7

Improvements in MySQL Workbench 6.0:

  • a new redesigned Home screen
  • the SQL Editor and Server Administration UIs were merged into a single connection specific interface, allowing for quick access to administration features while simplifying the location of specific features
  • improved model Synchronization, lets you compare and update your EER model or database with ALTER scripts and properly handle corner cases involving objects renamed externally or sync schemas with different names
  • improved support for model printing to PDF files
  • all new Schema Inspector, gives you a detailed overview of all objects in your schemas, plus access to table maintenance operations such as ANALYZE and OPTIMIZE TABLE
  • table data search, lets you perform a text search on any number of tables and schemas for rows matching a given pattern
  • improved Server Status page, gives a quick summary of server status and configuration
  • cascaded DELETE statement generator, automatically performs the tedious task of generating DELETE statements for deleting a row referenced by foreign keys
  • new Migration Wizard support for SQL Anywhere and SQLite
  • several performance improvements

and much more. For a detailed overview of what’s new in MySQL Workbench 6.0, please visit:
http://dev.mysql.com/doc/workbench/en/wb-what-is-new.html

For the full list of bugs fixed in this revision, visit
http://dev.mysql.com/doc/relnotes/workbench/en/changes-6-0.html

For discussion, join the MySQL Workbench Forums:
http://forums.mysql.com/index.php?151

Download MySQL Workbench 6.0 now, for Windows, Mac OS X 10.6+, Oracle Linux 6, Fedora 18, Fedora 19, Ubuntu 12.04 and Ubuntu 13.04 or sources, from:
http://dev.mysql.com/downloads/tools/workbench/

In Windows, you can also use the integrated MySQL Installer to update MySQL Workbench and other MySQL products. For RPM package based Linux distributions, you can get and update Workbench using the new MySQL RPM repository at http://dev.mysql.com/downloads/repo/

Quick links:
– Download: http://dev.mysql.com/downloads/tools/workbench/
– Bugs: http://bugs.mysql.com
– Forums: http://forums.mysql.com/index.php?151

Read more about MySQL Workbench 6.0 and some of its features in

MySQL Workbench 6.0: What’s New
http://mysqlworkbench.org/2013/06/mysql-workbench-6-0-whats-new/


the MySQL Workbench team

MySQL Workbench 6.0.7 GA Released

Dear MySQL users,

The MySQL developer tools team at Oracle is excited to announce the availability of MySQL Workbench 6.0.7, a maintenance release for the new MySQL Workbench 6.0

MySQL Workbench 6.0 is the new major update of the GUI Development and Administration tool for MySQL. This version contains more than 30 new features and a redesigned, more modern UI. Over 200 enhancement requests and bugs filed by the community have been addressed since version 5.2.47. This release fixes over 20 bugs encountered since version 6.0.6

Improvements in MySQL Workbench 6.0:

  • a new redesigned Home screen
  • the SQL Editor and Server Administration UIs were merged into a single connection specific interface, allowing for quick access to administration features while simplifying the location of specific features
  • improved model Synchronization, lets you compare and update your EER model or database with ALTER scripts and properly handle corner cases involving objects renamed externally or sync schemas with different names
  • improved support for model printing to PDF files
  • all new Schema Inspector, gives you a detailed overview of all objects in your schemas, plus access to table maintenance operations such as ANALYZE and OPTIMIZE TABLE
  • table data search, lets you perform a text search on any number of tables and schemas for rows matching a given pattern
  • improved Server Status page, gives a quick summary of server status and configuration
  • cascaded DELETE statement generator, automatically performs the tedious task of generating DELETE statements for deleting a row referenced by foreign keys
  • new Migration Wizard support for SQL Anywhere and SQLite
  • several performance improvements

and much more. For a detailed overview of what’s new in MySQL Workbench 6.0, please visit:

http://dev.mysql.com/doc/workbench/en/wb-what-is-new.html

For the full list of bugs fixed in this revision, visit
http://dev.mysql.com/doc/relnotes/workbench/en/changes-6-0.html

For discussion, join the MySQL Workbench Forums:
http://forums.mysql.com/index.php?151

Download MySQL Workbench 6.0 now, for Windows, Mac OS X 10.6+, Oracle Linux 6, Fedora 18, Ubuntu 12.04 and Ubuntu 13.04 or sources, from:
http://dev.mysql.com/downloads/tools/workbench/

Quick links:

– Downloadhttp://dev.mysql.com/downloads/tools/workbench/
– Bugshttp://bugs.mysql.com
– Forumshttp://forums.mysql.com/index.php?151

Read more about MySQL Workbench 6.0 and some of its features in these blog posts:

MySQL Workbench 6.0: What’s New

MySQL Workbench 6.0: Home Screen

Table Data Search

Database Migration from Sybase SQLAnywhere using MySQL Workbench

Model Synchronization Improvements

We will keep posting more about the new features in the coming days, make sure to check often!

the MySQL Workbench team

MySQL Workbench 6.0: Help is on the way…

Do you know this scenario: you are writing down  a stored procedure but you can’t for the life of you remember the exact syntax of that CASE statement? Has it to end with CASE or not? Can I use more than one WHEN part and how should that be written? Usually you end up opening a web page and read through the excellent MySQL online docs. However, this might cost too much time if you quickly need different statements and other detail info. Here’s where MySQL Workbench’s context help jumps in.

Continue reading “MySQL Workbench 6.0: Help is on the way…”

MySQL Workbench 6.0.6 GA Released

Dear MySQL users,

The MySQL developer tools team at Oracle is excited to announce the first GA (Generally Available) release of MySQL Workbench 6.0.6.

MySQL Workbench 6.0 is the new major update of the GUI Development and Administration tool for MySQL. This release contains more than 30 new features and a redesigned, more modern UI. Over 200 enhancement requests and bugs filed by the community have been addressed since version 5.2.47

Improvements in MySQL Workbench 6.0:

  • a new redesigned Home screen
  • the SQL Editor and Server Administration UIs were merged into a single connection specific interface, allowing for quick access to administration features while simplifying the location of specific features
  • improved model Synchronization, lets you compare and update your EER model or database with ALTER scripts and properly handle corner cases involving objects renamed externally or sync schemas with different names
  • improved support for model printing to PDF files
  • all new Schema Inspector, gives you a detailed overview of all objects in your schemas, plus access to table maintenance operations such as ANALYZE and OPTIMIZE TABLE
  • table data search, lets you perform a text search on any number of tables and schemas for rows matching a given pattern
  • improved Server Status page, gives a quick summary of server status and configuration
  • cascaded DELETE statement generator, automatically performs the tedious task of generating DELETE statements for deleting a row referenced by foreign keys
  • new Migration Wizard support for SQL Anywhere and SQLite
  • several performance improvements

and much more. For a detailed overview of what’s new in MySQL Workbench 6.0, please visit:

http://dev.mysql.com/doc/workbench/en/wb-what-is-new.html

For the full list of bugs fixed in this revision, visit
http://dev.mysql.com/doc/relnotes/workbench/en/changes-6-0.html

For discussion, join the MySQL Workbench Forums:
http://forums.mysql.com/index.php?151

Download MySQL Workbench 6.0 now, for Windows, Mac OS X 10.6+, Oracle Linux 6, Fedora 18, Ubuntu 12.04 and Ubuntu 13.04 or sources, from:
http://dev.mysql.com/downloads/tools/workbench/

Quick links:

Download: http://dev.mysql.com/downloads/tools/workbench/
Bugs: http://bugs.mysql.com
Forums: http://forums.mysql.com/index.php?151

Read more about MySQL Workbench 6.0 and some of its features in these blog posts:

MySQL Workbench 6.0: What’s New

MySQL Workbench 6.0: Home Screen

Table Data Search

Database Migration from Sybase SQLAnywhere using MySQL Workbench

Model Synchronization Improvements

We will keep posting more about the new features in the coming days, make sure to check often!

the MySQL Workbench team

MySQL Workbench 6.0.5 RC released

The MySQL Developer Tools team is pleased to announce the availability of MySQL Workbench 6.0.5 Release Candidate.
MySQL Workbench 6.0 is the new major update of the Development and Administration tool for MySQL. This release includes over 200 bug fixes and implemented enhancement requests, 30 new features and a new redesigned UI.
As a development version, this release is not suitable for production use.  Please test and file your bug reports at http://bugs.mysql.com

As always, MySQL Workbench is natively available on Windows, Mac, Linux.

Improvements in MySQL Workbench 6.0:

  • a new redesigned Home screen
  • the SQL Editor and Server Administration UIs were merged into a single connection specific interface, allowing for quick access to administration features while simplifying the location of specific features
  • improved model Synchronization, lets you compare and update your EER model or database with ALTER scripts and properly handle corner cases involving objects renamed externally or sync schemas with different names
  • improved support for model printing to PDF files
  • all new Schema Inspector, gives you a detailed overview of all objects in your schemas, plus access to table maintenance operations such as ANALYZE and OPTIMIZE TABLE
  • table data search, lets you perform a text search on any number of tables and schemas for rows matching a given pattern
  • improved Server Status page, gives a quick summary of server status and configuration
  • cascaded DELETE statement generator, automatically performs the tedious task of generating DELETE statements for deleting a row referenced by foreign keys
  • new SQL Anywhere and SQLite targets for the Migration Wizard
  • and much more.

For a detailed overview of newly added major features in MySQL Workbench 6.0, visit the What’s New page

For the full list of bugs fixed in this revision, view the Change Log.
For discussion, join the MySQL Workbench Forums
Download MySQL Workbench 6.0 now, for Windows, Mac OS X 10.6+, Oracle Linux 6, Fedora 18, Ubuntu 12.04 and Ubuntu 13.04 or sources, from http://dev.mysql.com/downloads/tools/workbench/6.0.html
the MySQL Workbench Team

MySQL Workbench 6.0.4 BETA 3 released

The MySQL Developer Tools team is pleased to announce the availability of the third beta release of MySQL Workbench 6.0.
MySQL Workbench 6.0 is the new major update of the Development and Administration tool for MySQL. This release includes almost 200 bug fixes (~40 since 6.0.3), 30 new features and a new redesigned UI.
As a beta, this release is not suitable for production use.  Please test and file your bug reports at http://bugs.mysql.com

As always, MySQL Workbench is natively available on Windows, Mac, Linux.

Improvements in MySQL Workbench 6.0:

  • a new redesigned Home screen
  • the SQL Editor and Server Administration UIs were merged into a single connection specific interface, allowing for quick access to administration features while simplifying the location of specific features
  • improved model Synchronization, lets you compare and update your EER model or database with ALTER scripts and properly handle corner cases involving objects renamed externally or sync schemas with different names
  • improved support for model printing to PDF files
  • all new Schema Inspector, gives you a detailed overview of all objects in your schemas, plus access to table maintenance operations such as ANALYZE and OPTIMIZE TABLE
  • table data search, lets you perform a text search on any number of tables and schemas for rows matching a given pattern
  • improved Server Status page, gives a quick summary of server status and configuration
  • cascaded DELETE statement generator, automatically performs the tedious task of generating DELETE statements for deleting a row referenced by foreign keys
  • new SQL Anywhere and SQLite targets for the Migration Wizard
  • and much more.

For a detailed overview of newly added major features in MySQL Workbench 6.0, visit the What’s New page

For the full list of bugs fixed in this revision, view the Change Log.
For discussion, join the MySQL Workbench Forums
Download MySQL Workbench 6.0 now, for Windows, Mac OS X 10.6+, Oracle Linux 6, Fedora 18, Ubuntu 12.04 and Ubuntu 13.04 or sources, from http://dev.mysql.com/downloads/tools/workbench/6.0.html
the MySQL Workbench Team

MySQL Workbench 6.0: Model Synchronization Improvements

In MySQL Workbench 6.0, three longstanding issues related to model synchronization were addressed. In this post, we’ll cover how these issues can happen, the underlying cause and how to resolve them.

Model Synchronization

When you synchronize a model to a database, Workbench performs the following steps:

  1. Retrieve and reverse engineer the target schema from the database, to an internal representation that can be worked on by Workbench
  2. Compare the schema from the model with the corresponding schema from the database, object by object
  3. For each difference found, perform the corresponding action needed to change either the source or the target object, so they’re both looking the same. This may mean creating, altering or dropping objects in the database or updating the model to match the database. Because some of these actions can be destructive (such as when a table or column needs to be dropped), care must be taken to review the generated MySQL script for any mistakes before applying it to the actual server.

Reverse Engineering Source and/or Target

The first step is usually straightforward, since the internal representation used in WB maps 1:1 to schemas and database objects from MySQL. Workbench also supports synchronising with schemas reverse engineered from a MySQL DDL script, which is pretty much the same as using a live database.

Synchronizing with Schemas with Other Names

By default, Workbench will search the server for a schema having the same name as the one in the model. But sometimes, the desired target schema has a different name. For example, one may want to synchronize a model of sakila with a schema called sakila_prod in the database. To allow that, select a schema in the list and click the Force Synchronize With… in the Schema Selection Page of the synchronization wizard.

References to the schema name in code objects (views, triggers, SPs and functions) will be automatically refactored to the target name. So, for example, if your sakila schema has a view defined as:

CREATE VIEW sakila.film_list AS select * from sakila.film

and you synchronize it against sakila_prod it will be changed to:

CREATE VIEW sakila_prod.film_list AS select * from sakila_prod.film

Renaming schemas

WARNING: A related case is that of when instead of synchronizing a schema with another of a different name, you actually want to rename it. But because altering the name of an existing schema is not supported by MySQL, a rename  would mean dropping the original schema and creating a new one in its place. Because data is not copied by the model synchronization, your data would be lost. Therefore, keep that in mind when renaming schemas in your model and synchronizing it.

Example

Here we are synchronizing a schema called sakila, but the target MySQL server does not have that schema in it. In this server, the schema was created with the name sakila_test

To force Workbench to sync sakila from your model with sakila_test from the database, select it in the list and then pick the target schema you want in the dropdown list and click [Override Target].

Schema Comparison

Things are easy when you just add, modify or delete an object in your model. We just need to lookup an object with the same name in the database and perform the appropriate action: a new object in the model must be CREATEd in the database and a removed object must be DROPed. Changed objects are handled differently depending on their type. Views, indexes, functions, stored procedures and triggers can just have their old version dropped and recreated from scratch. Tables and columns are updated using the ALTER statement as recreating them would mean data loss.

However, when an object is renamed, there’s no straightforward way to know that, for ex., the column you once created as name in your model and then forward engineered to the database, is now renamed in the model to first_name. To solve that, WB stores the original name of the object in an additional internal field called oldName. Then, when searching for a matching object in the database, it searches by oldName. So it would correctly determine that the column called name corresponds to first_name, which should be renamed for synchronization purposes. Once synchronize renames the object in the database, oldName is updated to the new name, so next time a rename occurs, we can locate the DB object by the new name.

Sometimes, the object is renamed directly in the database. So when you synchronise the model to the database, there’s no way for WB to know that by itself. oldName is of no help here. So the result is that WB thinks the renamed DB object is an object that was removed from the model, so it must be DROPped, while the original object in the model doesn’t exist yet, so it is to be CREATEd. Which could lead to potentially unpleasant consequences.

Sinchronizing against a script or when both source and targets come from a script/database is an even bigger problem, since we don’t have any information at all about renames from either direction.

Above, we’re synchronizing sakila from the model with sakila_test from the database. In the database, the table actor was created with a typo and it’s called atcor. The table was created in the database independently from the model, so Workbench doesn’t know that atcor is supposedly the same column as actor. If you click the rows corresponding for both, you see a CREATE statement for actor

and a DROP for atcor. We need to tell Workbench that actor from the model and atcor from the database are the same columns.

In the country table, there’s a similar problem with columns. In the database, the column called country was created as name, supposedly outside of Workbench, so there’s no knowledge that country was once called name or anything like that. Thus, the synchronization action appropriate for this case is to DROP name and add country. Again, what we actually want is some way to match country and name together.

So starting from MySQL Workbench 6.0, you can manually specify the mapping of tables and columns between source and target schemas. In the “Model and Database Differences” page in the synchronisation wizard, click the Column Mapping… button to bring up the Column Name Mapping dialog. For fixing table mapping issues, click Table Mapping… for an analogous dialog for tables.

When you click the [Table Mapping…] button a dialog pops up, where all the tables for that schema is shown in a list. The list has the name of the table in the source/model, the default table to be matched against (taken from oldName), the actual table that it will be synchronized with (same as the previous column by default, blank if the target table doesn’t exist or the table it will actually be matched against, if it’s being overriden). The last column shows the expected action that would be taken (drop, create, change or rename), always considering a Model to Database synchronization direction. To override the mapping of a table, select it in the list and pick the table from the database that it should be mapped to.

Here is the result of the remapping of tables, as you see in the generated SQL, it will simply rename atcor to actor.

The Column Name Mapping dialog is similar to the one for tables. Click the table you want to fix and select [Column Mapping…] to bring it up.

Conclusion

Ideally, any changes to the database schema would first happen in your model and the database would only be updated using code generated from it. That allows WB to transparently and automatically handle any renames and changes made to your schema objects and graciously update your database to match it. But reality is not always so neat and often changes are made in the database independent of your model or in an order/situation that’s not very easy to track.

As we’ve seen, MySQL Workbench 6.0 includes some functionality to work around problems of that kind, which now allows Model Synchronization to work correctly in almost any scenario.

 

MySQL Workbench 6.0.3 BETA 2 released

The MySQL Developer Tools team is pleased to announce the availability of the second beta release of MySQL Workbench 6.0.
MySQL Workbench 6.0 is the new major update of the Development and Administration tool for MySQL. This release includes over 150 bug fixes (~40 since 6.0.2), 30 new features and a new redesigned UI.
As a beta, this release is not suitable for production use.  Please test and file your bug reports at http://bugs.mysql.com

As always, MySQL Workbench is natively available on Windows, Mac, Linux.

Improvements in MySQL Workbench 6.0:

  • a new redesigned Home screen
  • the SQL Editor and Server Administration UIs were merged into a single connection specific interface, allowing for quick access to administration features while simplifying the location of specific features
  • improved model Synchronization, lets you compare and update your EER model or database with ALTER scripts and properly handle corner cases involving objects renamed externally or sync schemas with different names
  • all new Schema Inspector, gives you a detailed overview of all objects in your schemas, plus access to table maintenance operations such as ANALYZE and OPTIMIZE TABLE
  • table data search, lets you perform a text search on any number of tables and schemas for rows matching a given pattern
  • improved Server Status page, gives a quick summary of server status and configuration
  • cascaded DELETE statement generator, automatically performs the tedious task of generating DELETE statements for deleting a row referenced by foreign keys
  • new SQL Anywhere and SQLite targets for the Migration Wizard
  • and much more.

For a detailed overview of newly added major features in MySQL Workbench 6.0, visit the What’s New page

For the full list of bugs fixed in this revision, view the Change Log.
For discussion, join the MySQL Workbench Forums
Download MySQL Workbench 6.0 now, for Windows, Mac OS X 10.6+, Oracle Linux 6, Fedora 18, Ubuntu 12.04 and Ubuntu 13.04 or sources, from http://dev.mysql.com/downloads/tools/workbench/6.0.html
the MySQL Workbench Team

MySQL Workbench 6.0: Home Screen

The home screen of MySQL Workbench is the first thing you see when you start up the application and it’s therefor an important hub to quickly reach important parts or do repeating tasks like opening certain connections. This article describes the home screen in some detail with additional info and tips.

Continue reading “MySQL Workbench 6.0: Home Screen”

MySQL Workbench Tunneling to Socket File only servers

Brandon Johnson at Mozilla has posted a nice tip on how to use MySQL Workbench SSH tunneling with MySQL servers configured to accept only Unix Socket File connections (no TCP/IP). Head over there for more info about how to use the “socat” utility to bridge a SSH tunnel from WB to a socket only MySQL.