Home |  MySQL Buzz |  FAQ |  Feeds |  Submit your blog feed |  Feedback |  Archive |  Aggregate feed RSS 2.0 English Deutsch Español Français Italiano 日本語 Русский Português 中文
Showing entries 1 to 30 of 30

Displaying posts with tag: plugins (reset)

Improved password policy utility for MySQL 5.6
Employee_Team +5 Vote Up -0Vote Down

I previously published stored programs to help implement a (more) comprehensive password policy in MySQL 5.6, building on the password complexity plugin now available in MySQL 5.6.  This proof-of-concept has been expanded recently, and the updated package is available here.  There’s a few notable changes to the earlier version:

Moved all created objects out of mysql system database

The mysql database is meant for system tables, and I try to keep everything not directly managed by the MySQL server out of that database.  The initial proof-of-concept implementation violated this principal – the

  [Read more...]
It's alive!
+3 Vote Up -0Vote Down
LinkedIn has what they call "inDays" where employees may so something interesting which may not be directly related to their day job. I spent my inDay by porting my old WL820 project (External Language Stored Procedures) to MariaDB 5.3. The code, as usual, is available on LaunchPad ... To get the branch, simply do: bzr branch lp:~atcurtis/maria/5.3-wl820 The test cases pass... I haven't tested
M3 code refactor & DBI support
+0 Vote Up -2Vote Down

Pluggable M3 (Monitis Monitor Manager) Framework

Who needs an introduction about M3? – Perhaps no one!
After gaining some reputation with M3, providing extra-easy integration of any monitor into Monitis it was time to take it to the next level.

Generally speaking, the work flow of M3 was described in detail in this article.

After some thought and design, we’ve decided it’d be best if M3 was pluggable. Pluggable in


  [Read more...]
MariaDB: Improve Security with Two-Step Verification
+3 Vote Up -0Vote Down

In this primer I will show how to improve the security of your MariaDB installation by using two-step verification and how to use it from your Windows GUI client.

Let’s suppose you have your data in MariaDB, installed, say, on Ubuntu. And your users connect to it to run ad hoc queries, using some sort of a Windows GUI client. You don’t want them to write the access password on post-it notes or have it auto-entered by the client. And you don’t want anyone see the password when one of the salespersons connects to the mother ship from his laptop in the Internet café. So you decide to use the two-step verification, just like Google does, to secure the access to the data.

If you don’t know what a “two-step verification” is, see, for example, this introductory

  [Read more...]
Writing a MariaDB PAM Authentication Plugin
+7 Vote Up -2Vote Down

As you may know, since version 5.2.0 (released in April 2010) we support Pluggable Authentication. Using this feature one can implement an arbitrary user authentication and account management policy, completely replacing built-in MariaDB authentication with its username/password combination and mysql.user table.

Also, as you might have heard, Oracle has recently released a PAM authentication plugin for MySQL. Alas, this plugin will not run on MariaDB — although the MySQL implementation of pluggable authentication is based on ours, the API is incompatible. And, being closed source, this plugin cannot be fixed to run in MariaDB. And — I’m not making it up — this plugin does not support communication between the client and the server, so even with this plugin and all the

  [Read more...]
Plugins & Storage Engines Summit for MySQL/MariaDB
+1 Vote Up -0Vote Down

As is tradition after the O’Reilly MySQL Conference & Expo, there tends to be a storage engine summit right afterwards. This year it was expanded to also include plugins. I must graciously thank Facebook for hosting us at their campus, and giving us a rather healthy lunch, plus fueling us with all those drinks, caffeine and snacks that we needed to keep us going. While standing in the doorway, Mark (Callaghan) pointed to us that a certain other Mark (Zuckerberg) was walking into the campus, just like the rest of us.

The very raw notes are up on the Knowledgebase - Plugins & Storage Engines Summit for MySQL/MariaDB/Drizzle 2011. We definitely did not discuss anything Drizzle related,

  [Read more...]
OQGRAPH at MySQL UC 2011
+2 Vote Up -0Vote Down
I had a good and lively audience at my presentation today. I was happy to give them a sneek preview of the Mk.III implementation of OQGRAPH. Oh yeah! I guess I'm announcing the availability of the source code of the MkIII implementation. Links are in my slides... http://goo.gl/UrybZ Btw, building the storage engine requires Boost libraries and libJudy installed. It's currently in a MariaDB
MySQL Workbench: Introducing Utilities
Employee_Team +8 Vote Up -0Vote Down

MySQL has the well earned reputation for ease-of-use and “15-minutes-to-success”, since we continually focus making the server easy to use. MySQL Workbench provides the visual tools for database design, development, and administration. However, many DBAs prefer using the command-line, and there are many tasks that require the creation scripts for doing the job.

