The MySQL Table Checksum , part of the MySQL Toolkit (having to be renamed soon ) is an invaluable community tool for use with MySQL. Most sites or installations of any volume will use MySQL Replication for one purpose or another, be it for read scalability, backups, testing, upgrading etc.
Welcome to the 70th edition of Log Buffer, the weekly review of database blogs. In honour of the start of cold-and-flu season, we start with an item on blob streaming. Paul McCullagh, the developer of the PBXT storage engine for MySQL, has made available his presentation on the BLOB streaming project, on his PrimeBase XT blog. [...]
Last week, Hyperic hosted a gaming party at their offices, with plenty of open source people there from MySQL, MuleSource, JasperSoft and others. Ross Mason, co-founder of MuleSource, flew in all the way from Malta, just to play some Wii Tennis. (Ok, maybe he did have some other meetings in town, but I'm sure this was the highlight.) While I was quickly eliminated in the Wii Tennis matches, I had a good time playing the latest version of Guitar Hero III. Not as good as Javier, who obviously is not busy enough given his 200 note streaks, but still respectable... READ MORE
mysqlsla v1.7a has been released. It fixes a strange bug for general logs with connection IDs greater than 10 million.
The 1.5.2 release of innotop contained two bugs, one very minor. The other was a crash because of the new functionality that aggregates results across many connections. I fixed them and released version 1.6.0, which I consider stable and ready for everyone to use. (My version naming convention for innotop is that even-numbered minor versions are for production use; odd-numbered, such as 1.5.2, are the development branch. That's why I release them under the innotop-devel package).
Your comments are welcome for the 1.8 roadmap.
I just got a question from Dirk Bonenkamp. He has a query which returns a number of contacts, but he wants to get no more than 5 contacts of per customer. After thinking really hard, I came up with a solution using variables and a subquery.
To test this idea, I used the ‘world’ database available at MySQL dev zone. This query selects no more than 5 countries per continent.
SET @a=0; SET @b=""; SELECT Name, Continent FROM (SELECT @a:=IF(@b=Continent, @a+1, 0) AS a, Name, @b:=Continent AS Continent FROM Country ORDER BY Continent) AS t WHERE a < 5;
This isn't one of the nicest looking solutions, but it works. Do you have a better solution? Please let me know :).
Warning the following post has very little to do with MySQL and
has a good chance of ?ranting?.
Now some of you don't know this, but I live in Beijing, China. I
originally came here to study 1 semester of Chinese and stayed.
At some point, I wanted to try my luck in the job market and I
found one working with a European company that has an office in
Beijing.
Foreigners in Beijing
Foreigners in Beijing are treated very differently, especially
when it comes to salaries. Foreigners can get paid 2-3 times the
amount the local people get. This is mainly because (and there
are still on going arguments about this) of the exchange rate.
Chinese currency is lower then US dollar or Euro so when you
arrive here, your money is worth a lot more. Also, things here
(depends of course if you goto the markets to get ripped off)
don't cost as much as in America or Europe, including rent.
The salaries that …
A few times now, I've been wanting to write this down. I know: a
lot of people will go *shrug*. Others may find me
pedantic. Some of will say I'm being a smart-ass. Whatever...but
I just got to write down a few of these common misconceptions
that keep floating around.
None of these misconceptions are really harmful - in most cases,
they do not lead to misunderstanding or miscommunication.
However, when you are writing about these subjects,
you'll often find that a sloppy definition you used in some place
will bite you in the tail, and make it harder to explain
something later on. So, that is why I from time to time get kind
of obsessed with finding just the right words.
I'm not pretending I have the right words though. But there are a
few informal ways of saying things that at a glance look right
but are in fact wrong. Here's a random list of some of
them:
-
PRIMARY …
New:
- Updated NDB Compressed LCP and BACKUP patches (now with O_DIRECT support)
- InnoDB patch for Windows that should give ~5x improvement on commits/sec (Bug31876)
- Everything in current telco-6.3 tree (ndb ~6.3.5)
- Lots of NDB improvements and new features over regular
5.1.
-
- WL3686 Remove read before update
- WL2680 NDB Batched Update
- WL2679 NDB Batched Delete
- WL4108 NDB Handler statistics
- WL4096 NDB Realtime performance and settings
- WL3126 and WL3127 Client and Replication bind address
- NDB Online ALTER TABLE ADD COLUMN
- NDB Multi-Master replication conflict resolution …
-
- Lots of NDB improvements and new features over regular
5.1.
I?ve recently done a quick scalability test with MySQL 5.0 and 5.1 to check the new auto-inc patch with InnoDB and to see how MySQL 5.1 scales with InnoDB:
New in MySQL 5.1: innodb_autoinc_lock_mode = 1
(?consecutive? lock mode)
With this lock mode, ?simple inserts? (only) use a new locking
model where a light-weight mutex is used during the allocation of
auto-increment values, and no AUTO-INC table-level lock is used,
unless an AUTO-INC lock is held by another transaction. If
another transaction does hold an AUTO-INC lock, a ?simple insert?
waits for the AUTO-INC lock, as if it too were a ?bulk
insert.?
http://dev.mysql.com/doc/refman/5.1/en/innodb-auto-increment-handling.html#innodb-auto-increment-configurable
This fixes the …