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 中文
Previous 30 Newer Entries Showing entries 31 to 60 of 60

Displaying posts with tag: MySQL 5.6 (reset)

Changes to Options and Variables in MySQL 5.6
Employee_Team +3 Vote Up -0Vote Down

With MySQL 5.6 just gone GA, I thought it would be good to take a look at the changes in options and variables that comes with the new release.

First of all, several of the existing options have get new default values. As James Day already have written a good post about that in his blog, I will refer to that instead of going through the changes. For a general overview of the new features and improvements, the recent blogs by Rob Young and Peter Saitsev are good starting points

  [Read more...]
MySQL 5.6 GA – Replication Enhancements
Employee +5 Vote Up -0Vote Down

Multi-Threaded Slave

MySQL 5.6 has now been declared Generally Available (i.e. suitable for production use). This is a very exciting release from a MySQL replication perspective with some big new features. These include:

  • Global Transaction Identifiers (GTIDs) – a unique identifier that is used accross your replication topology to identify a transaction. Makes setting up and managing your cluster (including the promotion of a new master) far simpler and more reliable.
  • Multi-threaded slaves (MTS) – Increases the performance of replication on the slave;
  [Read more...]
1.5x … 9x faster queries with PHP and MySQL 5.6, really?
Employee +0 Vote Up -0Vote Down

I am telling no secret saying MySQL 5.6 GA can be expected to be released soon, very soon. Time to test one of the improvements: MySQL 5.6 speaks SQL and Memcache protocol. In your PHP MySQL apps, try using the Memcache protocol to query MySQL. A key-value SELECT ... FROM ... WHERE pk = <key> can become 1.5x-2x faster, an INSERT INTO table(pk, ...) VALUES (<key> ...) can become 4.5x-9x faster, says the InnoDB team! Read on: background, benchmark, usage, PECL/mysqlnd_memcache,

  [Read more...]
MySQL 5.6: Testing innodb_read_only with multiple instances
Employee +4 Vote Up -0Vote Down
There are many good things in the upcoming MySQL 5.6 release. One thing that caught my eye early on was the ability to start the server with InnoDB set to a read only mode.

