I have a soft spot for hierarchical databases. My first
database-related job was programming in M/Mumps. I know the
standard history of databases says that hierarchical databases
are a relic of the past, and that, thanks to Codd, relational
databases solve many of the problems of hierarchical (and other
kinds of) databases. I like relational databases – I was an
Oracle DBA, I’ve worked with DB2, Sybase, Postgres, mSQL, others,
and now MySQL. I really like InnoDB. However, I am
occasionally sad that hierachical databases seem a thing of the
past.
Or are they? Yesterday I had a thought that hierarchical
databases are much more widely used than relational
databases. In fact, maybe every single computer has a
hierarchical database that is used by every computer user,
whether they have database software installed or not. The
file system! Isn’t that a hierarchical database? The
idea …
Twice last week, a developer wanted to convert the existing datetime values in a database to UTC. The datetime values were the default for the server, which was the US/Pacific time zone, which is subject to Daylight Saving Time changes. Both developers for both applications wanted to convert all the times to UTC, so there would not be any changes due to Daylight Saving Time, and asked me for an easy query to know which times should be changed by adding 7 hours and which times should have 8 hours added to them.
The good news is that MySQL has some built-in functionality to make this easier. You may know about the CONVERT_TZ() function in MySQL, and that you can use it in a query to convert times like this:
mysql> SELECT CONVERT_TZ(NOW(),'-8:00','-0:00');
+-----------------------------------+
| …
Last week I had an enlightening experience. It may sound strange,
but I found I have super powers... let me explain.
I had a meeting with a big customer of mine to show the value of
MySQL Enterprise and Cluster CGE and to share with them the
latest and greatest features available in our commercial
offerings. During the discussion I said: "Imagine if your MySQL
database has a problem at 3pm. Thanks to My Oracle Support and
MySQL Enterprise Monitor you can quickly resolve your issues and
restore the service".
| MySQL Enterprise Monitor |
Well, this is exactly what happened at 2.50pm... I missed the
prophecy by just 10m and found I have super powers!
You could imagine how happy the …
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.
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.
Updated: 2013-09-19
I probably should have updated this earlier but it does seem that Oracle have taken these comments on board. See: WL6559. It looks like they plan to do this for 5.7 which is good news. I’m really hoping …
[Read more]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 GTID cause problems, but of course that’s …
[Read more]As part of a recent engagement, I described the relative products to manage a MySQL pair (i.e. an Active/Passive MySQL masters configuration). This included the steps to undertake a controlled failover for supporting software maintenance using manual procedures. The upcoming Effective MySQL: Replication Techniques in Depth book details each step and all conditions to review over a dozen pages. While the steps are straightforward and generally well known, scripting this for your environment takes a certain amount of work to ensure your information is correct, and application connectivity loss is kept to a minimum.
In Continuent Tungsten (which I have just been reviewing these past few weeks), I achieved the same result with a single command.
$ echo "switch" | /opt/continuent/tungsten/tungsten-manager/bin/cctrl
In addition to all the …
[Read more]This month I have joined the team at Continuent. No stranger to the MySQL ecosystem, Continuent provides replication and clustering technology for managing data between MySQL, Oracle, PostgreSQL, Vertica and a growing list of data stores.
I have known many of the team at Continuent for some time, and will again be joining Giuseppe Maxia from our days at MySQL Inc/AB starting back in 2006.
I am looking forward to taking the hard work out of administration of MySQL systems with the simplicity of Continuent Tungsten, simplifying tasks including automatic failover, multi-master and geo cluster redundancy to a single command.
Catch me speaking at the upcoming MySQL Connect (San Francisco) and …
[Read more]I’ve blogged before about the way to use numactl to start up mysqld, and thus to try to better spread the memory usage on larger memory servers. This came from an article by Jeremy Cole and is fine. I recently had some issues with mysqld seeming to run out of memory on a box which appeared to have plenty free, so it seemed like a good idea to adapt a minutely collector script I run to include the numa_maps output so that I could see if the failed memory was related to this. So far so good.
Many of the clients that connect to the database servers I manage have a very short connect timeout, typically 2 seconds. In a normal network and under normal conditions this is more than enough to allow for successful operation and if the connect does …
[Read more]I had need today to download a version of MySQL 4.1 to test something. The MySQL Developer Zone archives no longer provides any software before 5.0.
While this may have long reached EOL and is no longer support, customers still do run this version of MySQL.
Anybody that can help out with binaries (on several OS’s), it would be appreciated.