What does a MySQL Support Engineer do during his first hours of
vacation? Yes, napping. After that, he goes on the web and tries
out something new. Today: SugarCRM .. and struggeling a little with the
installation.
The problem? The installation (on MacOS 10.5) was successful, no
errors, but:
Sugar CRM 5.1.0c Files May Only Be Used With A Sugar CRM
5.1.0 Database
Logging didn't reveal anything, but the general query log did!
All DML statements were send to MySQL, but apparently not ..
committed? After looking in the code I noticed a lack of commit
statements.. Putting an explicit commit it worked, for the
`config` table.
What was the real problem?
[mysqld]
init_connect='SET AUTOCOMMIT=0'
Don't ask me why that was there, sometimes I do crazy stuff
testing things, but this setup should …
Here is my advice to MySQL. Take it or leave it. Time will tell whether I'm full of shit.
MySQL 5.1 is out the door. Awesome. Great job to all the folks who fixed the thousands of bugs over the last 3 years. MySQL 5.1 should be faster and more stable than 5.0 because of those bug fixes, and features like partitioning are welcome additions to the small percentage of MySQL users who need that functionality. And, even if there are some bugs in partitioning (what feature doesn't have any bugs?), the partitioning feature is as good or better than other competing products. Good job.
However, going forward, here is my advice to MySQL engineering: stop all work on new 6.0 features entirely. Don't scrap the features, just stop development on them now.
Take one month to figure out how to restructure MySQL engineering and priorities with the following steps:
Suggested Steps
Drop …
[Read more]
I've been involved with the Drizzle project since very soon after
it began, working on it on nights and weekends.
That has just changed. As of today, I'm no longer a MySQL
Professional Services consultant, instead I'm part of a new
division of Sun
Much of my time is to be spent working on Drizzle, with a focus
on plugin interfaces and making it work well in Extremely Large
distributed environments.
I will be blogging heavily about what I am doing. How I sort that
blogging out between my personal LiveJournal, my (mostly unused)
Sun employee blog, and maybe some other blog system, remains
TBD.
This is going to be fun.
Last week I had to confront one of those situations where you can’t really tell what is going on with a piece of software, and the final conclusion would sound completely crazy if postulated as the initial hypothesis. The regular MySQL commands and utilities fall short in these cases, so I had to resort to the three tools reviewed in this article.
The problem we were diagnosing was this: at some point in time, a number of queries that use to take less than one minute to execute, started to take between five to 15 minutes. We needed to get an insight into what was going on inside the MySQL server.
MySQL Tuner
At some point in a long diagnosis process, MySQL’s SHOW
[GLOBAL] VARIABLES and SHOW [GLOBAL] STATUS
are nothing more than a long list of numbers. Going through a
team mate’s notes on another issue, I came across MySQL Tuner. This is
an …
This Thursday (December 18th), Martin "MC"
Brown will talk about using DTrace with MySQL. MC is the Solaris (and,
naturally, DTrace and ZFS) expert on the Sun Database Group
documentation team. He's helped the openSolaris team port MySQL
to openSolaris.
Note that we'll be using a new session address / Dimdim URL:
http://webmeeting.dimdim.com/portal/JoinForm.action?confKey=mysqluniversity
You can bookmark this address, since it will remain valid for all
future MySQL University sessions. Remember, though, that the
meeting room will open only 15 minutes before the session
starts.
Dimdim is the conferencing system we're using for MySQL …
[Read more]Back in October last year a corporate accountability group called As You Sow attempted to persuade Oracle to detail its commitment to open source by publishing an Open Source Social Responsibility Report.
Oracle resisted the proposal but did promise to share more details on its use of open source in the next version of its Oracle’s Commitment social responsibility report. I just noticed that the renamed Oracle Corporate Citizenship Report (Pdf) was recently published (in late November as far as I can make out) and does indeed include a section on Oracle’s commitment to open source.
In the section “Open Source and Accessibility” Oracle notes that …
[Read more]MySQL has a problem: the project has become so important that many have forgotten the company at its heart.
I have created a new tool, called xtstat, for analyzing the
performance of the PBXT storage engine.
The way it works is simple. PBXT now counts all kinds of things:
transactions committed and rolled back, statements executed,
records read and written, tables and indexes scanned, bytes read,
written and flushed to various types of files: record, index,
data logs, transaction logs, and so on.
A SELECT on the system table PBXT.STATISTICS (or
INFORMATION_SCHEMA.PBXT_STATISTICS if PBXT was built inside the
MySQL tree) returns the current totals of all these counters.
xtstat does a SELECT every second on this table and prints the
difference. In this way, you can see how much work PBXT is doing
in each area.
There are currently 48 different statistics:
To ensure all this counting does not itself cost any performance,
each thread counts for itself, so no locking is required. The
SELECT on …
One thing we were guessing at with Massimo yesterday is, if you
store
large blobs as disk data, how much will they consume DataMemory
and
IndexMemory (primary key, each "chunk" has a hidden primary key,
first 25x bytes
of blob stored in memory...)?
My empirical test showed that about 2% of the total size
of blobs is needed for RAM
(25% of that is IndexMemory).
IMHO this is close to negligible, but in many situations not
negligible
at all (may have close to TB of disk data -> 20GB of RAM
needed for
disk data).
Also note that this is a minimum figure. If you actually have
something
else than the blob (like other indexes) you of course use much
more RAM.
The test was:
CREATE TABLE `jpgtest` (
`id` int(11) NOT NULL,
`jpg` blob,
PRIMARY KEY (`id`)
) TABLESPACE ts_1 STORAGE DISK ENGINE=ndbcluster;
Late last week Open Query quietly launched its new subscription offering for MySQL support.
Essentially, you commit to a number of hours per month for a
number of months, and Open Query delivers appropriate resourcing.
You can sign up for a minimum of 2 hours per month, and the cost
per hour is quite low because a) we prefer to build a long-term
relationship with our clients and b) the cost structure of Open
Query enables this and we're proud of it!
We've designed this offering to provide an equal arrangement
between Open Query and its clients, and to be in line with our
vision of education and "optimisation by design" rather than
simply trouble-shooting. Years ago, Monty used to describe MySQL
Support in terms of insurance, and that seemed reasonable at the
time. It's useful to have insurance, but when building a new
house or renovating an existing one you'd be …