Pros:-
1) MySQL is an open source database under the GNU General Public License, that means developers can use it at no cost as long as the associated projects are also open source.
2) MySQL is ideally suited for small/medium sized organizations for faster performance.
3) MySQL can be used in client/Server architecture as well as it can also be embedded in standalone applications.
4) MySQL is fast, east to use, highly extensible, lightweight, scalable, and reliable database.
5) MySQL supports clustering in the network for redundancy.
6) MySQL provides flexibility to modify environment variables/kernel settings to limit the amount of memory usage for increasing performance.
7) MySQL is strongly recommended for web applications, middleware and LAMP architecture systems.
8) MySQL can be integrated with ldap to provide centralized authentication. It can also be integrated with LAMP/WAMP, web applications and number of programming languages. It is widely used for phpadmin and wordpress.
9) MySQL is platform independent and can be run in mixed OS platform like windows, linux, ubuntu etc. It gives compatibility even over different OS during backup and restore. Data can be backed up from one OS and can be restored on other OS.
Cons:-
1) MySQL can be integrated with ldap, however, it is very complex, tedious and time consuming.
2) MySQL support is available through communities like other open source projects which means that it is sometimes scarce and hard to find.
3) MySQL doesn't have some of RDBMS features like foreign keys, transaction, rollback and subselect.
4) MySQL also doesn't have tablespaces, role management, snapshots, synonyms and packages.
5) MySQL uses both InnoDB and MyISAM, however, it gives slower performance when using InnoDB as compared to MyISAM for using simple queries due to complexity of InnoDB.
6) MySQL does not provide good development and debugging tools, so it’s cumbersome to write large SQL statements.
Alternate Vendors:-
Oracle, DB2, Sybase, Postgres, Informatica!!
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Workbench is the original GUI for managing MySQL databases it allows to:
* Manage DB - it allows to administer a DB. (by creating a connection to a database).
* Model DB - It allows you to model your database using EER diagrams to represent tables and link between tables. EER diagrams can be transformed to a schema by creating SQL script from the EER diagram. EER diagram can be also produced from an existing DB, by connecting to a database and performing reverse engineering.
* Migrate DB - It also allows you to migrate from another DB to MySQL