Yabomsat!
Yet Another Blog On MySQL® Server Administration, monitoring and Tuning!

First login on iCloud OS

August 31, 2008 - 11:49 am - by Santo Leto

On August 22 2008, after reading a post by Lewis Cunningham, I did for the first time a quick evaluation of iCloud, an Internet Operating System by Xcerion.

From a User prospective, an O.S. is a set of applications and a kernel - i.e. the basis on which other applications run. An Internet O.S. is an O.S. that runs in the cloud. You have to image a Desktop with its own icons and a “start” toolbar - running on your browser.

When you double-click on an icon the application linked by that icon will be opened. You can move the window, resize it, maximize it and minimize it - all within your browser.

If you maximize you browser (F11 if you use Internet Explorer) an external observer has no way - by looking at the GUI - to distinguish if on your PC you are running a local (standard) O.S. or an Internet O.S. because the User Interface of an Internet O.S. is very similar to that of a standard O.S.

screen1.jpg screen12.jpg

Typically you use the browser to access and read a web page or to communicate with other people through social networking sites.

Whether you are connected to a static or a dynamic web page, you have the idea of an .html (or .php) page that you can refresh or scroll up and down using your mouse. An Internet O.S, instead, allows you to open applications. You can open a shell, a software to create a presentation or a business plan, a ‘media player’ to listen your preferred radio and of course, a browser to surf the Internet:

screen2.jpg screen3.jpg

screen4.jpg screen5.jpg

screen6.jpg screen7.jpg

screen8.jpg screen9.jpg

screen10.jpg screen11.jpg

So with an Internet O.S. you can use the applications installed on it rather than read (or write) web pages. Indeed you probably are already using applications running on your browser. There are many server-side languages that allows you developing Internet application. Try think for instance at the admin interface of your CMS or at some web-based tools for the administration of your database.

The main difference is that those are for specific functions (the administration of a database, for instance) while in the Internet O.S. you can use a set of several applications - at once. You can write your presentation listening your preferred radio or communicate with your friends through I.M, as I wrote above.

A static page contains html tags - defined by international standards - interpreted by your browser. A web based application that use a script server-side language (like php) contains block of code that are executed “by” the web server “on” the web server and not on your browser. You typically see the output of the code execution - formatted using html tags so that the output can be interpreted by your browser.

I am not an expert on this field but to simplify we can argue that the main difference between Internet and Grid (or Cloud, as it seems that this is a widely used term even if [..grid computing is often (but not always) associated with the delivery of cloud computing systems..]) is the following. Internet is “sharing of data”. Grid is sharing of heterogeneous computational resources.

Sharing of data means that you can create a web page and put information on it so that other users can read it or you can upload a file on your site so that Users can download it. As we seen you can also create a web application. But this is a vertical process: developers create applications and you - User - use it.

Sharing of computational resources means that *you* can create an application to be submitted to the Grid. Grid executes the application, calculates the result and then alerts you (by email, for example). You use Grid because you don’t have the computational resources needed by your application to run.

Sharing of computational resources, of course, also means implementing a set of rules that define what users can do or don’t do, a set of standardized protocols that define how users can use the grid and how resources (computational elements (CE), storage elements (SE), ..) have to be added (or discovered) in the Grid (or by the Grid). Also you should develop applications that make the use of these resources transparent for the Users (metadata catalog (MC), for example).

Between you and the Farm that executes your calculation (application) there is a layer - for example the Sun Grid Engine (SGE) - which takes care of schedule the execution of your “job”.

Cloud QuestionSo the question is: when you use an Internet Operating System are you in Internet or in Grid? In other words are you using just a web application like phpmyadmin (for the administration of the MySQL database from web) or the admin panel of your blog?

I guess that your are using a nice GUI of Grid because if the Internet O.S. has a Application Designer - as iCloud has - you can develop an application - like I did on a Fig. above - and run it on your browser using the computational resources of the webfarm your are connected to. You can develop an application on the Internet O.S. and run it: this could be considered similar to the development of a job to be sent to SGE for the execution on the Computational Farm.

In Internet Users can’t create application but can only use application already developed by other (like phpmyadmin). To be honest there are already some applications running on Internet that a User can use to create other small applications to be embed in social network sites (SUN for example offers you this service).

But does it make sense trying to write a list of differences between Internet and Grid?. I’m not sure about that. Grid, indeed, contains Internet, it’s the evolution of Internet.

Let’s come back to iCloud.

I am new to this kind of Internet O.S. I didn’t use any other Internet O.S. in the past than iCloud so I can’t do comparison at this moment. But so far I think that iCloud is an impressive system and that this kind of systems will be used widely on next future.

One of the main pro of iCloud is that you don’t need to install it on a PC and you can log on it from anywhere - just using a browser. You can use an “old” PC with an “old” processor because the software is not running on your local PC so it is not using your local resources (RAM and CPU).

If you are using an email system like Yahoo! Mail or Gmail, you know that you can read your emails from anywhere - you don’t need your own PC but your can use a PC located at an Internet Point or at your University. Now try to extend this concept and image what would be if you can access your desktop - your customized theme - your set of installed applications and your documents (presentation, text files, …) from anywhere!

In general I think that an important role for the success of an Operating System is in the hands of the 3rd party applications. If you are developing an O.S. you would create a set of API and development tools to be used by 3rd party software houses to create applications for your O.S. (Just a note. I said that Users choose S.O. on the basis of 3rd party application. Of course if you are a system admin and you would set up a Web Server or a Database Server - or in general a network infrastructure - you probably would choose your O.S. on the basis of stability and security. Each O.S. has its pros and cons and in general you have to choose your system on the basis of your needs.)

screen13.jpg

Four years after testing some grid services for the implementation of a ‘Metadata Catalog’ for Monte-Carlo data of large high energy physic experiments, here we are (Monte-Carlo data=data created by a simulation software): I am using a complete O.S. running on a browser and I can’t wait start developing applications for Internet O.Ss!


HoneyMonitor v.1.0.14-alpha - New Features Preview

August 30, 2008 - 8:30 pm - by Santo Leto

The second public alpha version (1.0.14-alpha) of HoneyMonitor Audit Pro - the Edition of the HoneySoftware’s GUI for MySQL™ mainly oriented to Server Administration, Monitoring and Tuning - will be released soon.

In this article I’ll try to describe the new features implemented and the most important bugs fix of this version.

You will find the complete list of bugs fix and improvements in a next post - when we will release v.1.0.14-alpha - and in the Release Notes File included in the build.

