What is MySQL?
MySQL is an open source relational database. MySQL is cross platform which means it runs on a number of different platforms such as Windows, Linux, and Mac OS etc.
Why use MySQL?
There are a number of relational database management systems on the market. Examples of relational databases include Microsoft SQL Server, Microsoft Access, Oracle, DB2 etc. One may ask why we would choose MySQL over the other database management systems. The answer to this question depends on a number of factors.
Let's look at the strengths of MySQL compared to over relational databases such as SQL Server-
- MySQL supports multiple storage engines each with its own specifications while other systems like SQL server only support a single storage engine. In order to appreciate this statement, let's look at two of the storage engines supported by MySQL.
- InnoDB: - its default storage engine provided with MySQL as of version 5.5. InnoDB supports foreign keys for referential integrity and also supports ACID-standard transactions.
- MyISAM: - it was the default storage engine for MySQL prior to version 5.5. MyISAM lacks support for transactions. Its advantages over InnoDB include simplicity and high performance.
- MySQL has high performance compared to other relation database systems. This is due to its simplicity in design and support for multiple-storage engines.
- Cost effective, it's relatively cheaper in terms of cost when compared to other relational databases. In fact, the community edition is free. The commercial edition has a licensing fee which is also cost effective compared to licensing fees for products such as Microsoft SQL Server.
- Cross platform - MySQL works on many platforms which means it can be deployed on most machines. Other systems such as MS SQL Server only run on the windows platform.
In order to interact with MySQL, you will need a server access tool that can communicate with MySQL server. MySQL supports multiple user connections.
Introducing MySQL Workbench
MySQL workbench is a Visual database designing and modeling access tool for MySQL server relational database. It facilitates creation of new physical data models and modification of existing MySQL databases with reverse/forward engineering and change management functions.
MySQL workbench as a modeling and design tool
- Models are at the core of most valid and high performance databases. MySQL workbench has tools that allow developers and database administrators visually create physical database design models that can be easily translated into MySQL databases using forward engineering.
- MySQL workbench supports creation of multiple models in the same environment.
- It supports all objects such as tables, views, stored procedures, triggers, etc. that make up a database.
- MySQL workbench has a built in model validating utility that reports any issues that might be found to the data modeler.
- It also allows for different modeling notations and can be extended by using LUA a scripting language.
The figure shown below shows the modeling window for MySQL Workbench.
MySQL workbench as a SQL development tool
Structured Query Language (SQL) allows us to manipulate our relational databases. SQL is at the heart of all relational databases.
- MySQL workbench, has built in SQL visual editor.
- The Visual SQL editor allows developers to build, edit and run queries against MySQL server databases. It has utilities for viewing data and exporting it.
- Its syntax color highlighters help developers easily write and debug SQL statements.
- Multiple queries can be run and results automatically displayed in different tabs.
- The queries are also saved in the history panel for later retrieval and running.
The figure shown below shows the SQL development window for MySQL Workbench.
MySQL workbench as an administration tool
Server administration plays a critical role in securing the data of the company. The major issues concerning server administration are users' management, server configuration, server logs and many more. MySQL workbench has the following features that simplify the process of MySQL server administration;
- User administration - visual utility for managing users that lets database administrators easily add new and remove existing users if need arises, grant and drop privileges and view user profiles.
- Server configuration - allows for advanced configuration of the server and fine tuning for optimal performance.
- Database backup and restorations - visual tool for exporting/importing MySQL dump files. MySQL dump files contain SQL scripts for creating databases, tables, views, stored procedures and insertion of data.
- Server logs - visual tool for viewing MySQL server logs. The logs include error logs, binary logs and InnodDB logs. These logs come in handy when performing diagnosis on the server. The figure shown below shows the modeling window for MySQL Workbench.
The figure shown below shows the Admin panel for MySQL Workbench.
Installation Guide (for Windows)
This is a 2 step process
1) Install MySQL Community Server
2) Install MySQL workbench. - You can install the workbench using a zip file or an msi installer (recommended)
Note: You will require Administrator or Power User Privileges to perform installation.
Once you have finished installing above you need to set up MySQL Workbench as shown below -
1. First step is launching the MySQL Workbench. What you see is called Home Window
2. Next you need to create your MySQL Server Instance which contains details about target database server including how to connect to it. Click New Server Instance in MySQL Workbench Home Window. This will open Create New Server Instance Profile Wizard.
3. As a beginner you can create a server instance for a locally installed server. Click Next button in Create New Server Instance Profile Wizard.
4. Next Step is to setup a connection, or selecting an existing connection which can be used to connect to server. If you have not created a connection already, you can use the default values given. If your MySQL root user has a password, you can enter that using Store in Vault feature. Click Next.
5. Next the Wizard will test connections to database. If test fails, go back and correct database connection parameters.
6. Keep the default settings and click Next.
7. The Wizard will then check ability to access MySQL Server Configuration File, and test start/stop commands.
8. Next you can review current configurations.
9. In next screen, you can give a suitable name for your server instance and click Finish.
A new instance is shown in the homepage
Double click and start querying.
- MySQL is an open source relational database that is cross platform.
- MySQL supports multiple storage engines which greatly improve the server performance tuning and flexibility. Prior to version 5.5, the default storage engine was MyISAM which lacked support for transactions, as of version 5.5; the default storage engine is InnoDB which supports transactions and foreign keys.
- MySQL server can be administered using a number of server access tools which include both commercial and open source products. Popular examples include;
- phpMyAdmin - cross platform web based open source server access tool
- SQLYog - targeted at the windows platform, desktop commercial server access tool
- MySQL workbench - cross platform open source server access tool.
- MySQL workbench is an integrated development environment for MySQL server. It has utilities for database modeling and designing, SQL development and server administration.