The MySQL Workbench tool is great for development and administration tasks. Also it's available on Windows, Linux and Mac OS X which, according to information from third party sources, is more than you can say for most of the other equivalent tools. And Workbench is free. Having said that, most of the provided functionalities are intuitive and of daily use for developer and DBA staff alike.
I've tried out Idera's MySQL Query Explorer, a free tool and I found it easy to use and simple to setup. The only improvement that can be suggested is to add, on the technical requirements page, that your MySQL instance (MySQL Server version 5.5 and newer) must be running with the performance_schema turned on. Otherwise the tool will just display an empty grid. After you've successfully set
On an earlier post I wrote about real time query monitoring on MySQL with a third party tool and without one. The script is useful as it works with MySQL 5.5 and later. However, if you're using a later version of MySQL, you should look at the SYS schema. It is a collection of views, functions and procedures to help MySQL administrators get insight in to MySQL Database usage. It's available to
The guys at Yahoo released their partition management script on github:
At Yahoo, we manage a massive number of MySQL databases spread across multiple data centers. We have thousands of databases and each database has many partitioned tables. In order to efficiently create and maintain partitions we developed a partition manager which automatically manages these for you with minimal pre
Landing on an enterprise with ongoing projects mean that servers are often handed to IT staff without complete knowledge of what's inside. I've built a simple script, scraping from here and there, to gather a summary of relevant information. Once you've gained remote access to the MySQL instance, you can execute the queries to identify the following information regarding the target database
Sometimes it's useful to have a set of data prepared to be used on a fresh MySQL install for testing purposes. Or you might be preparing some training or workshop and want to prepare examples with fake information. For MySQL there are some choices available:
Employees Sample Database: provides a combination of a large base of data (approximately 160MB) spread over six separate tables and
Using mysql command line utility to get recordsets, the data rows alignment and line breaks are often a mess. You can use the command line tool on a mysql database server to get a set of rows into an output TSV file like so: shell> mysql -u your_user -p < your_statement.sql > data.csv I came up with the following python script to grab the output file and pretty print:
You can put your own
In my ongoing efforts to migrate my fun side projects and coding experiments from SVN to Git I’ve come across some of my favorite Python based apps – which are all available in their respective repos on BitBucket, as follows:
- What it does: it’s an IRC bot that takes commands and does your bidding on whichever remote server the bot is installed on.
- How it does it: the bot runs on whatever server you install it on, then it connects to the IRC server and channel you configured it to connect to and it waits for you to give it commands, then it execs the commands and returns the output to your IRC chat window.
- …
Unfortunately jQuery doesn’t come with default form validation to check for ip-addresses or subnet masking. So without a long winded explanation here’s the code. Just include this as a separate JS file like the rest of your page’s JS.
// 'ipv4': IPv4 Address Validator $.validator.addMethod('ipv4', function(value) { var ipv4 = /^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$/; return value.match(ipv4); }, 'Invalid IPv4 address'); // 'netmask': IPv4 Netmask Validator $.validator.addMethod('netmask', function(value) { var mask = /^[1-2]{1}[2,4,5,9]{1}[0,2,4,5,8]{1}\. [0-2]{1}[0,2,4,5,9]{1}[0,2,4,5,8]{1}\. [0-2]{1}[0,2,4,5,9]{1}[0,2,4,5,8]{1}\. [0-9]{1,3}$/; return value.match(mask); }, 'Invalid IPv4 netmask');
You can use it like this.
$("#myform_here").validate({ rules:{ ipaddress:{ required:true, ipv4:true }, netmask:{ …[Read more]
If you’ve ever used non-opensource code, or applications that you don’t have complete control over, then you may have run into situations you need to alter data on a per-row basis but been unable to do so for lack of application SQL access. The solution to this type of problem is to use a MySQL TRIGGER, which allows us to execute arbitrary SQL commands when defined events occur. Why is this useful and how does it work? Well…
For example, I have a freeRADIUS server that uses MySQL as a backend for the user authentication, and one of my server applications (HostBill) provides a freeRADIUS plugin that allows my users to manage their RADIUS accounts; however the default freeRADIUS schema lacks a DATETIME column on the user table. When a user is created (INSERT) or has their password changed (UPDATE) I have no row data that tells me the dates when these operations were issued. Typically this would be a trivial change: issue an ALTER TABLE …
[Read more]