Your questions, enhancement requests and comments are welcome.

Contents:

A. New Features

1. Audit System
1.0. Introduction
1.1. Replication
1.1.1. STMT - New connection Option
1.2. Support for the Maria Engine
1.3. Other bugs fix

2. Performance Reports
2.0. Introduction
2.1. Custom Reports
2.2. Report Templates

3. Other
3.1. Audit Statistics
3.2. Server Objects List
3.3. FALCON

B. Other Bugs Fix

C. Other

A. New Features

1. Audit System

1.0. Introduction

As you (probably) already know, the Audit Pro Edition of HoneyMonitor uses a database (hs_audit_schema) to collect the “status data” of the server and store, manipulate and use them to create performance reports thus let you monitoring your servers.

The monitoring system that HoneyMonitor let you install and use is a “SQL-based monitoring” system - this means that no Agents are required to run on your Servers and we don’t need a Central Repository Server. All data are collected by a Scheduled Event and stored on your server.

You use a Windows™ Client (HoneyMonitor) installed for example on your laptop, to connect to your MySQL™ Server (in a direct way or through a SSH Tunneling Connection) and open the Performance Tuning Monitor to view the most common derived performance metrics and create reports to see how the ratios are changing over time.

No automated alerts are included - so far - in the HoneyMonitor Audit Pro Edition. The SQL monitoring system does not alert you - for example with an email - if a slave is down or you are reaching the maximum number of allowed connections (so far).

The Performance Tuning Monitor as well as the Replication Monitor and other tools included in HoneyMonitor are developed to help your every-days DBA activities - this is our aim - and they do not (and can’t) replace your (human) supervision of the server activities.

1.1. Replication

The most important bug fix in v.1.0.14-alpha is related to replication. Our SQL scripts now use SET SQL_LOG_BIN = 0 so no errors occur if you start the installation of the audit system (using the Audit Installation Wizard) on a Master. Audit data of the master are not replicated on slaves of course. Previously (v.1.0.13-alpha) we were asking you to filter replication by using “-replicate-ignore-table=db_name.tbl_name” and similar options but beginning with the new version 1.0.14-alpha, you don’t need to filter replication anymore (just because now we use SET SQL_LOG_BIN = 0).

1.1.1. STMT - New connection Option

Please note that now you can set a STMT (statement) option when you create a connection in HoneyMonitor. This improvement has been added in all Editions of our tool (from the Lite Free to the Network Edition). The STMT option is a SQL statement that will be executed every time the software connects to the server. A typical STMT is “SET NAMES…” (already included in early versions of the software) or “SET SQL_LOG_BIN = 0″ (if you want to connect to a master and you want that tasks performed using HoneyMonitor do not affect replication).

Connection Window - STMT Option

Fig. 1: Connection Window - STMT Option

1.2. Support for the Maria Engine

We are developing the tools you need to have a better experience with the new engine Maria (as well as Falcon). In particular, in next versions of HoneyMonitor (Standard, Enterprise and Network Editions) we plan to improve our “Create Table Wizard” to support the new Maria options.

As per Audit Pro Edition, we have tested the monitoring scripts on v.5.1.26-rc and 6.0.6-alpha. Minor bugs fix of next version 1.0.14-alpha are related to the fact that now the new Maria Engine has been put in the 6.x branch of the server (previously it was included in v.5.1.23-maria-alpha-preview. Please note that we don’t support that version anymore. If you want to test the Maria engine, please use v.6.0.6-alpha).

 MySQL™ 6.0.6-alpha - Support for Maria

Fig. 2: MySQL™ 6.0.6-alpha - Support for Maria

1.3. Other bugs fix