To make it easier to work with the server, the latest release of the MySQL Workbench—version 5.2.31—contain a set of Python scripts intended to make the life easier for DBAs by providing easy-to-use utilities for common tasks, which were introduced in the blog MySQL Workbench: Utilities. The set currently consists of just a few utilities, but will expand over time.

The utilities available in the Workbench are:

  [Read more...]
MySQL Workbench: Utilities
Employee_Team +7 Vote Up -0Vote Down

MySQL Workbench is an extensible tool for database design, development, and administration – with support for python scripting and plugins, that can automate basic tasks.

Starting with MySQL Workbench 5.2.31, and with MySQL designers, developers, and administrators in mind, we’ve added a new plugin called MySQL Utilities. The MySQL Utilities is a set of python scripts that automate basic tasks. And as MySQL Workbench is about helping design, develop and administer databases, we’ve put the MySQL Utilities at your fingertips so you can quickly get to them and get your job done. Users will benefit from proven scripts, leverage the testing and ideas of the community and the experts at MySQL, and avoid having to reinvent common scripts…

Lets go on a quick tour…

The MySQL Utilities Plugin starts a shell that contains a set of python scripts that perform tasks such as copying, exporting, and

  [Read more...]
MySQL Workbench Plugin: Auto-Create Foreign Keys
Employee_Team +6 Vote Up -0Vote Down

To automatically create Foreign Key relationships is a typical use case for developers working with the MyISAM storage engine. This has been a popular topic on the Blog and forums so we’re revisiting it here – with a new and improved plugin written in Python.

While the InnoDB storage engine supports foreign keys, MyISAM doesn’t, but developers often pick it for various reasons and leave the application to handle relationships itself. MySQL Workbench can be used to reverse engineer a database to a model to better visualize or maintain it. But since MyISAM doesn’t have foreign keys, databases that use it will be lacking a very important part of it’s structure in the diagrams. You can link the columns manually, using the relationship tool to link columns, but you can also automate that. Databases are usually created so that columns that represent relationships have names that follow some

  [Read more...]
A review of MySQL 5.1 Plugin Development by Golubchik and Hutchings
+11 Vote Up -0Vote Down

MySQL 5.1 Plugin Development

MySQL 5.1 Plugin Development, by Sergei Golubchik and Andrew Hutchings, Packt 2010. About 250 pages. (Here’s a link to the publisher’s site.)

This book is well worth reading for anyone interested in MySQL internals. I learned a lot from it. It is well-written and understandable. I cannot say that I’m planning to write storage engines or more advanced plugins, but I have a great many ideas how to improve MySQL, and I now understand more clearly which of those are suitable to

  [Read more...]
MySQL Workbench Plugin: Execute Query to Text Output
Employee_Team +0 Vote Up -2Vote Down

In MySQL Workbench 5.2.26 a new query execution command is available, where query output is sent as text to the text Output tab of the SQL Editor. Some MySQL Workbench users liked the “Results to Text” option available in Microsoft SQL Server Management Studio. Cool thing is with a few lines of Python we implemented this command using the SQL Editor scripting API.

For full documentation on scripting and plugin development, refer to the documentation pointers page.

In this post, you will learn:

  • Python script for implementing “Results to Text”
  • How you can customize the script to deliver your own
  [Read more...]
Speed Up Your Wedding Photography Website in less than 5 minutes.
+0 Vote Up -0Vote Down

If you have a wedding photography website, more than likely you want to showcase your work, or the work of your colleagues. You want to do this, without putting up low quality pictures, nor do you want to make your visitors wait 20 seconds before the page loads. Here are two plugins I use for my clients to help with this.

  • The Smush.it plugin. This plugin compresses your image using the Smush.it API from Yahoo!, I’ve used it to reduce a page size from 3MB to 1.3MB, which meant that visitors were able to see the site faster, and appreciate the photographs rather than their internet connection.
  • W3 Total Cache : This is a fairly advanced plugin that makes your site use MySQL less, and also helps you off load things onto a content delivery
  [Read more...]
MySQL University: The Spider Storage Engine
Employee +2 Vote Up -0Vote Down

This Thursday (November 26th, 14:00 UTC), Giuseppe Maxia will present the Spider Storage Engine. This session was originally scheduled for October 15th but had to be postponed for technical reasons.

Here's from the abstract: Everybody needs sharding. Which is not easy to maintain. Being tied to the application layer, sharding is hard to export and to interact with. The Spider storage engine, a plugin for MySQL 5.1 and later, solves the problem in a transparent way. It is an extension of partitioning. Using this engine, the user can deal transparently with multiple


  [Read more...]
