The following features have been added to MySQL 5.1.
Partitioning.Â
This capability enables distributing portions of
individual tables across a filesystem, according to rules
which can be set when the table is created. In effect,
different portions of a table are stored as separate
tables in different locations, but from the user point of
view, the partitioned table is still a single table.
Syntactically, this implements a number of new extensions
to the CREATE TABLE, ALTER
TABLE, and EXPLAIN ... SELECT
statements. As of MySQL 5.1.6, queries against partitioned
tables can take advantage of partition
pruning. In some cases, this can result in
query execution that is an order of magnitude faster than
the same query against a non-partitioned version of the
same table. See Chapter 19, Partitioning, for
further information on this functionality. (Author: Mikael
Ronström)
Row-based replication.Â
Replication capabilities in MySQL originally were based on
propagation of SQL statements from master to slave. This
is called statement-based
replication. As of MySQL 5.1.5, another basis
for replication is available. This is called
row-based replication. Instead of
sending SQL statements to the slave, the master writes
events to its binary log that indicate how individual
table rows are effected. As of MySQL 5.1.8, a third option
is available: mixed. This will use
statement-based replication by default, and only switch to
row-based replication in particular cases. See
Section 17.1.2, âReplication Formatsâ. (Authors: Lars
Thalmann, Guilhem Bichot, Mats Kindahl)
Plugin API.Â
MySQL 5.1 adds support for a very flexible plugin API that
enables loading and unloading of various components at
runtime, without restarting the server. Although the work
on this is not finished yet, plugin full-text
parsers are a first step in this direction.
This allows users to implement their own input filter on
the indexed text, enabling full-text search capability on
arbitrary data such as PDF files or other document
formats. A pre-parser full-text plugin performs the actual
parsing and extraction of the text and hands it over to
the built-in MySQL full-text search. See
Section 30.2, âThe MySQL Plugin Interfaceâ. (Author: Sergey Vojtovich)
Event scheduler.Â
MySQL Events are tasks that run according to a schedule.
When you create an event, you are creating 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. Conceptually, this
is similar to the idea of the Unix
crontab (also known as a âcron
jobâ) or the Windows Task Scheduler. See
Chapter 23, Event Scheduler. (Author: Andrey Hristov)
Server log tables.Â
Before MySQL 5.1, the server writes general query log and
slow query log entries to log files. As of MySQL 5.1, the
server's logging capabilities for these logs are more
flexible. Log entries can be written to log files (as
before) or to the general_log and
slow_log tables in the
mysql database. If logging is enabled,
either or both destinations can be selected. The
--log-output option controls the
destination or destinations of log output. See
Section 5.2.1, âSelecting General Query and Slow Query Log Output Destinationsâ. (Author: Petr Chardin)
Upgrade program.Â
The mysql_upgrade program (available as
of MySQL 5.1.7) checks all existing tables for
incompatibilities with the current version of MySQL Server
and repairs them if necessary. This program should be run
for each MySQL upgrade. See
Section 4.4.8, âmysql_upgrade â Check Tables for MySQL Upgradeâ. (Authors: Alexey
Botchkov, Mikael Widenius)
MySQL Cluster replication.Â
Replication between MySQL Clusters is now supported. It is
now also possible to replicate between a MySQL Cluster and
a non-cluster database. See
Section 18.11, âMySQL Cluster Replicationâ.
MySQL Cluster disk data storage.Â
In MySQL versions previous to 5.1.6, the
NDBCLUSTER storage engine was strictly
in-memory; beginning with MySQL 5.1.6, it is possible to
store Cluster data (but not indexes) on disk. This allows
MySQL Cluster to scale upward with fewer hardware (RAM)
requirements than previously. In addition, the Disk Data
implementation includes a new âno-stealâ
restoration algorithm for fast node restarts when storing
very large amounts of data (terabyte range). See
Section 18.12, âMySQL Cluster Disk Data Tablesâ.
Improved backups for MySQL Cluster.Â
A fault arising in a single data node during a Cluster
backup no longer causes the entire backup to be aborted,
as occurred in previous versions of MySQL Cluster.
MySQL Cluster NDB 6.x.Â
Many new features and other improvements have been made to
the NDBCLUSTER storage engine in MySQL
Cluster NDB 6.x (formerly known as âMySQL Cluster
Carrier Grade Editionâ); for an overview of these,
see Section 18.15, âMySQL Cluster Development Roadmapâ.
Backup of tablespaces.Â
The mysqldump utility now supports an
option for dumping tablespaces. Use -Y or
--all-tablespaces to enable this
functionality.
Improvements to INFORMATION_SCHEMA.Â
MySQL 5.1 provides much more information in its metadata
database than was available in MySQL 5.0. New tables in
the INFORMATION_SCHEMA database include
FILES, EVENTS,
PARTITIONS,
PROCESSLIST,
ENGINES, and
PLUGINS.
XML functions with XPath support. ExtractValue() returns the
content of a fragment of XML matching a given XPath
expression. UpdateXML()
replaces the element selected from a fragment of XML by an
XPath expression supplied by the user with a second XML
fragment (also user-supplied), and returns the modified
XML. See Section 11.10, âXML Functionsâ. (Author:
Alexander Barkov)
Load emulator.Â
The mysqlslap program is designed to
emulate client load for a MySQL server and report the
timing of each stage. It works as if multiple clients were
accessing the server. See Section 4.5.7, âmysqlslap â Load Emulation Clientâ.
(Authors: Patrick Galbraith, Brian Aker)
User Comments
Add your own comment.