In the newer version of the MySQL™ Server, status variables “Com_show_column_types” and “Innodb_buffer_pool_pages_latched” have been deprecated so we don’t use them in our audit table anymore [MySQL™ Bugs #36793 and #5299].

2. Performance Reports

2.0. Introduction

Two important improvements are included in the new version 1.0.14-alpha.

2.1. Custom Reports

You can now create your own reports (a Custom Report Template is included and you can use this as the basis of your own reports). HoneyMonitor Audit Pro includes about 10 Reports (Falcon, InnoDB, MyISAM, Temporay Tables, …) for about 90 charts. With a custom report you can choose to monitor a specific variable not included in the standard reports. We will try to create a video tutorial about this new feature soon.

New “Auditing” Menus

Fig. 3: New entries in the “Auditing” Menu

 Creating a Custom Performance Report - Designer

Fig. 4: Creating a Custom Performance Report - Designer

 Creating a Custom Performance Report - Choosing Variables to add (SQL query)

Fig. 5: Creating a Custom Performance Report - Choosing Variables to add (SQL query)

2.2. Report Templates

You can now edit the Report Templates thus every time you use the Performance Tuning Monitor to create a report your templates will be used (it’s the same when you use the “Audit Report Generation Window ” to create a report in a fast way, by clicking on the menu Auditing / Reports / …). We suggest you backup our templates before editing them so you can restore them if you need (just copy the files included in the directory /audit/reports).

 Customizing Template of the “Query Cache” Report

Fig. 6: Customizing Template of the “Query Cache” Report

3. Other

3.1. Audit Statistics

Minor improvements are included in the Audit Statistics Window. A “Refresh” button has been added; 3 new fields now show the date of the first and last audit record included in the audit table and the date difference.

Audit Statistics Window

Fig. 7: Audit Statistics Window

3.2. Server Objects List

Minor improvements in the Server Objects List. When you create a (stored) connection you can now choose a “Server Group”

Connection Window - Server Group

Fig. 8: Connection Window - Server Group

Server Objects List - Server Groups

Fig. 9:  Server Objects List - Server Groups

3.3. FALCON

Minor improvements for FALCON variables: Description, Type, Handle, …, are now included (like for other “older” system variables).

Performance Tuning Monitor - Falcon Variables

Fig. 10: Performance Tuning Monitor - Falcon Variables

B. Other Bugs Fix

For a bug of version 1.0.13-alpha, some errors occur when opening the Table Editor, View Editor and Queries Window if you are connected through SSH. Now fixed.

C. Other

Similar Posts you could be interested on:

Let us know what you would like us to add in the next versions of our software and, if you would be informed when we will release the new v.1.0.14-alpha, you are welcome to join our newsletter.


New variables included in MySQL™ 6.0.6-alpha

August 20, 2008 - 2:32 pm - by Santo Leto

If this can be of any interest, the following is the list of new variables included in MySQL™ v.6.0.6-alpha. Maria-variables already included in prev. binary versions (like 5.1.23-maria) are not count here.

  1. falcon_checksums: (default ON) to calculate and verify page checksums.
  2. falcon_serial_log_file_size: not documented.
  3. falcon_use_sectorcache:  not documented.
  4. falcon_use_supernodes: not documented.
  5. maria_force_start_after_recovery_failures: Number of consecutive log recovery failures after which logs will be automatically deleted to cure the problem; 0 (the default) disables the feature.
  6. maria_recover: Specifies how corrupted tables should be automatically repaired.

No new status variables have been included.


SUN™ Campus Ambassador Program - Open Positions in Italy

August 16, 2008 - 11:40 pm - by Santo Leto

I’d like to inform members of the MySQL™ Community about an amazing Program @ Sun™ Developer Network: the Campus Ambassador Program.

Quote:
Sun has more than 500 campus ambassadors worldwide who help spread knowledge and awareness of leading-edge technologies such as Java™, NetBeans™ IDE, OpenSolaris™, and many more.

Now that MySQL™ is part of SUN™ I guess that you can be ambassador of MySQL™ too, among the other SUN™’s products.

Quote:
Campus ambassadors are Sun™ Microsystems interns who build a Sun™ community on their school or university campus. They learn all about the latest Sun™ open-source technologies and share that knowledge with fellow students. This includes activities such as starting a Sun™ user group on campus, demonstrating Sun™ technology to fellow students, promoting Sun™ events and contests, and blogging.

Quote:
Campus ambassadors work a few hours each week and bring cutting-edge technology to fellow students, professors, and researchers — and they get top pay to do it.

Positions available for Italian Students:

  1. Politecnico di Torino
  2. Politecnico di Milano
  3. Università La Sapienza di Roma
  4. Università Federico II di Napoli (currently in-between hiring cycles)

Student Developers - Overview:
http://developers.sun.com/students/index.jsp.

Campus Ambassador Program FAQs:
http://developers.sun.com/students/community/faqs.jsp.

Campus Ambassador Map:
http://developers.sun.com/students/community/map.jsp.

Ambassador Blogs:
http://developers.sun.com/students/community/blogs.jsp.

Ambassador Twitter:
http://twitter.com/suncablogs.

There are a lof of other resources at http://developers.sun.com/students/index.jsp. The following are my quick links:

You can also visit SUN™ @ SecondLife (here’s some pics of my last visit) or join some groups on Facebook, like the Sun™ Microsystems Studentzone Group.

Take a look now, the new academic year is about to begin!


Using Cluster Disk Data in MySQL™ 5.1

August 14, 2008 - 3:18 am - by Santo Leto
[HoneyMonitor is a GUI for MySQL™. Server Administration, Database and Database Objects Administration, Code Development, Server Monitoring, Performance Monitoring, Performance Auditing. Read more on http://www.honeysoftware.com/]

Contents

  • Introduction
  • Log File Group & UndoFiles
  • TableSpaces & DataFiles
  • Cluster Disk Objects Metadata
  • Creating Cluster Disk Tables
  • Dropping Cluster Disk Data Objects
  • The Cluster Monitor
  • Cluster Disk Data Limitations
  • Cluster Disk Data Quiz
  • Other Resources

1. Introduction

Cluster Disk Data is a new feature of MySQL™ 5.1. Beginning with MySQL™ 5.1.6, in fact, it is possible to store the non-indexed columns of NDBCLUSTER tables on disk, rather than in RAM  this allowing MySQL™ Cluster to scale upward with fewer RAM requirements than previously.

This is a short tutorial on the features implemented in HoneyMonitor for the use and administration of Cluster Disk Data Objects . It could be useful for Users who are new to the product and want to get start with it or to whom want to learn the basis of Cluster Disk Data in MySQL™ 5.1.

For more information about Cluster Disk Data, please visit http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster-disk-data.html, while, if you want to learn more on HoneyMonitor, please visit its Project Home Page at http://www.honeysoftware.com/honeymonitor.

For this tutorial we will suppose you have a MySQL™ Cluster up and running and we will connect to the Linux machine, from HoneyMonitor, through a SSH Tunneling connection.

If you are new to MySQL™ Cluster and want to set up a testbed (all nodes on localhost), you can use this very useful configuration tool (created by Johan Andersson) or, if you want to do a more complicated (but nice) exercise, you can set up the Cluster in 4 Solaris™ Zones (a tutorial can be found here).

For our Tutorial, we will follow the following steps:

  • Create a LogFile Group
  • Add one more UndoFile to the LogFile Group
  • Create a TableSpace that uses the LogFile Group just created
  • Add one more DataFile to the TableSpace
  • Create a Cluster Disk Table

You can skip steps no. 2 and 4 as they are just to practise.

2. Log File Group & UndoFiles

The LogFile Group Editor (Fig. 1) allows you create / edit / drop a LogFile Group.

Creating a LogFile Group

Fig. 1: Creating a LogFile Group

It implements the following Data Definitions Statements:

1) [http://dev.mysql.com/doc/refman/5.1/en/create-logfile-group.html]

CREATE LOGFILE GROUP logfile_group
ADD UNDOFILE ‘undo_file’
[INITIAL_SIZE [=] initial_size]
[UNDO_BUFFER_SIZE [=] undo_buffer_size]
[REDO_BUFFER_SIZE [=] redo_buffer_size]
[NODEGROUP [=] nodegroup_id]
[WAIT]
[COMMENT [=] comment_text]
ENGINE [=] engine_name

2) [http://dev.mysql.com/doc/refman/5.1/en/alter-logfile-group.html]

ALTER LOGFILE GROUP logfile_group
ADD UNDOFILE ‘file_name’
[INITIAL_SIZE [=] size]
[WAIT]
ENGINE [=] engine_name

3) [http://dev.mysql.com/doc/refman/5.1/en/drop-logfile-group.html]

DROP LOGFILE GROUP logfile_group
ENGINE [=] engine_name

As you can see from Fig. 1, some options are disabled as they are parsed but not yet implemented by the  MySQL™ Server.

An UndoFile is required for the LogFile Group creation. In our example we will use an UndoFile named ‘undofile1′.

After the creation  of the LogFile Group the Tabs ‘UndoFiles’ and SQL will be enabled (Fig. 2, 3, 4).

LogFile Group Editor - Advanced Tab

Fig. 2: LogFile Group Editor - Advanced Tab

LogFile Group Editor - UndoFiles Tab

Fig. 3: LogFile Group Editor - UndoFiles Tab

LogFile Group Editor - SQL Tab

Fig. 4: LogFile Group Editor - SQL Tab

In the UndoFiles Tab you can see UndoFiles’ details or you can create one more UndoFile, using the Add UndoFile Dialog (Fig. 5).

Add UndoFile Dialog

Fig. 5: Add UndoFile Dialog

The SQL Tab contains the SQL statements to be executed for re-creating the LogFile Group (and all its UndoFiles!).

Note: you can’t delete UndoFiles.

Note 2: beginning with MySQL™ 5.1.8, you can have only one LogFile Group per Cluster at any given time (see Bug#16386).

Let’s now create a TableSpace that uses the LogFile Group just created.

3. TableSpaces & DataFiles

The TableSpace Editor (Fig. 6) allows you create / edit / drop TableSpaces.

Creating a TableSpace

Fig. 6: Creating a TableSpace

It implements the following Data Definitions Statements:

1) [http://dev.mysql.com/doc/refman/5.1/en/create-tablespace.html]

CREATE TABLESPACE tablespace_name
ADD DATAFILE ‘file_name’
USE LOGFILE GROUP logfile_group
[EXTENT_SIZE [=] extent_size]
[INITIAL_SIZE [=] initial_size]
[AUTOEXTEND_SIZE [=] autoextend_size]
[MAX_SIZE [=] max_size]
[NODEGROUP [=] nodegroup_id]
[WAIT]
[COMMENT [=] comment_text]
ENGINE [=] engine_name

2) [http://dev.mysql.com/doc/refman/5.1/en/alter-tablespace.html]

ALTER TABLESPACE tablespace_name
{ADD|DROP} DATAFILE ‘file_name’
[INITIAL_SIZE [=] size]
[WAIT]
ENGINE [=] engine_name

3) [http://dev.mysql.com/doc/refman/5.1/en/drop-tablespace.html]

DROP TABLESPACE tablespace_name
ENGINE [=] engine_name

Note: The Editor can be used to create both NDBCLUSTER and FALCON TableSpaces. When creating FALCON TableSpaces, the ‘LogFile Group’ option isn’t visible.

As you can see from Fig. 6, some options are disabled as they are parsed but not yet implemented by the  MySQL™ Server.

A DataFile is required for the TableSpace creation. In our example we will use a DataFile named ‘datafile-11′.

After the creation  of the TableSpace the Tabs ‘DataFiles’ and SQL will be enabled (Fig. 7, 8, 9).

TableSpace Editor - Advanced Tab

Fig. 7: TableSpace Editor - Advanced Tab

TableSpace Editor - DataFiles Tab

Fig. 8: TableSpace Editor - DataFiles Tab

TableSpace Editor - SQL Tab

Fig. 9: TableSpace Editor - SQL Tab

In the DataFiles Tab you can see DataFiles’ details or you can create one more DataFile, using the Add DataFile Dialog (Fig. 10). You can also drop a DataFile.

Add DataFile Dialog

Fig. 10: Add DataFile Dialog

The SQL Tab contains the SQL statements to be executed for re-creating the TableSpace (and all its DataFiles!).

4. Cluster Disk Objects Metadata

The source for Cluster Disk Object Metadata in MySQL™ 5.1 is the  information_schema.files table. I’ll try to post a more detailed article on Disk Object Metadata later on.

In the HoneyMonitor’s Metadata Catalog there is a visualization dedicated to Cluster Disk Objects (Fig. 11).

Metadata Catalog - Cluster Disk Objects

Fig. 11: Metadata Catalog - Cluster Disk Objects

That visualization is very useful to know, with just a look, the Cluster Disk Objects’  hierarchy. You can use popup menus to create / edit / drop the objects.

5. Creating Cluster Disk Tables

Now that our TableSpace has been created, we can create a Cluster Disk Table. We can use the command line client

CREATE TABLE my_disk_data_table (
….
)
TABLESPACE tablespace1 STORAGE DISK
ENGINE = NDBCLUSTER;

or the Create Table Wizard (Fig. 12).

Creating a Cluster Disk Table

Fig. 12: Creating a Cluster Disk Table

6. Dropping Cluster Disk Data Objects

Please, note that there are particular rules for dropping Cluster Disk Data Objects. You have to follow a logical order. For more information, please refer to http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster-disk-data-objects.html.

7. The Cluster Monitor

The Cluster Monitor (Fig. 13) allows you to monitor the status of your Cluster.

The Cluster Monitor

Fig. 13: The Cluster Monitor

At this stage of development it’s a simple (but useful) Window which shows information about the NDB Engine Status (at a glance or category by category) and the status, dynamic and system variables of the Server related to Cluster.

We plan to add new features for Cluster Management and Monitoring in HoneyMonitor, so stay tuned!

8. Cluster Disk Data Limitations

Disk Data Objects are subject to the following maximums:

  1. Maximum number of TableSpaces: 2^32 (4294967296)
  2. Maximum number of DataFiles per TableSpace: 2^16 (65535)
  3. The theoretical maximum number of extents per TableSpace data file is 2^16 (65525); however, for practical purposes, the recommended maximum number of extents per DataFile is 2^8 (32768).
  4. Maximum DataFile size: The theoretical limit is 64G; however, in MySQL™ 5.1, the practical upper limit is 32G. This is equivalent to 32768 extents of 1M each.The minimum and maximum possible sizes of extents for TableSpace data files are 32K and 2G, respectively.

For known limitations of MySQL Cluster, please refer to http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster-limitations.html.

9. Cluster Disk Data Quiz

Create a LogFile Group, some TableSpaces and some Cluster Disk Tables. Then choose a TableSpace and write a query to find the list of the tables which are using that TableSpace.

10. Other Resources

It’s now time to close this article. If you want to learn more on HoneyMonitor please visit the Project Home Page, at http://www.honeysoftware.com/honeymonitor, or check out one of the following resources:

Enjoy your MySQL™ Cluster!


Using Plugins in MySQL™ 5.1

August 6, 2008 - 7:08 pm - by Santo Leto
[HoneyMonitor is a GUI for MySQL™. Server Administration, Database and Database Objects Administration, Code Development, Server Monitoring, Performance Monitoring, Performance Auditing. Read more on http://www.honeysoftware.com/]

This is a short tutorial on the features implemented in HoneyMonitor for the use and administration of Plugins. It could be useful for Users who are new to the product and want to get start with it or to whom want to learn the basis of Plugins in MySQL™ 5.1

More details on the HoneyMonitor Reference Manual at http://www.honeysoftware.com/honeymonitor/doc.

Contents

  • Introduction
  • Plugins Metadata
  • Retrieving the list of Plugins
  • The Plugins Editor
  • The Plugins Tab of the Server Properties Window
  • An example of use:  a  FULLTEXT parser plugin
  • Other Resources

1. Introduction

There are three ways to add new functions to the MySQL™ Server:

  • through the User-Defined Function (UDF) interface;
  • by creating Stored Functions;
  • starting from v.5.1, through the MySQL™ Plugin Interface (the plugin interface is intended as the successor to the older UDF interface; in some respects, the plugin API is similar to the older UDF API that it supersedes, but the plugin API has several advantages over the older interface).

The UDFs are compiled as object files (.dll, .so) and then added to and removed from the server dynamically.
The Stored Functions are written using SQL statements rather than by compiling object code.
The Plugins are compiled as object files (.dll, .so) and then installed to and uninstalled from the server dynamically.

For more information about Plugins, please visit http://dev.mysql.com/doc/refman/5.1/en/plugin-api.html.

2. Plugins Metadata

In the mysql database there is a table -  mysql.plugin – where all the information about your Plugins are stored:

mysql> DESCRIBE mysql.plugin;
+——-+———–+——+—–+———+——-+
| Field | Type      | Null | Key | Default | Extra |
+——-+———–+——+—–+———+——-+
| name  | char(64)  | NO   | PRI |         |       |
| dl    | char(128) | NO   |     |         |       |
+——-+———–+——+—–+———+——-+
2 rows in set (0.01 sec)

There is also a table in the information_schema database:

mysql> DESCRIBE INFORMATION_SCHEMA.PLUGINS;
+————————+————-+——+—–+———+——-+
| Field                  | Type        | Null | Key | Default | Extra |
+————————+————-+——+—–+———+——-+
| PLUGIN_NAME            | varchar(64) | NO   |     |         |       |
| PLUGIN_VERSION         | varchar(20) | NO   |     |         |       |
| PLUGIN_STATUS          | varchar(10) | NO   |     |         |       |
| PLUGIN_TYPE            | varchar(80) | NO   |     |         |       |
| PLUGIN_TYPE_VERSION    | varchar(20) | NO   |     |         |       |
| PLUGIN_LIBRARY         | varchar(64) | YES  |     | NULL    |       |
| PLUGIN_LIBRARY_VERSION | varchar(20) | YES  |     | NULL    |       |
| PLUGIN_AUTHOR          | varchar(64) | YES  |     | NULL    |       |
| PLUGIN_DESCRIPTION     | longtext    | YES  |     | NULL    |       |
| PLUGIN_LICENSE         | varchar(80) | YES  |     | NULL    |       |
+————————+————-+——+—–+———+——-+
10 rows in set (0.01 sec)

3. Retrieving the list of Plugins

Plugins are listed in Plugins node of the Server Objects List (Fig. 1).

Server Objects List - Plugins

Fig. 1: Server Objects List - Plugins

You can install / uninstall a Plugin using node’s popup menu.

4. The Plugins Editor

The Plugins Editor (Fig. 2), allows you to install a Plugin. To successfully install a Plugin, you must copy it in the Plugin Directory of the Server (the Editor helps you because it includes a specific field for the Plugin Directory – not editable, of course).

The Plugins Editor

Fig. 2: The Plugins Editor

Let’s install a plugin using the Plugin Editor.

For this tutorial I will use the “Simple N-Gram (bi-gram) FULLTEXT parser plugin for MySQL 5.1+” - http://mysqlbigram.googlepages.com/.

We will connect to a MySQL™ Server running on a Linux Machine (Ubuntu) through a SSH Connection.

  1. open the Plugins Editor and read your Plugin Directory
  2. download the plugin library to the Plugin Directory (or ask your system administration to do that) – Fig. 3

Getting the Plugin

Fig. 3: Getting the Plugin

  1. insert the “Plugin Name” and the “Library Name” in the Plugin Editor and click on the save button (Fig. 2)

After the installation of the Plugin, the SQL Tab (Fig. 4) – now enabled - will contain the SQL syntax for re-installing the current Plugin.

The Plugin Editor - SQL Tab

Fig. 4: The Plugin Editor - SQL Tab

Note: you can open the “Server Properties Window” to read the value of the variable plugin_dir (Fig. 5).

Server Properties Window - Variables Tab

Fig. 5: Server Properties Window - Variables Tab

 

5. The Plugins Tab of the Server Properties Window

In the “Server Properties Window” there is a Tab for Plugins’ management. As you can see from Fig. 6

Server Properties Window - Plugins Tab

Fig. 6: Server Properties Window - Plugins Tab

in the Server Objects List are listed only your plugins while in the Plugins’ Tab of the Server Properties Windows the “system” plugins are listed too. The 2 Windows use different queries:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 23
Server version: 5.1.26-rc MySQL Community Server (GPL)

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

mysql> SELECT `name` FROM `mysql`.`plugin`; #### The Server Objects List
+———+
| name    |
+———+
| bi_gram |
+———+
1 row in set (0.00 sec)

mysql> SHOW PLUGINS; #### The Server Properties Window
+————+——–+—————-+—————+———+
| Name       | Status | Type           | Library       | License |
+————+——–+—————-+—————+———+
| binlog     | ACTIVE | STORAGE ENGINE | NULL          | GPL     |
| partition  | ACTIVE | STORAGE ENGINE | NULL          | GPL     |
| ARCHIVE    | ACTIVE | STORAGE ENGINE | NULL          | GPL     |
| BLACKHOLE  | ACTIVE | STORAGE ENGINE | NULL          | GPL     |
| CSV        | ACTIVE | STORAGE ENGINE | NULL          | GPL     |
| MEMORY     | ACTIVE | STORAGE ENGINE | NULL          | GPL     |
| InnoDB     | ACTIVE | STORAGE ENGINE | NULL          | GPL     |
| MyISAM     | ACTIVE | STORAGE ENGINE | NULL          | GPL     |
| MRG_MYISAM | ACTIVE | STORAGE ENGINE | NULL          | GPL     |
| bi_gram    | ACTIVE | FTPARSER       | bi_gramlib.so | GPL     |
+————+——–+—————-+—————+———+
10 rows in set (0.00 sec)

6. An example of use:  a  FULLTEXT parser plugin

Our plugin has been installed and it’s ready for use. Let’s test the ‘WITH PARSER’ option of the INDEX syntax:

First we create a Table – using the command line client or the Create Table Wizard (Fig. 7)

mysql> USE test;
Database changed
mysql> CREATE TABLE t (c VARCHAR(255));
Query OK, 0 rows affected (0.01 sec)

Create Table Wizard

Fig. 7: Create Table Wizard

And then we add an Index, using the command line or the Index Editor (Fig. 8)

mysql> CREATE FULLTEXT INDEX c ON t(c) WITH PARSER bi_gram;
Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0

Index Editor

Fig. 8: Index Editor

Of course we can add the Index while we are creating the table, but for this tutorial I decided to to that in two steps to let you see the CREATE INDEX syntax.

 

7. Other Resources

If you want to learn more on HoneyMonitor please visit the Project Home Page, at http://www.honeysoftware.com/honeymonitor, or check out one of the following resources:


[5.1 UCC] A series of articles on MySQL™ version 5.1

August 1, 2008 - 12:50 pm - by Santo Leto

Today (August 1st 2008) I started write a series of articles to be referenced in my MySQL™ 5.1 Use Case Report that I will submit later this month to the Community Team for the MySQL™ 5.1 Use Case Competition.

I guess UC Reports should contain real world use of MySQL™ 5.1. So if I am not mistaken you can submit a Report on partitioning, for instance, if you are using v. 5.1 because you need partitioning and you can include in your Report the reason you needed partitioning and a description of your development and deployment environment.

Now, I am not using Partitioning (or Events or Plugins) because I *need* partitioning in my production system for a specific reason. I am a developer so I developed software on those features ;-). So I will submit some posts about new features of the version 5.1 and let others decide if my stuff can be qualified for the competition or not.

The posts already on-line are:

  1. Using Federated Server in MySQL™ 5.1
  2. Using Scheduled Events in MySQL™ 5.1

Next posts will be:

  1. Using Plugins in MySQL™ 5.1
  2. Using Partitioning in MySQL™ 5.1
  3. Using Table Logging in MySQL™ 5.1
  4. Using Cluster Disk Data in MySQL™ 5.1

Contents are subject to change.


Using Federated Servers in MySQL™ 5.1

August 1, 2008 - 12:18 pm - by Santo Leto
[HoneyMonitor is a GUI for MySQL™. Server Administration, Database and Database Objects Administration, Code Development, Server Monitoring, Performance Monitoring, Performance Auditing. Read more on http://www.honeysoftware.com]

This is a short tutorial on the features implemented in HoneyMonitor for the use and administration of Federated Servers . It could be useful for Users who are new to the product and want to get start with it or to whom want to learn the basis of Federated Servers in MySQL™ 5.1

More details on the HoneyMonitor Reference Manual at http://www.honeysoftware.com/honeymonitor/doc.

 

Contents

  • Introduction
  • Federated Server Metadata
  • Retrieving the list of Federated Servers
  • The Federated Server Editor
  • Creating a Federated Table Using the Create Table Wizard
  • Other Resources
  • About the Author

1. Introduction

Starting from MySQL™ v.5.1.15-beta you can use the CREATE / ALTER / DROP SERVER syntax to manage your Federated Servers.

This can help you creating a FEDERATED table in a fast and more efficient way. In fact if you first create a Federated Server using the CREATE SERVER syntax, then you can create a federated table using the following simple create table option

CONNECTION = ‘federated_server_name’

instead of the longer

CONNECTION = ‘mysql://user_name [:password]@host_name[:port_num] /db_name/tbl_name’

Note that starting from version 5.1.26-rc, the FEDERATED storage engine is disabled by default in binary distributions. The engine is still available and can be enabled by starting the server with the –federated option.

For more information about Federated Server, please visit http://dev.mysql.com/doc/refman/5.1/en/federated-storage-engine.html.

 

2. Federated Server Metadata

In the database mysql there is a table -  mysql.servers – where all the information about the Federated Servers are stored:

mysql> DESCRIBE mysql.servers;
+————-+———-+——+—–+———+——-+
| Field       | Type     | Null | Key | Default | Extra |
+————-+———-+——+—–+———+——-+
| Server_name | char(64) | NO   | PRI |         |       |
| Host        | char(64) | NO   |     |         |       |
| Db          | char(64) | NO   |     |         |       |
| Username    | char(64) | NO   |     |         |       |
| Password    | char(64) | NO   |     |         |       |
| Port        | int(4)   | NO   |     | 0       |       |
| Socket      | char(64) | NO   |     |         |       |
| Wrapper     | char(64) | NO   |     |         |       |
| Owner       | char(64) | NO   |     |         |       |
+————-+———-+——+—–+———+——-+
9 rows in set (0.01 sec)

mysql> SELECT * FROM mysql.servers LIMIT 1\G
*************************** 1. row ***************************
Server_name: server1
Host: localhost
Db: mysql
Username: root
Password:
Port: 6005
Socket:
Wrapper: mysql
Owner:
1 row in set (0.00 sec)

 

3. Retrieving the list of Federated Servers

Federated Servers are listed in the Federated Servers node of the Server Objects List (Fig. 1).

Server Objects List - Federated Server

Fig.1: Server Objects List - Federated Servers

You can create / edit / drop a Federated Server using node’s popup menu.

 

4. The Federated Server Editor

The Federated Server Editor (Fig. 2), allows you to create / edit a Federated Server.

The Federated Server Editor

Fig. 2: The Federated Server Editor - Advanced Tab

You have to set the server name and (at least) one option to create a Federated Server.

After you set the Server’s parameters you can click on the button ‘Test Connection’ to test the connection to the MySQL™ Server.

After the creation of the Server, the SQL Tab (Fig. 3) – now enabled - will contain the SQL syntax for recreating the current Server.

The Federated Server Editor - SQL Tab

Fig. 3: The Federated Server Editor - SQL Tab

 

5. Creating a Federated Table Using the Create Table Wizard

The Create Table Wizard helps you creating tables in a simply and fast way (Fig. 4).

The Create Table Wizard

Fig. 4: The Create Table Wizard

The Wizard includes a ‘Connection’ option; when creating a Federated Table you can fill it with the connection string (’mysql://user_name[:password]@ host_name [:port_num]/db_name/tbl_name’) or just with the name of the Federated Server you created with Federated Server Editor.

By clicking on button at the right of the ‘Connection’ field, the Federated Server List will be opened thus helping you choosing an existing Federated Server - without the need of writing its name - or creating one more (Fig. 5).

The Federated Server List

Fig. 5: The Federated Server List

 

6. Other Resources

If you want to learn more on HoneyMonitor please visit the Project Home Page, at http://www.honeysoftware.com/honeymonitor, or check out one of the following resources:

7. About the Author

Santo Leto is a two years experience MySQL™ DBA and Developer.
Leader and main programmer of the HoneyMonitor Project, he graduated in physics and he lives in Italy, where he works from home.

 


Using Scheduled Events in MySQL™ 5.1

August 1, 2008 - 12:12 pm - by Santo Leto
[HoneyMonitor is a GUI for MySQL™. Server Administration, Database and Database Objects Administration, Code Development, Server Monitoring, Performance Monitoring, Performance Auditing. Read more on http://www.honeysoftware.com]

This is a short tutorial on the features implemented in HoneyMonitor for the use and administration of Scheduled Events . It could be useful for Users who are new to the product and want to get start with it or to whom want to learn the basis of Scheduled Events in MySQL™ 5.1

More details on the HoneyMonitor Reference Manual at http://www.honeysoftware.com/honeymonitor/doc.

 

Contents

  • Introduction
  • The Scheduled Event Editor
    1. Performed Action
    2. Advanced
    3. Comment
    4. SQL
  • Other way to create Events in HoneyMonitor
  • Editing Events
  • Information about the Execution of the Events
  • Do you want to know / edit the value of the variable event_scheduler?
  • Event Metadata
  • Other Resources
  • About the Author

1. Introduction

Scheduled Events have been added in MySQL™ v.5.1.6.

An Event is a named database object containing one or more SQL statements to be executed at one or more regular intervals, beginning and ending at a specific date and time. Scheduled tasks of this type are also sometimes known as “temporal triggers”, implying that these are objects that are triggered by the passage of time.

An Event can be enabled or disabled (there is also a third state: disabled on slave); if disabled the event is still present in the database but it is not executed.

For more information about Events, please visit http://dev.mysql.com/doc/refman/5.1/en/events.html

In HoneyMonitor, Events of a specific database are listed in the Server Objects List (Fig. 1)

Server Objects List - Events

Fig. 1: Server Objects List - Events

For more information about the Server Objects List, please refer to this post.

 

2. The Scheduled Event Editor

HoneyMonitor includes a Scheduled Event Editor (Fig. 2) that allow you to create, alter, rename and drop your Events.

The Scheduled Event Editor

Fig. 2: The Scheduled Event Editor

Let’s see how to use it.

No special privileges are required to use this Editor as HoneyMonitor retrieves the data it need from the information_schema database (it is not necessary that users have privileges on the mysql database). By the way, note that there is a privilege that govern the creation, modification, and deletion of events, the EVENT privilege.

I used some queries similar to the following to create a database and a user to test the Scheduled Event Editor:

CREATE DATABASE `sleto`;
CREATE USER ’sleto’@'localhost’;
FLUSH PRIVILEGES;
GRANT USAGE ON *.* TO ’sleto’@'localhost’ REQUIRE NONE;
FLUSH PRIVILEGES;
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,REFERENCES,INDEX,ALTER,CREATE TEMPORARY TABLES,LOCK TABLES,CREATE VIEW,SHOW VIEW,CREATE ROUTINE,ALTER ROUTINE,EXECUTE,EVENT,TRIGGER ON `sleto`.* TO ’sleto’@'localhost’;
FLUSH PRIVILEGES;

Events are executed by a special event scheduler thread; the global event_scheduler system variable determines whether the Event Scheduler is enabled and running on the server. If you don’t know the value of this variable – or if you don’t know that such a variable exists – don’t worry: look at the status-bar of the Editor, and click on it to enable the Event Scheduler (Fig. 3).

 Event Scheduler - ON | OFF

Fig. 3: Event Scheduler - ON | OFF

Try to ask your system administration if you haven’t the right privileges to perform this operation.
Let’s suppose that the Event Scheduler is running (ON) and let’s create our first Event by filling the required information on the Editor’s Tabs and clicking on the ‘Save’ button.

 

2.1 Performed Action

The ”Performed Action” Tab (Fig. 4) allows you to edit the event statement, i.e. the specific action performed by the event.

Event Editor - Performed Action

Fig. 4: Event Editor - Performed Action

 

2.2 Advanced

The ”Advanced” Tab (Fig. 5) allows you to set the event properties.

Event Editor - Advanced

Fig. 5: Event Editor - Advanced

There are two type of event:

  1. one-time event (”at”): a one-time event executes one time only;
  2. recurrent event (”every”): a recurrent event repeats its action at a regular interval, and the schedule for a recurring event can be assigned a specific start day and time, end day and time, both, or neither.

The ”Schedule details” frame changes according to the type of the event that is opened in the Events Editor (you can choose the event type using the ”Schedule form” combo).

When creating a new event, you may click on the ”if not exist” check to prevent an error if the event already exists.

 

2.3 Comment

The ”Comment” Tab (Fig. 6) allows you to set the event comment.

Event Editor - Comment

Fig. 6: Event Editor - Comment

 

2.4 SQL

The ”SQL” Tab (Fig. 7) contains the SQL syntax for recreating the current event. This tab will be enabled only after the Event creation.

Event Editor - SQL

Fig. 7: Event Editor - SQL

 

3. Other ways to create Events in HoneyMonitor

There are other ways to create an Event in HoneyMonitor. For instance, you can open the Script Editor and create the Event writing and executing a SQL query. You can also use the command builder if you don’t remember exactly the syntax (Fig. 8)

Script Editor - Writing the syntax for Event’s creation

Fig. 8: Script Editor - Writing the syntax for Event’s creation

 

4. Editing Events

You can open an Event in the Event Editor to enable / disable it or change some of its properties (and rename it as well). You can see also some metadata like the creation date (Fig 9).

Event Editor - Editing an Event

Fig. 9: Event Editor - Editing an Event

 

5. Information about the Execution of the Events

Is there a way to know if an event has been executed successfully?

Sure. You can check the Server Error Log. To do this in HoneyMonitor, open the Server Logs Management Window. You can also click on the button “Print Debug Information” to get more info  - but make sure you have the right privileges to perform this operation -  (Fig. 10).

Server Logs Management - Error Log

Fig. 10: Server Logs Management - Error Log

 

6. Do you want to know / edit the value of the variable event_scheduler?

HoneyMonitor allows you to choose your preferred way to perform a particular task: you choose the way you prefer.

Below you find some possible solutions:

  1. Open the Server Properties Window and go to the Tab “Variables”;

  2. Use the Metadata Catalog (Global Variables visualization);

  3. Open the Performance Tuning Monitor and go to the Tab “Variables”;

  4. Open the Event Editor and check its status bar;

  5. Open the Script Editor and create and execute a one-line script which contains the query “SHOW VARIABLES LIKE ‘event_scheduler’;”

  6. Click on the Utility / MySQL Command Line Client menu to open a command line client and execute the query “SHOW VARIABLES LIKE ‘event_scheduler’”;

Do you want to know/edit the value of the variable event_scheduler (or other variable) but you don’t remember the Type, the Handle and the Description of that variable?

Open the Server Properties Window and go to the Tab “Variables” (Fig. 11) to see those information!

Server Properties Window - Variables’ List

Fig. 11: Server Properties Window - Variables’ List

 

7. Event Metadata

The source of metadata for a Scheduled Event is the table information_schema.events (Fig. 12).

Event Metadata

Fig. 12: Event Metadata

 

8. Other Resources

If you want to learn more on HoneyMonitor please visit the Project Home Page, at http://www.honeysoftware.com/honeymonitor, or check out one of the following resources:

9. About the Author

Santo Leto is a two years experience MySQL™ DBA and Developer.
Leader and main programmer of the HoneyMonitor Project, he graduated in physics and he lives in Italy, where he works from home.


[HoneyMonitor Tutorial] Brief Introduction to the Server Objects List

August 1, 2008 - 11:30 am - by Santo Leto
[HoneyMonitor is a GUI for MySQL™. Server Administration, Database and Database Objects Administration, Code Development, Server Monitoring, Performance Monitoring, Performance Auditing. Read more on http://www.honeysoftware.com]

This is a short tutorial on the Server Objects List included in HoneyMonitor. I am writing it because I will reference it in some posts I am going to write in the next weeks. Furthermore, it could be useful for Users who are new to the product and want to get start with it.

More details on the HoneyMonitor Reference Manual at http://www.honeysoftware.com/honeymonitor/doc.

 

Contents:

  • Introduction
  • Connections Tree
  • Metadata Catalog
  • Using the Server Objects List
  • Other Resources
  • About the Author

1. Introduction

The Server Objects List (Fig. 1) is the ‘heart’ of HoneyMonitor. All server objects are listed in this Window using a tree-scheme and you can open most of the HoneyMonitor’s functionalities like the Table Editor, View Editor and Routine Editor using its useful popup menus.

HoneyMonitor - Server Objects List

Fig. 1: The Server Objects List.

The Window can be divided into 2 parts:

  • an upper part called Connections Tree;

  • a lower part called Metadata Catalog.

2. Connections Tree

The Connections Tree allows you to browse among the Server’s objects. The root nodes of the Tree are the Stored Connections to the MySQL™ Servers used by the software.

To connect to a Server, just double click on a connection node.

A connection node is filled with some sub-connection nodes (database objects, users, …) in a hierarchical way:

  1. Databases: all databases for which you have the appropriate privileges are listed. Each database node has the following sub-nodes (Fig. 2):

    1. Tables, all database’s table are listed;

    2. Views, all database’s views are listed;

    3. Stored Procedures, all database’s procedures are listed;

    4. Stored Functions, all database’s functions are listed;

    5. Scheduled Events, all database’s events are listed;

    6. Queries, all queries and scripts stored in your local drives and for which you decided to add a link to are listed;

    7. Reports, all reports stored in your local drives and for which you decided to add a link to are listed;

    8. Backups, all backups stored in your local drives and for which you decided to add a link to are listed;

 Server Objects List - Database Objects

Fig. 2: Server Objects List - Database Objects

  1. Users: all server’s users are listed (the select privilege on the mysql.user table is required).

  2. UDFs: all server’s UDFs are listed (the select privilege on the mysql.func table is required).

  3. Plugins: all server’s Plugins are listed (the select privilege on the mysql.plugin table is required).

  4. Federated Servers: all the server’s Federated Servers are listed (the select privilege on the mysql.servers tables is required).

  5. Cluster Disk Data: this node has not sub-nodes; when you click on it the LogFile Group, the UndoFiles, the TableSpaces and the DataFiles are added in the Cluster Tree (Fig. 3).

 Server Objects List - Cluster Objects Tree

Fig. 3: Server Objects List - Cluster Objects Tree

  1. Falcon TableSpaces: the Falcon TableSpaces are listed. TableSpaces nodes are filled with the Falcon Tables that use that TableSpace.

  2. Server Properties: this node has not sub-nodes; when you double-click the Server Properties Window will be opened.

Tables nodes, on their time, are filled with table’s sub-nodes (fields, indexes, foreign keys, triggers and partitions; Fig. 4).

Server Objects List - Table Objects

Fig. 4: Server Objects List - Table Objects

 

3. Metadata Catalog

Metadata is data about the data. The Metadata Catalog allows you retrieve additional information about the objects of the Connections Tree. When you click on a tree-node the Catalog automatically will display information about that node. However the Metadata Catalog contains additional information that aren’t related to the Connections Tree, and thanks to its ‘drill-down’ feature, you can use the Catalog apart from the Connections Tree.

The drill-down feature allows you to reach a deeper view in the Catalog and see more details. When you can drill-down the Catalog, the mouse pointer changes in a ‘hammer’.

The Metadata Catalog contains about 50 different visualizations (Fig. 5 and 6). For further details and screenshots, please refer to the HoneyMonitor’s Reference Manual.

Server Objects List - Federated Server DDL

Fig. 5: Server Objects List - Federated Server DDL

 

4. Using the Server Objects List

The nodes of the Connections Tree have popup menus that you can use to execute the most common administration actions related to that node.

The visualizations of the Metadata Catalog have popup menus that you can use to choose a particular visualization (for instance, for a table you can choose if you want to see the DDL or the list of fields or partitions, and so on; Fig. 6).

Server Objects List - User’s details in the Metadata Catalog

Fig. 6: Server Objects List - User’s details in the Metadata Catalog

Two toolbars, one for the Connections Tree and one for the Metadata Catalog, helps you executing the most common administration actions or navigating through metadata.

 

5. Other Resources

If you want to learn more on HoneyMonitor please visit the Project Home Page, at http://www.honeysoftware.com/honeymonitor, or check out one of the following resources:

6. About the Author

Santo Leto is a two years experience MySQL™ DBA and Developer.
Leader and main programmer of the HoneyMonitor Project, he graduated in physics and he lives in Italy, where he works from home.