If you’ve used the UNIX find command for more than a trivial find-and-print, you know how powerful it is; it’s almost a miniature programming environment to find and manipulate files and directories. What if you could do the same thing with MySQL tables and databases? That was the inspiration for writing this tool. I was about to write several other tools to do some MySQL administrative jobs when I realized I could generalize and make something much more useful and powerful.
And again we're on our mission to keep XAMPP up-to-date and put the first beta version of the upcoming XAMPP release in our public beta download area.
In this beta we updated both PHP versions (to 4.4.7 and 5.2.2) and phpMyAdmin (to 2.10.1). In the Windows beta we also fixed the security vulnerability published April 28th.
Get the downloads at XAMPP BETA.
XAMPP beta versions are always for testing purposes only. There will be no upgrade packages from and to beta versions. To all testers: Many thanks in advance!!
[b:3ch4df92]Update, May, 10th 2007:[/b:3ch4df92] The Linux beta now also contains the newly released MySQL 5.0.41. Windows beta follows asap. [b:3ch4df92]Update, May, 15th 2007:[/b:3ch4df92] Windows beta with MySQL 5.0.41 online.
With this post, I am starting another series of blog posts that
will help you become familiar of DTrace. You can then apply that
knowledge to find all the hidden performance goodies of MySQL on
Solaris 10. Sounds good?
DTrace is one of those tools that the more you use it, the more
you fall in love with it. To be fair, it is much more than a
tool, in fact it has its own language, D.
With DTrace you can enable probes by either their name or their
number. To see a list of probes available, run
[root@db31:/] dtrace -l | more[Read more]
ID PROVIDER MODULE FUNCTION NAME
1 dtrace BEGIN
2 dtrace END
3 dtrace ERROR
4 syscall nosys entry
5 …
I've semi-started a lot of blogs, will this one last?
My name is Jay Janssen. Amongst other things I am a MySQL guy
(tm) at Yahoo! This is a role that I more fell into, rather than
one I specifically applied for. My background is Operations,
somewhere between Coding/Developing and a System Admin/Colo Tech.
I've done both, to some extent, and what's great about Yahoo is
finding a lot of opportunity to set stuff up, see it run and fix
it when it breaks.
MySQL, of course, never breaks. Unfortunately this only really
true most often for the blogger, the guy on the hosted website or
on an old P-III 1 Ghz running Debian Sarge off of his cable
modem. These are the guys who don't know what hit them when
digg.com comes
around. In reality, the true test of any software is what happens
when you beat the …
The 3rd Barcamp Brussels is over, I was a bit dissapointed over the target audience of the first Barcamp, missed the second one, but the 3rd one was right where I expected it to be A healthy mix of technology, startup projects and the social aspect of technology.
I took my Tuxdroid with me, planned on having him tell the audience what they were twittering about, the idea was to take the logfile of my twitter jabber session and feed that to the text to speech deamon into Tux. I failed due to the lack of network hence incoming twitter stream, however the Tuxdroid proudly whacked its wings at the end of each talk :)
So about those talks :)
After Peter gave the startshot for the fight …
[Read more]
While there is quite a bit that can be done with read only
engines, writing data is entirely more fun :)
For our next lesson we are going to be doing exactly that. Unless
you are writing a blob store only engine you will need to deal
with fields, aka the columns you declare with a create table.
Placing these fields into some sort of format is required.
Different engines implement different written forms to disk. Most
transactional engines work in block formats, while stream designs
are common for engines which need high write performance.
There is no one right way to implement storage on disk, every
design has a trade off.
Let us look at XML. It is slow to parse and slow to read. XML
though is adored by many because it is a simple format that can
be ready by many applications.
For our example we are going to put together an XML engine, and
to that end we will use the …
Man, I can't believe it's been over a week since I returned from
the very great and exciting MySQL conference 2007. I got to meet
all my old and new friends. Big Kudos to Jay Pipes and all
MySQL'ers who helped make this event possible.
To me, this year's conference was the best ever. Partly because I
made the very wise decision of staying at Hyatt so I won't miss a
lot. At conferences like these the more you mingle with people,
the more you get out of it. I had some amazing conversations with
Mark Atwood, Brian Aker, Jay Pipes (I will never forget :)),
Jeremy Cole, Eric Bergen, Pascal (Yahoo! France), Beat Vontobel,
Markus Popp, Boel (MySQL HR), Christine Fortier, Marc Simony,
Govi (Amazon), the "R"s of MySQL (Ronald and Ronald), Sheeri
Kritzer, Carsten (certification), Ken Jacobs (Oracle), Kaj Arno,
Dean (MySQL Support head), Domas, Kerry Ancheta (MySQL sales guru
:)), Baron, Paul Tuckfield, Don MacAskill, Tobias, Peter Zaitsev,
Chip …
I’ve talked to several people that have questions about how alter table works under the hood. They want to know how it handles locking tables why they can sometimes use a table during alter table and other times they can’t. Also why it’s so slow
First let’s look at the basic process alter table typically goes through.
- If a transaction is open on this thread, commit it.
- Acquire a read lock for the table.
- Make a temporary table with new structure
- Copy the old table to the temporary table row by row changing the structure of the rows on the fly.
- Rename the original table out of the way
- Rename the temporary table to the original table name.
- Drop the original table.
- Release the read lock.
The slowest part of the process is copying rows from the original table to the temporary table. For large tables this can take minutes …
[Read more]Yes, I know there are a lot of software development "top n" lists out there, and many dealing with writing "-[i/a]ble" software (extensible, maintainable, saleable, etc), but personally I wanted to get these concepts that have been rattling around in my brain for sometime down somewhere and hopefully start a discussion around them. Even though this isn't a wiki, I'll probably end up treating this like a living document myself.
For a long time (in software years), I've been maintaining the code base for the JDBC driver for MySQL. I also work very closely with the support team on various connectivity-related issues (JDBC, ODBC, ADO.Net, P-this-or-that, etc.) that our customers have, and have had the (mis)fortune of debugging all kinds of problems in various stacks over the years.
Sometimes we (MySQL) make debugging more of a problem than it needs to be, and sometimes it's just inherent problems in the "stack". Given that I …
[Read more]Yes, I know there are a lot of software development "top n" lists out there, and many dealing with writing "-[i/a]ble" software (extensible, maintainable, saleable, etc), but personally I wanted to get these concepts that have been rattling around in my brain for sometime down somewhere and hopefully start a discussion around them. Even though this isn't a wiki, I'll probably end up treating this like a living document myself.
For a long time (in software years), I've been maintaining the code base for the JDBC driver for MySQL. I also work very closely with the support team on various connectivity-related issues (JDBC, ODBC, ADO.Net, P-this-or-that, etc.) that our customers have, and have had the (mis)fortune of debugging all kinds of problems in various stacks over the years.
Sometimes we (MySQL) make debugging more of a problem than it needs to be, and sometimes it's just inherent problems in the "stack". Given that I …
[Read more]