MySQL University: The Spider Storage Engine
Employee +0 Vote Up -0Vote Down

This Thursday (November 26th, 14:00 UTC), Giuseppe Maxia will present the Spider Storage Engine. This session was originally scheduled for October 15th but had to be postponed for technical reasons.

Here's from the abstract: Everybody needs sharding. Which is not easy to maintain. Being tied to the application layer, sharding is hard to export and to interact with. The Spider storage engine, a plugin for MySQL 5.1 and later, solves the problem in a transparent way. It is an extension of partitioning. Using this engine, the user can deal transparently with


  [Read more...]
MySQL University: The Spider Storage Engine
Employee +0 Vote Up -0Vote Down

This Thursday (November 26th, 14:00 UTC), Giuseppe Maxia will present the Spider Storage Engine. This session was originally scheduled for October 15th but had to be postponed for technical reasons.

Here's from the abstract: Everybody needs sharding. Which is not easy to maintain. Being tied to the application layer, sharding is hard to export and to interact with. The Spider storage engine, a plugin for MySQL 5.1 and later, solves the problem in a transparent way. It is an extension of partitioning. Using this engine, the user can deal transparently with


  [Read more...]
MySQL Workbench Administrator Plugin
Employee_Team +1 Vote Up -0Vote Down

Recently we have released Workbench 5.2.4 Alpha. This version has some new features, and amongst them there is Workbench Administrator plugin or WBA plugin for short.

The plugin aims to ease the managing process of server instances. What we offer with WBA is a simple way to check status, configure and control one server instance. Some parts will resemble discontinued MySQL Administrator.

And here is a short summary of what we will have in WBA:

  • Start/Stop server
  • Edit server configuration (my.cnf)
  • Manage user accounts
  • Monitor user connections
  • Status/Server variables browsing
  • Log browsing
  • Dump/Restore

In this alpha we have implemented a subset, which targets local usage only. Remote management and administration is upcoming. The subset includes:

  • Add new Server Profiles
  • Start/Stop the Server
  • Edit
  [Read more...]
A year in review; new direction.
+0 Vote Up -0Vote Down
It has been more than a year since my self-imposed hiatus from serious MySQL development started and I think it is about time that I get back into the saddle. I have a handful of working prototypes but I should get the code out there, back into the community.I learned a bunch of stuff during the past year at Google but in the end, working on JavaScript, HTML/CSS and Google proprietary languages
Auto-create relationships for MyISAM tables in MySQL Workbench
Employee_Team +2 Vote Up -0Vote Down

Over a chat on the #workbench IRC channel, Collin Cusce has written a handy little Lua script to automatically create relationships (through foreign keys) for his reverse engineered database.

Reverse engineering the DB to import tables into a diagram was easy, but their database used no “hard” foreign keys and an ER diagram without relationships wouldn’t be of much use. So one option would be to individually connect each foreign key column pair by hand, using the relationship picking tool . But doing that for the thirty-something tables in the database would be too much work and something could be overlooked and left out. The other option would be to automate that, since all such foreign keys followed a naming convention like

  [Read more...]
Securing Wordpress
+0 Vote Up -0Vote Down

A couple of  weeks ago I got an unhappy email from my web hosting provider telling me I was in violation of their Terms of Service. Of course I called them immediately and was told that there was a “phishing page” hidden in one of my web directories. My blog had been hacked, so I immediately started doing some house cleaning.

After the initial once over and deletion of any suspicious files I went looking for advice on how to “harden my installation”. Here’s what I found:

  [Read more...]
Past Presentations Now Online
Employee +0 Vote Up -0Vote Down

I uploaded all of my past presentations to Slideshare recently, and realized that I hadn’t actually posted some of these on my blog in the past as well.

So I’ve created a new Presentations Page that has all of these together now.

It’s kind of funny to see the “MySQL for Oracle DBAs” presentation again - a lot has changed since 2006!

In any case, enjoy if you haven’t seen them - give them a look over if interested, and feel free to post comments or questions on the page!

Perl and Java Stored Procedures for MariaDB 5.1
+1 Vote Up -0Vote Down
I just applied the external stored procedure patch to a branch of MariaDB and uploaded it to LaunchPad.You can see the branch at https://code.launchpad.net/~atcurtis/maria/5.1-wl820Note that this is not in any reasonable condition to merge into MariaDB. Hopefully we can engage in dialog as to how we can bring this feature properly to MariaDB, MySQL and Drizzle, hopefully making the plugins
MySQL Workbench speaks SQLite
Employee_Team +0 Vote Up -0Vote Down

