MySQL uses -O3 as the default level of optimization for gcc. Search for MAX_C_OPTIMIZE and MAX_CXX_OPTIMIZE in configure. The source RPM for MySQL on CentOS and RHEL uses -O2. Which do you use? I encountered 1 bug over the last 4 years that was resolved by using -O2 instead of -O3. Alas, the page checksum code in InnoDB is much faster when -O3 is used and it is not trivial to change the build to use -O2 for most code and -O3 for the InnoDB page checksum code. Eventually I will run performance tests to determine whether there is a benefit from -O3.
This is the 159th edition of Log Buffer, the weekly review of database blogs. Welcome.
MySQL
Sun’s Trent Lloyd cautions Watch out for hostname changes when using replication!, for there is a gotcha there.
Justin Swanhart was also in the cautioning business this week, saying Be careful with BETWEEN clauses, because the MySQL optimizer is not smarter than a fifth grader!. The readers say, that’s SQL.
Anyway, it’s probably unwise to underestimate the intelligence of a child. …
[Read more]
Disclaimer: This blog post is about things I did on my own
free time, not endorsed by my employer.
I have been meaning to look at Gearman for a long time, but I
just couldn't find any project where I could use it.
Well, that was true until last week a couple of weeks ago, when I
started to put together Drizzle, the Gearman logging
plug-in, Perl and the Enterprise Monitor.
As I was finishing writing the agent.pl script, I thought that it
would be a good idea to split the script in at least two
components: one that would just collect the queries, and another
component that would do the processing of the log entries
(replacing the literals for "?", grouping queries by query text,
etc).
…
The autocommit variable is a session only variable, right? Easy
to confirm by:
mysql> select @@global.autocommit;
ERROR 1238 (HY000): Variable 'autocommit' is a SESSION
variable
But if I do this another way, I get a different result:
mysql> show global variables like 'autocommit';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| autocommit | ON |
+---------------+-------+
1 row in set (0.00 sec)
To me, this is a bug, right? But before I report it, I wanted to
see if you agree, or? Might there be stuff out there that relies
on this strange behaviour. And it gets worse, I'm afraid. In a
new MySQL session:
mysql> show session variables where variable_name =
'tmp_table_size' or variable
_name = 'autocommit';
+----------------+----------+
| Variable_name | Value |
…
Jay has already provided a good overview of the debate related to the apparent decline in the usage of the GPLv2. I don’t intend to cover the same ground, but I did want to quickly respond to a statement made by Matt Asay in his assessment of the reasons for and implications of reduced GPLv2 usage.
He wrote:
“as Open Core becomes the default business model for ‘pure-play’ open-source companies, we will see more software licensed under the Apache license”
I don’t doubt that we will see more software licensed under the Apache license, and also more vendors making use of permissively-licensed code, but I don’t see a correlation with the Open-Core model.
…[Read more]Well, just about anyway. Just added an ICQ contact method for the Kontrollsoft support team. We also have AIM, YIM, Jabber, IRC, Email, and Google Chat. Hit us up to ask any technical questions about the installation process, using the products, feature requests, to contribute to the open source software we provide, or if you [...]
This should be an interesting advance for Kontrollbase. I recently acquired a older dual 2ghz G5 PPC Power Mac running 10.5.8 and have just finished the installation of MySQL Community 5.0.85 (mysql-5.0.85-osx10.5-powerpc-64bit). I should note that the installation process is actually easier than it is on RHEL with RPMs. Quite nice. So, given this [...]
Next Thursday (September 3, 13:00 UTC), we'll
resume MySQL University sessions after the summer break with
Reggie Burnett, head of Connector/NET development, giving a
session on new features in Connector/NET 6.1.
For MySQL University sessions, point your browser to this page. You need a browser with a working Flash plugin. You may register for a Dimdim account, but you don't have to. (Dimdim is the conferencing system we're using for MySQL University sessions. It provides integrated voice streaming, chat, whiteboard, session recording, and more.) All MySQL University sessions are recorded, that is, slides and voice can be viewed as a Flash movie (.flv). You can find …
[Read more]
In this blog, I would like to mark myself as a power-user of
MMM. For more then 3 years now I'm engineering high-traffic
websites and none of them was a small project. In the beginning I
worked behind the livejasmin.com project (warning: NSFW!) which
is an Alexa top100 site and now I'm working at ustream.tv which
is in the top500 (so far). In this area, your greatest enemy is
downtime. Thousands of users want to see your dynamic content by
executing thousand of queries against your MySQL servers and what
they don't have is the patience and they don't even tolerate
critical security-upgrades. In both sites I mentioned above there
is no point in time during the day at which less then 10k
visitors are hitting the sites. Now one question comes up:
How can you do an upgrade on your MySQL servers or how can you
alter a larger table?
So you have a new feature and that means another index on a table
or you just want to upgrade your …
Deadlocks are a common occurrence in relational databases. They usually aren’t a problem until they start happening too frequently. Innodb can provide you with information about the latest deadlock in SHOW ENGINE INNODB STATUS. This can be useful for debugging but it’s almost impossible to get the rate at which deadlocks are occurring. This patch applies against MySQL 5.0.72sp1 and probably quite a few other versions. It adds a counter to show table status that tracks the number of deadlocks. In this example mysql-1> is connection 1 and mysql-2> is connection 2.
mysql-2> show global status like …
[Read more]