A few months ago Todd Farmer wrote about this ability from the perspective of setting up an instance on read-only media (InnoDB now works with read-only media). And I encourage you to read that post first.
I decided to test this from a data warehouse perspective (as Sunny Bains points out in a comment to Todd's post). I used machines I have available: 1 OL6 desktop running 5.6.9 and 1 MacBook Pro running 10.8.

First thing to try was adding the innodb_read_only parameter to the config file on an instance I already had running on the Linux box. My setting:






  [Read more...]
Percona MySQL University in Montevideo and Buenos Aires
+2 Vote Up -0Vote Down

Following our Percona MySQL University event in Raleigh,NC Percona MySQL University comes to South America! We’ll have a Full day FREE MySQL Technical Educational events in Montevideo on February 5th, 2013 and Buenos Aires on February 7th.

I’m very excited to bring these events to MySQL Community in Uruguay and Argentina. This is my first trip to South America and it looks like it is going to be a lot of fun!

With Percona MySQL University events, we focus on MySQL Education for broad group of users. We’ve specially prepared talks that will be interesting for people just

  [Read more...]
“MySQL & Friends devroom” at FOSDEM 2013
Employee +3 Vote Up -0Vote Down

FOSDEM 2013

The Free and Open source Software Developers’ European Meeting (FOSDEM) is a two-day event organized by volunteers to promote the widespread use of Free and Open Source software. As in previous years, there is a dedicated stream of MySQL Sessions. On Saturday (2nd Feb) evening there’s a MySQL community dinner and then we’ve a packed program from 9:15 through 17:30 on Sunday (3rd Feb).

FOSDEM 2013 is a free event and there’s no requirement to pre-register – just get

  [Read more...]
Percona Toolkit 2.1.8 released today with beta support for MySQL 5.6
+2 Vote Up -0Vote Down

Percona Toolkit 2.1.8

Percona Toolkit 2.1.8 was released today and the new version comes with some pretty cool news: Beta support for MySQL 5.6 (which as you might know is also in beta).

In addition to various bug fixes, Percona Toolkit 2.1.8 also offers beta support for Percona XtraDB Cluster (PXC). Version 2.1.8 continues the trend of solid bug fix releases, and all 2.1 users are encouraged to upgrade.

You can download Percona Toolkit 2.1.8 here.  (

  [Read more...]
Gluh on InnoDB extended secondary keys
Employee +1 Vote Up -0Vote Down
Sergey Glukhov (Gluh) recently wrote an interesting blog about InnoDB secondary key improvements in MySQL 5.6. His blog isn't aggregated to planet.mysql.com but certainly deserves some attention. 
Here it is: InnoDB, extended secondary keys.
InnoDB now works with read-only media
Employee_Team +6 Vote Up -0Vote Down

With a handful of exceptions, few people deliberately choose to deploy MySQL on read-only media – but there are cases where being able to access InnoDB data that way comes in handy.  As it happened, I had exactly this need a few months back, and the excellent InnoDB development team at Oracle has recently implemented this feature in MySQL 5.6.

First, some background.  We had a need to migrate  legacy systems from a 3rd party data center into new corporate data centers.  These systems were redundant, but we wanted to retain access to the data for archival purposes.  All went well, except one small detail:  Because the machines were originally housed outside the new data center, we weren’t allowed to stand up the servers inside the new data center – except in read-only mode.

Therein was the problem – we had many GB worth of

  [Read more...]
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...]
Notes on ALTER USER … PASSWORD EXPIRE
Employee_Team +3 Vote Up -0Vote Down

I’ve been looking at the new ALTER USER … PASSWORD EXPIRE command as I try to implement a comprehensive password policy for MySQL 5.6.  There’s a few aspects of this feature that I found interesting, and thought others might benefit from what I’ve learned.  Here’s a quick summary:

You can use ALTER USER … PASSWORD EXPIRE in prepared statements as of 5.6.8-rc

This is important because there’s no other way to dynamically bind ALTER USER statements to a user name and host, which is necessary if you are trying to automate anything related to password policies.  This wasn’t the case with earlier 5.6 releases, but was fixed in 5.6.8-rc:

mysql> SELECT password_expired
-> FROM mysql.user
-> WHERE user = 'root' AND host = 'localhost';
+------------------+
| password_expired |
  [Read more...]
Smarter InnoDB transportable tablespace management operations
Employee_Team +1 Vote Up -0Vote Down

I’ve noted previously that the new transportable tablespaces for InnoDB in MySQL 5.6 are a big step forward, and newly-released 5.6.9-rc makes importing tablespaces a bit easier.  In previous versions, you had to have a .cfg file to import the InnoDB tablespace.  That file is produced during FLUSH TABLE <tbl> FOR EXPORT operations, and contains InnoDB metadata that’s not contained in the .ibd tablespace file itself.  I filed a feature request requesting the .cfg file be made optional, and Sunny implemented it:

mysql> create table tt (a
  [Read more...]
Cost-based choice between subquery materialization and EXISTS
Employee +7 Vote Up -1Vote Down
In a previous post, I had demonstrated how subquery materialization, introduced in MySQL 5.6.5, improves the performance of certain queries, like query Q16 of DBT3. Such improvement was easily explained:
  • Subquery materialization has a high start up cost (it needs to create and fill the temporary table).
  • But afterwards it has fast lookups (temporary table has a hash index, no duplicates, and is in memory).
  • In other words, compared to EXISTS, the first evaluation of the IN predicate is slow (high start up cost) and all following evaluations are fast (just a hash lookup).
  • In the DBT 3 setup, one outer table (named "part") has 200,000 rows, so there

  [Read more...]
MySQL 5.6, GTID and performance_schema
+1 Vote Up -0Vote Down

Not much to add really to the bug I’ve filed here: bug#67159.

Again this GTID stuff looks good, but seems to prevent changes in the configuration of performance_schema, which I think is not appropriate, especially as P_S now has lots of extra goodies and after 5.6 will surely have even more.

MySQL-5.6, GTID and binlogs on slaves
+2 Vote Up -0Vote Down

Not much to add really to the bug I’ve filed here: bug#67099.

I personally can think of some very nasty consequences of applying this on the slaves I manage, and the reason I’m posting the bug is that while I guess this is too late to fix in 5.6 as it’s effectively a new feature, I’m sure many sites may bump into this and be somewhat disappointed if they want to use the new GTID feature and have several slaves.  Hence, if the fix/feature has to go into MySQL 5.7 then I hope it goes in sooner rather than later. We will see.

More GTID troubles in MySQL 5.6
+1 Vote Up -0Vote Down

A colleague, Kris, commented recently on a recent find I made on 5.6.7-rc1 which while not the end of the world does seem to severely limit the use of the new GTID features, or if nothing else make it a pain to use.

Today I found another related issue, when trying to check the syntax of one of the MySQL commands. That’s now reported as bug#67073.

All of these are sort of edge cases but do make 5.6 look a little rough round the edges, when the rest of the product is actually really good and a great improvement from The MySQL 5.5 GA version that everyone uses.  That’s really a shame.

I did report the Original problem as SR 3-6270525721 : MySQL 5.6.7-rc1, grants, replication and

  [Read more...]
Index merge annoyances fixed in MySQL 5.6
Employee +6 Vote Up -0Vote Down
While the index merge access types certainly are useful for a number of queries, there has been some frustration expressed both from customers and the community about how it...
  • is not used when it should have been
  • is used when ref access is obviously better
  • merges suboptimal indexes
  • is too restricted in which conditions can be used
  • I could come up with numerous examples of related bugs and feature requests dating back more than six years. To list a few: 17673, 30151, 23322,
      [Read more...]
    5.6, 10... Why Would You Care?
    +0 Vote Up -0Vote Down

    Sitting at the Hilton in San Francisco, listening to the MySQL Connect opening Keynotes, sparks interesting thoughts. Thoughts about the future of MySQL, the Oracle stewardship, the MariaDB alternative and the advantage of the solutions provided by the MySQL Ecosystem.
    But there is something missing. I know something is not part of this picture, but I can't figure out what it is.
    At the end of keynotes and pane,l I turn to the exhibitors area, an approx 800 sq ft., 50% occupied by Oracle. At the bottom left corner stands my answer. 
    The small yellow cubic hive of AWS was at the top of the rollup that reminds of MySQL and RDS, admittedly the most used version of MySQL in the cloud so far. And here is the missing part. 

    New great features in 5.6 Release





      [Read more...]

    5.6..10. How does it matter?
    +0 Vote Up -0Vote Down

    Sitting at the Hilton in San Francisco, listening to the MySQL Connect opening Keynotes, sparks interesting thoughts. Thoughts about the future of MySQL, the Oracle stewardship, the MariaDB alternative and the advantage of the solutions provided by the MySQL Ecosystem.
    But there is something missing. I know something is not part of this picture, but I can't figure out what it is.
    At the end of keynotes and pane,l I turn to the exhibitors area, an approx 800 sq ft., 50% occupied by Oracle. At the bottom left corner stands my answer. 
    The small yellow cubic hive of AWS was at the top of the rollup that reminds of MySQL and RDS, admittedly the most used version of MySQL in the cloud so far. And here is the missing part. 

    New great features in 5.6 Release Candidate and





      [Read more...]

    Replication and auto-failover made easy with MySQL Utilities
    Employee +3 Vote Up -1Vote Down

    If you’re a user of MySQL Workbench then you may have noticed a pocket knife icon appear in the top right hand corner – click on that and a terminal opens which gives you access to the MySQL utilities. In this post I’m focussing on the replication utilities but you can also refer to the full MySQL Utilities documentation.

    What I’ll step through is how to uses these utilities to:

    • Set up replication from a single master to multiple slaves
    • Automatically detect the failure of the master and promote one of the slaves to be the new master
    • Introduce the old master back into the topology as a new slave and
      [Read more...]
    Implementing a password policy in MySQL
    Employee_Team +3 Vote Up -0Vote Down

    In a previous post, I noted that the new new password verification plugin in MySQL 5.6 provides a basis for implementing a more comprehensive password policy.  Most notably, password policies include requirements around password strength, duration, and reuse.  While the password validation plugin focuses on password strength policy components, there are ways to roll your own processes in support of password expiration and reuse policy components.  Unlike the password verification plugin, the tools I will describe below don’t hook directly into account maintenance commands.

    You can download the full .SQL file (in a .ZIP package)

      [Read more...]
    Understanding InnoDB transportable tablespaces in MySQL 5.6
    Employee_Team +5 Vote Up -0Vote Down

    If you’re anything like me,  your initial reaction upon hearing about transportable tablespaces for InnoDB in 5.6 was to imagine it like MyISAM, where you can copy the .frm, .myi and .myd files around to your heart’s content, and everything will be great.  You might have read Sunny’s excellent blog, and realized that there’s a bit more to it than that – you have to explicitly prepare the tablespace for copying using FLUSH TABLES FOR EXPORT.  That’s perfectly acceptable for the bulk of use cases, such as single-table InnoDB backups, and opens up exciting new possibilities for moving or copying InnoDB data at the filesystem level.

    But for situations where the need is a little different, you might really

      [Read more...]
    New 5.6 password verification plugin (and impacts to PASSWORD() function)
    Employee_Team +2 Vote Up -0Vote Down

    The recent MySQL 5.6.6 release includes a new password verification plugin.  This is a great tool for enforcing passwords that meet certain strength thresholds.  Quoting the options from the manual, there are three different criteria levels that can be applied:

    • WEAK policy tests password length only. Passwords must be at least 8 characters long.
    • MEDIUM policy adds the conditions that passwords must contain at least 1 numeric character, 1 lowercase and uppercase character, and 1 special (nonalphanumeric) character.
    • STRONG policy adds the condition that password substrings of length 4 or longer must not match words in the dictionary file, if one has been
      [Read more...]
    Deprecated in MySQL 5.6 – ignore_builtin_innodb
    Employee_Team +0 Vote Up -0Vote Down

    Back when MySQL 5.1 was first released, Oracle (which didn’t at the time own Sun or MySQL) wanted to add new InnoDB functionality faster than MySQL could effectively incorporate it into the server, and the InnoDB plugin was introduced.  It provided 5.1 users the option of deploying a more advanced version of InnoDB, or using the more conservative built-in version baked into MySQL.  By the time the plugin reached GA status, though, Oracle had announced the acquisition of Sun (and MySQL), and things started to change.  The coordination between the InnoDB development team at Oracle and the MySQL development team increased once we were all “under one roof”.  The strategic directions of InnoDB and MySQL were aligned, and the results can be seen in the tremendous work done for MySQL 5.5 and 5.6.  In fact, the

      [Read more...]
    Learn From MySQL Support Staff at MySQL Connect!
    Employee_Team +5 Vote Up -0Vote Down

    Members of the MySQL Support Team wear a number of different hats here at Oracle.  Obviously, our top priority is to provide amazing technical support that makes customers rave (http://www.mysql.com/support/quotes.html" target="_blank).  We also have a team dedicated to processing bug reports from the MySQL Community.  Some of us are active bloggers or assist on mailing lists or forums, while others find other ways to contribute to the MySQL Community.  We help out with QA and product planning, write

      [Read more...]
    Understanding mysql_config_editor’s security aspects
    Employee_Team +3 Vote Up -1Vote Down

    The recent release of 5.6.6 includes a new utility, mysql_config_editor, which makes it easier to interact with MySQL clients securely.  At the same time, it’s easy to overstate the security benefits of using this new tool, and unfortunately, I think a couple of statements in the release notes and documentation go a step too far (something we’re in the process of correcting).  Ronald quoted one of them in his blog:

    MySQL now provides a method for storing authentication credentials securely in an option file named .mylogin.cnf.

    This

      [Read more...]
    Bye-bye .MSI (Hello MySQL Installer)
    Employee_Team +4 Vote Up -1Vote Down

    Windows users of MySQL may find something missing when they first download MySQL 5.6.6.  The .MSI package of MySQL for Windows has been eliminated in favor of the MySQL Installer for Windows.  You can still download MySQL in .ZIP format (as well as a source code .ZIP for the GPL-licensed Community edition), but the quickest way to get running MySQL on Windows is the MySQL Installer.  You can download the version of MySQL Installer that includes MySQL 5.6.6 on dev.mysql.com.

    The MySQL Installer has a number of improvements over the old .MSI installer and configuration wizard.  Running the 5.6.6 installer on my machine, it detected that ports 3306 and 3307 were already used by other MySQL installations, and suggested port 3308 for the new installation.  It also recognized conflicts

      [Read more...]
    Deprecated in MySQL 5.6 – YEAR(2)
    Employee_Team +5 Vote Up -0Vote Down

    Back in April, I issued a challenge to identify any compelling use case for the YEAR(2) data type.  Months later, I still don’t have such a use case, and the release of 5.6.6 brings deprecation of support for the YEAR(2) datatype.  Trying to create a table with a YEAR(2) column in 5.6.6 or greater will result in conversion to YEAR(4) and a warning:

    mysql> SELECT VERSION();
    +-----------+
    | VERSION() |
    +-----------+
    | 5.6.6-m9  |
    +-----------+
    1 row in set (0.00 sec)
    
    mysql> CREATE TABLE y (y YEAR(2));
    Query OK, 0 rows affected, 1 warning (0.13 sec)
    
    mysql> SHOW WARNINGS\G
    *************************** 1. row ***************************
    Level: Warning
    Code: 1818
    Message: YEAR(2) column type is deprecated. Creating YEAR(4) column instead.
    1 row
      [Read more...]
    How will IPv6 changes in 5.6.6 affect you?
    Employee_Team +2 Vote Up -0Vote Down

    As stated in the 5.6.6 release notes, the default value of –bind-address has changed from IPv4-specific “0.0.0.0″ to “*” – the latter value which allows MySQL to bind to IPv6 interfaces by default.  There are a few implications to this change.

    First, make sure you’ve hardened both your IPv4 and your IPv6 access points to your MySQL server.  If you are running IPv4 interfaces only, you can also change the –bind-address value back to the previous default value of “0.0.0.0″.  Because MySQL now listens by default on both IPv4 and IPv6 interfaces, an installation that has only hardened IPv4 interfaces may

      [Read more...]
    Who’s leaking prepared statements?
    Employee_Team +2 Vote Up -0Vote Down

    In my last post, I described a specific problem with prepared statements into which PERFORMANCE_SCHEMA can give visibility.  That made me wonder whether PERFORMANCE_SCHEMA can also be used to identify other areas where prepared statements run into problems.  The most significant problem tends to be leakage of prepared statements.  This can inflate memory usage, both on the server and application side, and it’s not uncommon to find applications which fail to close prepared statements.

    So the question is, what can PERFORMANCE_SCHEMA tell us about how connections close (or more importantly, fail to close) prepared statements?

    At the most basic level, one can check the number of PREPARE statements executed compared to DEALLOCATE PREPARE, and you can do that using global status variables.  You’re shooting for general equality between

      [Read more...]
    Previous 30 Newer Entries Showing entries 31 to 60 of 60

    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.