As many of you already know, MySQL Workbench offers powerful scripting support and a plugin interface that allows anybody to extend the application or add new functionality.

The latest addition to the WB plugin family has been written by Thomas Henlich. It features SQLite compatible SQL export of your Workbench models.

Download it from his blog and please provide feedback on the forums.

We are working on improving the scripting support in WB 5.2 and finally adding proper documentation so even more people can contribute.

Downloads for External/Perl Stored Procedures (aka LaunchPad is painfully slow)
+1 Vote Up -0Vote Down
It appears that LaunchPad.net is pretty slow.So that people can have something to play with, I have transferred files to my own web site.Presentation files:UC2009_presentation.zipSource downloads:mysql-5.1.34.tar.gzmysql-5.1.33.tar.gzPlease don't melt my router.... kthanx.
Perl Stored Procedures for MySQL
+0 Vote Up -0Vote Down
Files used in conference presentation here: UC2009 presentationI think todays presentation for Perl Stored Procedures for MySQL was quite successful. The audience was quite engaged and asked questions throughout (yes, I invited questions through the talk). I made sure to mention Eric Herman's Java plugin because even though he didn't get time to submit a talk, the work is noteworthy. Sometimes I
External Stored Procedures for MySQL
+0 Vote Up -0Vote Down
Finished my presentation earlier this afternoon. I had a better audience than last year and there was interest in the download URL for the source tarballs so I hope to see people hacking on it soon.The link to the presentation is here.There has been lots of good communication with staff from MySQL^WSun Microsystems^W^WOracle so maybe we shall see this code to begin to be integrated soon. In other
MySQL 5.1.32 + External Stored Procedures
+0 Vote Up -0Vote Down
I have synced the codebase with the 5.1.32 release of MySQL and it appears to work just fine. Sometimes frustrating that Bazaar takes a bizarre amount of time to do a merge.Download link for the source tarball are available from LaunchPad Download.As an experiment, I have built a Mac OS 10.5 installer package (x86 32bit) which I have also placed there. Took a bit of fiddling about to discover how
Python Scripting in Workbench
Employee_Team +0 Vote Up -0Vote Down

Python support has been added to the latest version of MySQL Workbench.

In addition to Lua, you can now write scripts and modules or interact with the GRT shell using the Python language. The integration allows you to use GRT objects and modules mostly in the same way you would do with normal Python objects. The built-in grt module contains everything related to the GRT that’s exposed to Python, including:

  • custom types for GRT lists, dicts and objects
  • wrappers for GRT classes, that can be used and instantiated as a normal Python class;
  • wrappers for registered GRT modules, that can be used like normal modules;
  • a reference to the root node of the GRT globals tree;

You can inspect these objects with the standard dir() command and in some cases with help(), to access

  [Read more...]
Re: Are MySQL stored procedures slow?
+0 Vote Up -0Vote Down
In Brooks Johnson's blog posting, Database Science: Are MySQL stored procedures slow?, he mentioned how much slower MySQL's stored procedures are and then compared it with a small piece of .Net code.

Using Perl, a stored procedure which counts to the same value is obviously not going to be as fast as bytecode languages with JIT compilers but it is a lot faster than MySQL's native SQL stored procedures. These perl stored procedures are able to perform dynamic SQL using the familiar DBD::mysql driver without any risk of self-deadlock.

Of course, you can also write stored procedures in Java for many databases but I haven't yet written the neccessary Type 2 JDBC driver to perform a in-thread connection back into the database server to be





  [Read more...]
MySQL Workbench - LUA-Script For Batch Renaming Of Foreign Keys
Employee_Team +0 Vote Up -0Vote Down

Yesterday there was a short discussion on our public IRC channel (#workbench on freenode). It was about how Workbench handles Foreign-Key-Names.

Especially if you intend to use Synchronization feature (available in SE edition only) its good to have names for FKs (and their coresponding Indices). Workbench does that by default if you’re using the Relationship-tools (Hotkeys 1 to 6 when canvas is focused). But if you prefer to create your FKs in a not-so-visual way (entering the values on the FK-Tab in the table-Editor) you are on your own when it comes to naming your FKs. Though Workbench initially only accepts creating keys after you typed a name into the name-field theres still the possibility to rename the FK later to even empty names. If you try to create empty named FKs on a MySQL Server the server will generate a name for the key.

If you want to change FK names later, when your model

  [Read more...]
Showing entries 1 to 30 of 30

Planet MySQL © 1995, 2013, Oracle Corporation and/or its affiliates   Legal Policies | Your Privacy Rights | Terms of Use

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.