Book Description
MySQL has introduced a Plugin API with its latest version – a robust, powerful, and easy way of extending the server functionality with loadable modules on the fly. But until now anyone wishing to develop a plugin would almost certainly need to dig into the MySQL source code and search the Web for missing bits of the information.
This is the first book on the MySQL Plugin API. Written together with one of the Plugin API primary architects, it contains all the details you need to build a plugin. It shows what a plugin should contain and how to compile, install, and package it. Every chapter illustrates the material with thoroughly explained source code examples.
Starting from the basic features, common to all plugin types, and the structure of the plugin framework, this book will guide you through the different plugin types, from simple examples to advanced ones. Server monitoring, full-text search in JPEG comments, typo-tolerant searches, getting the list of all user variables, system usage statistics, or a complete storage engine with indexes – these and other plugins are developed in different chapters of this book, demonstrating the power and versatility of the MySQL Plugin API and explaining the intricate details of MySQL Plugin programming.
A hands-on guide for MySQL application developers to creating feature-rich plug-ins
Extend MySQL to suit your needs with this unique guide into the world of MySQL plugins
- A practical guide with working examples explained line by line
- Add new functions to MySQL with User Defined Functions
- Export information via SQL using the INFORMATION_SCHEMA plugins
- Search within PDFs, MP3s, and images; offset user typing errors with fulltext parser plugins
- Access your custom data formats with a storage engine plugin
What you will learn from this book
- Build and install a plugin, and learn how to package it for distributing separately from MySQL
- Add new functions to MySQL using the UDF interface
- Declare new MySQL status and configuration variables from a plugin, and use Daemon plugins for a simple push style server monitoring
- Add a new table to the INFORMATION_SCHEMA that shows anything you like with an INFORMATION_SCHEMA plugin
- Use fulltext parser plugins to tolerate user errors, and search for text in binary data formats, for example, JPEG, or text that is stored outside the database
- Store and retrieve rows and convert your custom data format to what MySQL understands using the storage engine plugin
- Create a parser that indexes comments from JPEG files using the libexif library
- Understand how the indexing API works, and how to work around the incompatibilities between your indexing engine and MySQL expectations
- Learn about new features of the Plugin API, available beyond MySQL 5.1
Approach
This book is written in a hands-on style that actively involves you while you read through its chapters. In every chapter you, along with the author, will be implementing one or more fully working example plugins. The process is accompanied with a detailed step-by-step explanation of the code, at the same time providing you with resources to create your own plugins.
Who this book is written for
If you are a MySQL application developer or a programmer who wants to interface with MySQL server, this book is for you. Basic knowledge of C/C++, SQL, and MySQL in particular is assumed in the book, but no deep familiarity with any of the topics is required.
About the Author
Sergei Golubchik started modifying MySQL source code in 1998, and has continued as a MySQL AB employee since 2000. Working professionally with MySQL sources, he has had the opportunity to get to know and extend almost every part of the server code-from the SQL core to the utility functions. He was one of the primary architects of the Plugin API. After working for ten years in the ever-growing MySQL AB, and later in Sun Microsystems as a Principal Software Developer, he resigned to join a small startup company that works on a MariaDB-an extended version of the MySQL server, where he continues to do what he likes most-hack on MySQL, architecting, and developing MySQL/MariaDB Plugin API, making it even more powerful, safe, and easy to use. He works and lives in Germany, near Cologne, with his lovely wife and two kids.
Andrew Hutchings is currently one of the top MySQL Support Engineers working at Oracle. He came from failing Computer Science at A-Level (British exams for 17-18 year olds) to working on, pretty much, every field of computing. His first development job was as an 8-bit assembly firmware developer for an environment monitoring company. He then went on to become a senior PHP and C/ C++ developer as well as a DBA and system administrator for a large UK magazine chain. From there he was snapped up by Sun Microsystems as a MySQL Support Engineer specializing in MySQL Cluster and C/C++ APIs, much of this work involving deep analysis of the MySQL source code. Sun has since been bought by Oracle and Andrew is continuing his role there and was a tutorial speaker at the 2010 O’Reilly MySQL Conference & Expo. In his spare time Andrew is an active community developer of MySQL, MySQL Cluster, Drizzle, and MySQL Data Dumper (mydumper for short) as well as other small, related projects.
Book Details
- Paperback: 288 pages
- Publisher: Packt Publishing (August, 2010)
- Language: English
- ISBN-10: 1849510601
- ISBN-13: 978-1849510608
- File Size: 6.5 MiB
- Hits: 1,511 times