Last night I performed an upgrade of 5 of our production servers
to version 5.0.52 ( solaris 10 / 64 bit x86). We have been
testing for over a month and in the 11th hour discovered that
there is a bug in the mysql command line
utility.
I was creating a blank copy of one of our production databases (
schema only) on an upgraded test system using a script generated
by our design tool. During this, I encountered an interesting
error that prevented the creation of a table with a column named
"extra_file_delimiter". Further testing revealed that the 5.0.52
through 5.0.54 releases have a bug in the mysql
client which parses the word "delimiter" incorrectly.
As a work-around, I've also deployed the 5.0.50 release in a
separate directory and replaced the 5.0.52 mysql
utility with a symbolic link to the 5.0.50 version. Ugly for
sure, but we decided to do that since we had so much …
Today I am introducing my first open source contribution to MySQL: MyQ Gadgets. These are a small collection of tools I wrote to make it easier to see what is going on inside of a running MySQL server. There's nothing magical about them, they simply collect values from SHOW STATUS, SHOW SLAVE STATUS, and SHOW INNODB STATUS and present them in an easier-to-digest format similar to that of iostat (for those who are familiar with it). Here's an example of some data from SHOW INNODB STATUS:
./myq_innodb_status -h mysqlhost.domain.com -u user -p password -t 20 row Inno Engine (/sec) Buffer (/sec) (%) Log OS (/sec) Semaphores time read ins upd del new read wrte full dirt hit io/s read wrte fsyc spw rnds osw 16:10:55 3.8k 9.8 9.7 0 0.3 0 13.7 93 13 100 14.1 0 19.4 14.7 30m 94m 485k 16:11:15 1.0k 10.0 4.8 0 0.3 0.1 17.6 93 13 100 11.5 0.1 20.0 12.4 3.0 21.0 1.0 …[Read more]
If security is a process, Oracle's users have checked out of the process completely. As CNET's Dawn Kawamoto reports, two-thirds of Oracle users report that they have never installed an Oracle Critical Patch Update (CPU). That's "never" as in "not ever."
The data comes from a survey of Oracle database administrators, consultants, and developers by Sentrigo. It's shocking.
Perhaps it's also a testament to the robust security of Oracle's products. Let's assume that the respondents to this survey are representative of Oracle users generally. With 66% of Oracle's databases essentially unprotected and yet rarely compromised, that says something about their quality.
Or maybe it just means that database hackers are lazy. …
[Read more]I haven’t written anything in a while about the MySQL Meetup I host in Silicon Valley, but I though the new year would be a good time to invite everyone to attend.
The Silicon Valley MySQL Meetup is hosted at Google’s campus in Mountain View. We regularly have open Q&A sessions, where we collect everyone’s questions, and then go through them one by one discussing, answering, and adding more questions. We stop when we run out of questions, or time. (Usually time runs out first.) Sometimes we’ll have myself or someone else with an official presentation.
Come on out for tonight’s Meetup (open Q&A), I’ll see you there!
So I have a constant battle with Charter Cable - high speed internet at home. Constantly causing all kinds of problems. So I decided to make a little script that runs from cron every minute that will track my outages in a single table database. Then I’ll be graphing the outages in real-time via jpGraph [as seen here]. Here’s the simple code.
The database table create script for
router_uptime
CREATE TABLE `response` (
`id` bigint(32) NOT NULL auto_increment,
`state` tinyint(1) NOT NULL,
`ip_address` varchar(15) NOT NULL,
`Creation_time` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3833
;
The Script
#-(0)> cat check_ping
#!/bin/sh
…
For several years I have been wondering if there was a RDBMS that serves as a message queue as well1. And in the end of last year, noticing that MySQL 5.1 with support for pluggable storage engine was entering its RC stage, and that (from little googling) nobody was creating such storage engine, I dicided to write my own.
Q4M (Queue for MySQL) is a message queue that works as a
pluggable storage engine of MySQL 5.1, designed to be robust,
fast, flexible. The development started in late December of 2007,
and although it is very primitive, operates quite swiftly.
q4m.31tools.com
Yes, it is primitive, and might have stability problems (I do not recommend using Q4M in a production environment), but if you are interested, please have a try.
1: At least Oracle seems to, but I never had a chance to use it.
The latest release of DBD::Oracle is now ready and can be found at: CPAN DBD::Oracle. It is a Perl module that works with the DBI module to provide access to Oracle databases. It is maintained by me, John Scoles as open source/free software, under the auspices of The Pythian Group. The release has been fully tested [...]
Fast arrays, wild women, crazy nights… and database access times to disk based files. Here are some results from various dev servers I have.
2x 147GB SCSI U320 drives in hardware
RAID-1
#-(root@sunfire)-(/home/user)-#
#-(0)> hdparm -t /dev/mapper/VolGroup00-LogVol00
Timing buffered disk reads: 172 MB in 3.02 seconds
= 56.93 MB/sec
#-(0)> hdparm -T /dev/mapper/VolGroup00-LogVol00
Timing cached reads: 1450 MB in 2.00 seconds =
724.77 MB/sec
2x 10GB SCSI U160 disks in software RAID-1
#-(root@sgi)-(~)-#
#-(0)> hdparm -t /dev/md0
Timing buffered disk reads: 36 MB in 3.19
seconds = 11.28 MB/sec
#-(0)> hdparm -T /dev/md0
Timing cached reads: 306 MB in 2.00 seconds = …
While some colleagues have already arrived in Orlando to meet
fellow MySQLers, my plane from FRA to MCO (via DTW) does not
leave until 10:20am tomorrow. Currently I am staying at my
parents' place in Heidelberg, from which I will be picked up by
an airport shuttle service early tomorrow morning (5:40am,
ugh!).
I am looking forward to meeting with the other members of my team
as well as old and new colleagues from the different departments.
There seems to be some kind of outdoor team building event taking
place on Wednesday afternoon - we have been split up into mixed
groups and were asked to bring comfortable clothes and a light
sweater or jacket. I hope I am not too jetlagged by the end of
the day...
This will be my fourth MySQL staff meeting - when I joined the
company in 2002, I was lucky to attend the third staff meeting in
St. Petersburg, Russia right during the first week when I started
my new job. Back then, we …
… is coming soon. We were just about to release beta 5.0.12 out into the wild on friday, but it looks as if it wasn’t meant to be. I found some nasty issues in the latest fixes we did, so we had to correct those before we can set it free.
Again many bugs have been fixed since version 5.0.11 so stay tuned for the upcoming new release.